Commit Graph

504 Commits

Author SHA1 Message Date
flan
c1b88c24f9 Make JSON check less lame 2017-11-03 00:19:52 +01:00
flan
910e557776 Rename username2dirname() to userdir() 2017-11-03 00:17:22 +01:00
flan
33868f013d Don't assume a non-SyncCollectionHandler operation is handled by SyncMediaHandler 2017-11-03 00:17:22 +01:00
flan
a52c213088 Make operation_download() and operation_hostKey() return response body
This is more consistent, as all other handlers do the same.
2017-11-03 00:17:16 +01:00
flan
6e84242cc5 Use logging.warn() instead of print() for the auth warning 2017-11-01 19:56:38 +01:00
flan
17331136ca Use print functions everywhere 2017-11-01 19:48:35 +01:00
flan
cb18fcb04a Move old_client() outside classes 2017-11-01 19:48:03 +01:00
flan
a7e29c56f4 Patch anki using git apply 2017-11-01 18:42:43 +01:00
flan
bf02a98a93 Update test_meta() for Anki >=2.0.27 2017-11-01 18:13:35 +01:00
flan
97382f3eb8 Fix check for AnkiDroid 2.3 2017-11-01 18:06:13 +01:00
flan
e1f7c422df Show failing versions when testing _old_client() 2017-11-01 17:45:47 +01:00
flan
85c9b85c1f Make _old_client() support alphas/betas 2017-11-01 17:43:47 +01:00
flan
2dc1f28b04 Move version checks to a separate function, add test 2017-11-01 16:49:07 +01:00
flan
8195e58e3b Make parts of SyncUserSession more readable 2017-11-01 15:36:37 +01:00
flan
bdcbb9eced Note which commit motivated creation of test_login() 2017-11-01 04:35:02 +01:00
flan
6617398921 Don't hardcode location of sqldiff 2017-11-01 04:09:13 +01:00
flan
ce3aa4a685 Make DB utils more general 2017-11-01 04:09:09 +01:00
flan
55bdbfacaa Remove unused lines 2017-10-30 19:56:17 +01:00
flan
39f3ee110d Make test file names follow a single convention
Makes it possible to run all tests by executing
`python -m unittest discover ./tests`.
2017-10-30 19:28:56 +01:00
flan
765cce3d74 Move hostKey handling to a separate function 2017-10-30 19:23:32 +01:00
flan
ce6433b9ba Add functional tests for authentication 2017-10-30 19:19:04 +01:00
flan
3792c89ecb Fix authentication
c7d7ff3e85 broke it
2017-10-29 19:36:51 +01:00
flan
3f3e2f4df4 Fix inconsistent indentation of README code blocks 2017-10-29 04:29:44 +01:00
flan
bf1bf4de72 Add some context from upstream README 2017-10-29 04:21:22 +01:00
flan
6154cfde62 Don't leave an empty directory in cwd after running tests 2017-10-28 23:40:42 +02:00
flan
e464592a57 Add gitignore 2017-10-28 23:18:18 +02:00
Christoph Mack
c805468449 Refactor ankiserverctl.py to delegate database operations to SqliteUserManager and use python3 compatible print calls. 2017-10-28 23:13:46 +02:00
Christoph Mack
c7d7ff3e85 Merge SyncApp's SqliteUserManager and the newly introduced UserManager and group all user managers in user_managers.py. 2017-10-28 22:45:27 +02:00
Christoph Mack
573aeece81 Add more test helpers and integration tests for SyncApp's media sync feature using WebTest's TestApp.
Add test helpers for creating, inspecting and manipulating instances of SyncApp and RestApp.
Add subclasses of Anki's RemoteServer and RemoteMediaServer for communicating with the wrapped SyncApp instance under test.
Add helpers for monkey patching Anki's MediaManager and DB for easier testing.
Add test assets directory.
2017-10-28 22:36:48 +02:00
Christoph Mack
cb574aa0a7 Add test helper classes for creating and managing temporary files, working with anki collections and sqlite dbs. Add class for
managing users so users can be added programmatically without using ankiserverctl.
2017-10-28 21:55:19 +02:00
Christoph Mack
28e950c138 Added unit tests for SimpleUserManager, SqliteUserManagerTest, SimpleSessionManager and SqliteSessionManagerTest. 2017-10-28 21:20:47 +02:00
Christoph Mack
6e881bfb85 Added unit test for SyncCollectionHandler. Moved CollectionTestBase to a separate file. 2017-10-28 21:19:50 +02:00
flan
99adc658d5 Remove support for legacy modules 2017-10-28 20:43:24 +02:00
flan
86b63d51b5 Remove superfluous/outdated instructions 2017-10-28 20:40:32 +02:00
Christoph Mack
2cb5871ba3 Safer handling of uploaded database files during full sync.
Before overwriting its version of a user's collection database file with one uploaded by the client, the server now performs a basic integrity check using SQLite's 'pragma integrity_check'.
2017-10-28 20:02:59 +02:00
Christoph Mack
f3788fc2c8 fix syntax error causing failure in error handler in SyncMediaHandler._remove_media_files() 2017-10-28 19:58:34 +02:00
flan
67830218eb Drop support for Anki <2.0.27 2017-10-28 19:55:50 +02:00
flan
b0cb424770 Use os.path.join() for path concatenation 2017-10-28 19:55:50 +02:00
flan
ceb931519d Bring back authentication 2017-10-28 19:55:40 +02:00
flan
48cfa9a029 Remove unused lines 2017-10-28 18:25:23 +02:00
flan
4a9ee4d40c Rewrite command handling 2017-10-28 17:54:58 +02:00
flan
91b5a6e052 Remove redundant messages 2017-10-28 17:50:43 +02:00
flan
098c9dff4a Use user-prefixed data directory by default 2017-10-28 17:35:38 +02:00
flan
16d8bd9b78 Drop service management from ankisyncctl 2017-10-28 17:04:24 +02:00
flan
bd2c5bdff9 Remove SSL support
If there's a need for SSL, you can always use a reverse proxy or
a more advanced WSGI server.

This reverts commit 1678890d3d.
2017-10-28 05:50:18 +02:00
jdoe0
c398ccdb89 Apply @ndl's patches
The patches fix the issue where syncing across different profiles will
always trigger a full sync if there's any change in either of the
profiles.
2016-11-03 22:32:19 +07:00
jdoe0
1678890d3d Add SSL support 2016-06-25 23:59:59 +07:00
jdoe0
e093e3981e Update README.md 2016-04-05 23:30:30 +07:00
Christoph Mack
e32bceccf3 Not only add, but also remove files when adopting changes to client media files in SyncMediaHandler.uploadChanges().
Count added and removed files as processed and increment media usn accodingly.
Refactor SyncMediaHandler.uploadChanges().
2016-04-05 23:24:12 +07:00
Christoph Mack
87ee726d25 Define skey once when creating user session, not each time when beginning media sync. 2016-04-05 23:24:00 +07:00