Commit graph

491 commits

Author SHA1 Message Date
Houkime 92612906ef test(service): enabled status get 2024-01-08 13:12:27 +00:00
Houkime 728ea44823 test(service): startstop 2024-01-08 13:12:27 +00:00
Houkime 7808033bef test(services): check id and status 2024-01-08 13:12:27 +00:00
Houkime 9bf239c3a8 test(services): disable usual services for testing 2024-01-08 13:12:27 +00:00
Houkime 87248c3f8c test(services): add services query generator 2024-01-08 13:12:27 +00:00
Houkime 7ef751db98 test(services): break out graphql basics 2024-01-08 13:12:27 +00:00
Houkime 6e9d86e844 test(backup): break out dummy service fixture 2024-01-08 13:12:27 +00:00
Houkime 69a05de3d7 test(backup): ensure we actually call backup fixture and related resets 2024-01-08 13:12:27 +00:00
Houkime 85c90105ea test(backup): ensure we use correct repo folder 2024-01-08 13:12:27 +00:00
Houkime 011e052962 test(backups): more checks regarding tmpdirs and mounting 2024-01-08 13:12:27 +00:00
Houkime d34b98e27b test(rest-dismantling): remove user tests with gql counterparts 2024-01-08 13:12:27 +00:00
Houkime 7c8ea19608 test(rest-dismantling): remove system tests with gql counterparts 2024-01-08 13:12:27 +00:00
Houkime cda8d70bd9 test(rest-dismantling): remove auth tests after confirming gql counterparts exist 2024-01-08 13:12:27 +00:00
dettlaff 372eadd306 tests: fix test_parse_line 2023-11-29 13:02:59 +04:00
Houkime 993b58d52d beauty(backup): remove stray comments and imports, format 2023-11-20 11:29:42 +00:00
Houkime 4339c00058 test(backups): test the trimming task 2023-11-17 15:53:57 +00:00
Houkime f1a452009a refactor(backups): only async snapshot trimming 2023-11-17 15:39:21 +00:00
Houkime 96bff873a9 test(backups): use backup fixture (weird, i surely used it before) 2023-11-17 14:33:03 +00:00
Houkime e414f3b8fd fix(auth): fix timezone issues with recovery tokens 2023-11-13 09:15:12 -07:00
dettlaff 3be5816f51 fix: del unused return from parse line 2023-11-12 01:38:31 +04:00
dettlaff 9114bc6ae0 fix: remove unused imports 2023-11-12 01:13:14 +04:00
Houkime 1bbb804919 test(auth): token tests clearer about timezone assumptions 2023-11-10 17:40:52 +00:00
Houkime dd6f37a17d feature(auth): tz_aware recovery 2023-11-10 17:10:01 +00:00
Houkime e78bcca9f2 test(auth): forced utc in recovery tests 2023-11-10 12:49:30 +00:00
Houkime 4d893d56b2 test(common): add forced utc times for tests 2023-11-10 12:38:12 +00:00
Houkime 8caf7e1b24 fix(backups): do not infinitely retry automatic backup if it errors out 2023-11-10 10:20:27 +00:00
Houkime a66ee2d3e5 test(auth): fix future expiring too fast 2023-11-01 16:46:36 +00:00
Houkime 3deaeb28c5 test(auth): fix assert_ok's wrt nested structure 2023-11-01 15:30:29 +00:00
Inex Code 829aca14be Merge branch 'master' into redis/connection-pool 2023-10-24 19:25:36 +03:00
dettlaff c0f8b9026b fix: corrected from comment from pr 2023-10-16 20:39:58 +04:00
dettlaff eda5923cc6 tests: fix query 2023-10-12 02:59:31 +04:00
dettlaff 98eef8d08e fix: tests, jobs.error return 2023-10-12 02:40:47 +04:00
dettlaff 0503db9856 Merge branch 'def/nix-collect-garbage-endpoint' of git.selfprivacy.org:SelfPrivacy/selfprivacy-rest-api into def/nix-collect-garbage-endpoint 2023-10-12 02:09:46 +04:00
dettlaff 3fbc93c998 tests: fix rename 2023-10-12 02:09:13 +04:00
dettlaff 5c42d7a907 refactor: problems from pr 2023-10-12 02:01:31 +04:00
Houkime ece3258c78 test(jobs): test out setting ttl 2023-10-10 20:25:14 +03:00
Houkime 0912ac1831 feature(jobs): set ttl via method 2023-10-10 20:25:14 +03:00
Inex Code 8b840d4c2c fix(backups): expose snapshot reason and set the default value 2023-09-09 09:52:20 +03:00
Inex Code 39baa3725b Merge remote-tracking branch 'origin/master' into quotas 2023-09-09 03:36:17 +03:00
Inex Code dedd6a9cc9 refactor(backups): use restic-like rotation policy 2023-09-09 03:26:41 +03:00
Houkime 56be3d9c31 fix(backup): trim auto-snapshots on setting the quotas 2023-09-08 16:22:53 +00:00
dettlaff ec404464d8 Merge branch 'master' into def/nix-collect-garbage-endpoint 2023-09-01 19:21:31 +04:00
Houkime 0dfb41a689 feature(backups): a task to autorefresh cache. Redis expiry abolished 2023-09-01 10:41:27 +00:00
Inex Code ad9384c850 fix(graphql): backup quotas field typing 2023-08-30 12:03:19 +03:00
Houkime 9fdc536f9f BROKEN(backups): hooking up quotas to API fails. AutobackupQuotas needs to be an input type, but if input type, it fails because it needs to be an Output type, which is not documented 2023-08-28 18:24:29 +00:00
Houkime a75a102df6 test(backups): test quotas with actual backups 2023-08-28 17:15:27 +00:00
Houkime 9207f5385c feature(backups): actual finegrained quotas 2023-08-28 17:02:45 +00:00
Inex Code ada89a2494 Merge branch 'master' into fix-restores-wrt-service-status 2023-08-25 19:01:16 +03:00
Houkime 0a852d8b50 fix(backups): consider failing services MORE and not try to stop them 2023-08-23 13:39:12 +00:00
Houkime b2c7e8b73a feature(backups): caps for autobackups 2023-08-21 12:45:31 +00:00
Houkime 1b9761293c test(backup): test reasons 2023-08-21 11:30:35 +00:00
Houkime 027a37bb47 feature(backup): remember the reason for making a snapshot 2023-08-21 11:11:56 +00:00
Houkime d621ca6449 refactor(backups): clean up unused mounting tools 2023-08-14 12:50:45 +00:00
Houkime c89f9cf89d feature(backups): do not rely on mounting 2023-08-14 12:43:44 +00:00
Houkime 69f6e62877 test(backups): more checks regarding tmpdirs and mounting 2023-08-14 11:59:44 +00:00
Houkime 2c9011cc87 fix(backups): robustness against stale locks: everything else 2023-08-09 15:18:20 +00:00
Houkime 0eb70e1551 fix(backups): robustness against stale locks: snapshot sizing 2023-08-09 14:46:27 +00:00
Houkime 26ab7b4d7b fix(backups): robustness against stale locks: is_initted 2023-08-09 14:27:14 +00:00
Houkime eca4b26a31 fix(backups): robustness against stale locks: backing up 2023-08-09 13:47:18 +00:00
Houkime 752a0b807e feature(backups): lock and unlock at will 2023-08-07 13:33:10 +00:00
dettlaff a316f8b910 tests: fix 2023-08-07 16:56:35 +04:00
dettlaff be8d249a04 fix: do a redis reset() 2023-08-07 16:41:42 +04:00
dettlaff 1640ed44f6 tests: add success check 2023-08-07 06:24:48 +04:00
Inex Code e6189e4e73 Merge branch 'master' into backups-forget 2023-08-04 12:46:08 +03:00
dettlaff 7c68f05040 tests: delete old, fix 2023-08-03 05:47:57 +04:00
Houkime 2934e2beca test(backups): test forgetting via API 2023-07-28 11:32:48 +00:00
Inex Code 829915029d test: Add test for getting root block device 2023-07-28 02:36:10 +03:00
Houkime 00317cc7e4 test(backups): erase repos between tests 2023-07-26 16:52:58 +00:00
Houkime cfa7f4ae59 feature(backups): add full repo erasure capability 2023-07-26 16:45:08 +00:00
Houkime ffec344ba8 test(backups): make the test repo overridable by envs 2023-07-26 14:26:04 +00:00
Houkime aa7cc71557 feature(backups):add a function to set provider from env 2023-07-26 11:54:17 +00:00
Houkime e9bb6d9973 test(backups):check that snapshot cache invalidation invalidates both ways. 2023-07-26 10:09:35 +00:00
Houkime 26488aa12f fix(backup):force backup function to return same length ids as when getting snapshots 2023-07-21 11:11:24 +00:00
Inex Code b01247bc55 refactor: remove legacy backups implementations 2023-07-20 20:11:42 +03:00
Houkime f4ac3d29a9 feature(backup):remove code for finegrained autobackup control 2023-07-19 15:36:25 +00:00
Houkime 466160dbf9 feature(backup):disable finegrain control over services to back up 2023-07-19 15:36:25 +00:00
Inex Code 3067d353d8 fix(backups): Do not remove failsafe snapshot after recovery 2023-07-19 15:59:29 +03:00
Houkime 926d0c27c5 test(backup): test moving preventing backups 2023-07-14 11:41:03 +00:00
Houkime e43478d437 feature(backups): stop services before restores 2023-07-12 16:53:49 +00:00
Houkime 7af7600599 feature(backups): stop services before backups 2023-07-12 16:43:26 +00:00
Houkime de8ef744eb refactor(backups): make a StoppedService context manager 2023-07-12 15:14:54 +00:00
Houkime 713296c520 test(backups): make delay settable per dummyservice 2023-07-12 12:27:55 +00:00
Houkime e7a6700522 test(backups): test async service start n stop simulation 2023-07-12 12:10:40 +00:00
Houkime 9075afd38a test(backups): test out that pre-restore backup plays nice with jobs 2023-07-07 12:50:20 +00:00
Houkime 53bb5cc4e2 feature(backups): forgetting snapshots 2023-07-05 13:13:30 +00:00
Houkime 3dc6fb91f2 refactor(backups): download a copy before replacing original 2023-07-03 20:41:52 +00:00
Houkime b6eb27dc5e feature(backups): mounting a repo 2023-07-03 15:32:00 +00:00
Houkime c5088e0e2c test(backups): remove the 100mb file after test 2023-07-03 15:32:00 +00:00
Houkime 953860a02c refactor(backups): move syncing (non-restic) into backup utils 2023-07-03 15:32:00 +00:00
Houkime 08cc7740b3 test(backups): actually list folders 2023-07-03 15:32:00 +00:00
Houkime 9793201ca1 feature(backups): a wrapper for rclone sync 2023-07-03 15:32:00 +00:00
dettlaff 66970e6375 fix: stupid russian C 2023-06-30 20:51:06 +04:00
Inex Code b480c84041 style: fix styling 2023-06-29 13:44:29 +03:00
Houkime cd2e9d3ba3 fix(jobs): make finishing the job set progress to 100 2023-06-28 13:22:53 +00:00
Houkime 3ee90617ba test(backup): make large testfile larger 2023-06-28 13:06:03 +00:00
Houkime e4865aa094 fix(services): proper backup progress reporting 2023-06-28 11:45:07 +00:00
Houkime ae16a527a2 refactor(backups): rename service_snapshot_size to snapshot_restored_size 2023-06-26 19:41:26 +00:00
Houkime b9be0be6a2 refactor(backups): privatize assert_restorable and restore_snapshot_from_id 2023-06-26 18:42:26 +00:00
Houkime 1593474dc1 refactor(backups): make redis and json provider related lowlevels private 2023-06-26 18:20:22 +00:00
Houkime 2f71469f39 refactoring(backups): backuper -> backupper 2023-06-23 12:04:33 +00:00
Inex Code e7e0fdc4a1 refactor(backups): fix typing errors 2023-06-23 12:40:10 +03:00
Inex Code c6919293b6 refactor(api): Group mutations
I've learned that there is no problem in grouping mutations like we do with queries.
This is a big mistake from my side, now we have legacy not so conveniently placed endpoints.
I've grouped all mutations, left the copies of old ones flattened in the root for backwards compatibility.
We will migrate to mutation groups on client side, and backups now only use grouped mutations.
Tests are updated.
2023-06-21 06:46:56 +03:00
Houkime e3a87f1d98 test(backups): ensure asking to reload snaps does not explode the server 2023-06-19 14:12:50 +00:00
Houkime 25f3115c05 test(backups): setting autobackup period 2023-06-19 13:28:02 +00:00
Houkime 612a46ee42 feature(backups): actually dealing with situation when the provider is not configured 2023-06-19 11:09:10 +00:00
dettlaff aa85b6963b Merge branch 'def/nix-collect-garbage-endpoint' of git.selfprivacy.org:SelfPrivacy/selfprivacy-rest-api into def/nix-collect-garbage-endpoint 2023-06-18 08:44:53 +04:00
dettlaff 83cf7cbd6f fix: jobs 2023-06-18 08:37:27 +04:00
Houkime f02e27cf06 test(backups): add a backend json reset test 2023-06-16 15:19:22 +00:00
Houkime 79c3b9598c feature(backups): resetting json config too 2023-06-16 15:09:39 +00:00
Houkime 8e1e37c766 test(backups): preliminary test of repo reset 2023-06-16 14:33:48 +00:00
Houkime 33c60f971d test(backups): test reinitting repository 2023-06-16 13:43:41 +00:00
dettlaff d6c4d458f7 tests: fix some tests 2023-06-16 08:08:36 +04:00
dettlaff 28701e1608 fix: do a redis reset() 2023-06-16 08:08:36 +04:00
ВашÐdettlaff 03b5a6b5e4 fix: percentage 2023-06-16 08:08:36 +04:00
def af0129bdfe fix: types, add tests 2023-06-16 04:06:49 +00:00
def 7553202a69 test: fix nix collect garbage, add tests 2023-06-16 04:06:49 +00:00
def 7e3adffb68 refactor: nix-collect-garbage is now pure 2023-06-16 04:06:49 +00:00
Houkime 9e0b0d8caa refactor(backups): make localfile repos normal 2023-06-14 14:07:51 +00:00
Houkime cbedd196e4 fix(backups): non-nullable service when backing up 2023-06-14 13:06:32 +00:00
Houkime 4862cdc72f test(backups): test restore 2023-06-14 13:00:39 +00:00
Houkime 17c7dffb07 test(backups): use get_data 2023-06-14 12:41:45 +00:00
Houkime 39cd4b714b test(backups): check snapshots getting created 2023-06-14 12:35:41 +00:00
Houkime 92322d8fad test(backups): test dummy service compliance 2023-06-14 12:08:07 +00:00
Houkime aa9d082adc test(backups): display errors from api 2023-06-14 11:54:24 +00:00
Houkime f1654c699c fix(backups): shorten snapshot query signature 2023-06-14 11:52:57 +00:00
Houkime 928f026e7c test(backups): snapshot query 2023-06-14 11:14:52 +00:00
Houkime 5fbfaa73ea feat(tokens-repo): add clone() method 2023-06-14 14:02:23 +03:00
Houkime 158c1f13a6 refactor(tokens-repo): switch token backend to redis
And use timezone-aware comparisons for expiry checks
2023-06-14 14:02:23 +03:00
Houkime 9cc6e304c0 test(tokens-repo): remove device order dependence from graphql test__api 2023-06-14 14:02:23 +03:00
Houkime e5756a0dd1 test(tokens-repo): cleanup recovery tests 2023-06-14 14:02:23 +03:00
Houkime 72fdd412d9 test(tokens-repo): complete the recovery test rework 2023-06-14 14:02:23 +03:00
Houkime 0b28fa2637 test(tokens-repo): rework limited uses test 2023-06-14 14:02:23 +03:00
Houkime 2d6406c8c1 test(tokens-repo): rework recovery expiration in the past 2023-06-14 14:02:23 +03:00
Houkime 18f5ff815c test(tokens-repo): rework expiring recovery key tests 2023-06-14 14:02:23 +03:00
Houkime ce4fbdae0a test(tokens-repo): check for token existense in recovery tests 2023-06-14 14:02:23 +03:00
Houkime de27032191 test(tokens-repo): move token utils to graphql common 2023-06-14 14:02:23 +03:00
Houkime 137ae58b42 test(tokens-repo): break out using recovery key 2023-06-14 14:02:23 +03:00
Houkime 92b2a67479 test(tokens-repo): use get recovery status in test of recovery use 2023-06-14 14:02:23 +03:00
Houkime 6cb9cc6d03 test(tokens-repo): use assert recent 2023-06-14 14:02:23 +03:00
Houkime 851d90b30c test(tokens-repo): break out getting recovery key 2023-06-14 14:02:23 +03:00
Houkime 503c9c99ef test(tokens-repo): break out getting status 2023-06-14 14:02:23 +03:00
Houkime d09cd1bbe1 test(tokens-repo): use assert_empty consistently 2023-06-14 14:02:22 +03:00
Houkime 1305144112 test(tokens-repo): complete untying graphql device tests from json 2023-06-14 14:02:22 +03:00
Houkime f5faf84a2b test(tokens-repo): move timewarping to test commons 2023-06-14 14:02:22 +03:00
Houkime 0aaa90f54a test(tokens-repo): shrink invalid new device test 2023-06-14 14:02:22 +03:00
Houkime 592d62f53f test(tokens-repo): untie double new device auth from json 2023-06-14 14:02:22 +03:00
Houkime 367ba51c9d test(tokens-repo): untie authorize new device from json 2023-06-14 14:02:22 +03:00
Houkime e739921835 test(tokens-repo): untie get and delete new device from json 2023-06-14 14:02:22 +03:00
Houkime 102d6b1c5c test(tokens-repo): delete get new device key standalone test
we can only see if device key is valid by using it or deleting it.
another test does it
2023-06-14 14:02:22 +03:00
Houkime 6eb5800e4e test(tokens-repo): untie refresh token testing from token repo 2023-06-14 14:02:22 +03:00
Houkime 469f9d292d test(tokens-repo): make sure we try to delete the token we authed with 2023-06-14 14:02:22 +03:00
Houkime ba5f91b000 test(tokens-repo): apply assert_ok and assert_error() 2023-06-14 14:02:22 +03:00
Houkime 4676e364a6 test(tokens-repo): break out assert_data() 2023-06-14 14:02:22 +03:00
Houkime 5a1b48fa3d test(tokens-repo): break out assert_empty() 2023-06-14 14:02:22 +03:00
Houkime 7f5236701e test(tokens-repo): break out assert_ok() and assert_errorcode() in graphql 2023-06-14 14:02:22 +03:00
Houkime d8c78cc14c test(tokens-repo): untie token deletion tests from json 2023-06-14 14:02:22 +03:00
Houkime d26d115172 test(tokens-repo): break out assert_original() in graphql device tests 2023-06-14 14:02:22 +03:00
Houkime 2f707cc0cc test(tokens-repo): delete extraneous test token content copies 2023-06-14 14:02:22 +03:00
Houkime 00ba76c074 refactor(tokens-repo): delete a stray comment 2023-06-14 14:02:22 +03:00
Houkime 824b018487 test(tokens-repo): make shared test token state use token repo api for loading 2023-06-14 14:02:22 +03:00
Houkime 8f645113e2 test(tokens-repo): new assert_original(), no more json 2023-06-14 14:02:22 +03:00
Houkime f45567b87b fix(tokens-repo): readd gitkeep to services data folder after rebase 2023-06-14 14:02:22 +03:00
Houkime e55a55ef6f test(tokens-repo): beautify test_auth.py 2023-06-14 14:02:22 +03:00
Houkime 02bfffa75f test(tokens-repo): refactor the rest of auth tests 2023-06-14 14:02:22 +03:00
Houkime 42fa5fe524 test(tokens-repo): allow ading uses in a helper recovery function 2023-06-14 14:02:22 +03:00
Houkime 3aa3d197e2 test(tokens-repo): use mock time for recovery tokens expiration test 2023-06-14 14:02:22 +03:00
Houkime e0bd6efcb2 test(tokens-repo): use new recovery functions 2023-06-14 14:02:22 +03:00
Houkime 203940096c test(tokens-repo): break out recovery token use 2023-06-14 14:02:22 +03:00
Houkime ac4d4e0127 test(tokens-repo): break out recovery time operations 2023-06-14 14:02:22 +03:00
Houkime 548f47963a test(tokens-repo): break out obtaining recovery tokens 2023-06-14 14:02:22 +03:00
Houkime 0239f3174e test(tokens-repo): do not read json in generate recovery test 2023-06-14 14:02:22 +03:00
Houkime 74777c4343 test(tokens-repo): fix typo in contets 2023-06-14 14:02:22 +03:00
Houkime 0bf18603d4 test(tokens-repo): travel in time to check expiration 2023-06-14 14:02:22 +03:00
Houkime 458c4fd28a test(tokens-repo): make new device tests a bit more readable 2023-06-14 14:02:22 +03:00
Houkime bfcec3d51d test(tokens-repo): break out checking token validity 2023-06-14 14:02:22 +03:00
Houkime 179078aed2 test(tokens-repo): break out getting new device token 2023-06-14 14:02:22 +03:00
Houkime 1d6275b75b test(tokens-repo): delete standalone get new device test
At rest api level, we can only check the existence of new device token
by using it, and this test already exists.
2023-06-14 14:02:22 +03:00
Houkime 07fe2f8a55 test(tokens-repo): check refreshed token validity by trying to auth 2023-06-14 14:02:22 +03:00
Houkime 270e569af2 test(tokens-repo): use rest token info in token deletion test 2023-06-14 14:02:22 +03:00
Houkime 7e0e6015cf test(tokens-repo): break out rest_get_token_info() 2023-06-14 14:02:22 +03:00
Houkime f542c1e6c7 test(tokens-repo): break out assert_original() in rest 2023-06-14 14:02:22 +03:00
Houkime e125f3a4b1 test(tokens-repo): remove test tokens.json files
except for one which will temporarily remain
gitkeeps are to prevent shared_datadir from erroring out in a freshly
cloned repo. for now huey database and jobs fixtures use shared_datadir
2023-06-14 14:02:22 +03:00
Houkime 889c7eee6a test(tokens-repo): offload empty_keys fixture to json tests 2023-06-14 14:02:22 +03:00
Houkime 8065921862 test(tokens-repo): make empty_tokens fixture, even more minimal 2023-06-14 14:02:22 +03:00
Houkime 3e7ea01a42 test(tokens-repo): make empty_keys fixture (and derived) shareable 2023-06-14 14:02:22 +03:00
Houkime c47977c100 test(backups): actual testfile 2023-06-14 10:16:53 +00:00
Houkime d9bde6930b fix(backups): register queries 2023-06-14 10:16:53 +00:00
Houkime 9d5335f62c feature(backups): feature(backups): return a snapshot from start_backup 2023-06-05 11:26:58 +00:00
Houkime 4b07d4de41 refactor(backups): global snapshots 2023-05-31 13:16:08 +00:00
Houkime c3696d3a4b feature(backups): global init instead of per-service 2023-05-29 16:50:14 +00:00
Houkime 0dc6f74754 fix(backups): make sure location and credentials get properly passed around 2023-05-22 16:01:57 +00:00
Houkime b1d0a80963 feature(backups): realtime progress updates of backups 2023-05-17 20:27:42 +00:00
Houkime 54a8e0b2b0 test(backups): break out obtaining finished jobs 2023-05-17 20:27:42 +00:00
Houkime e25aa2cb33 test(backups): test that the job has run 2023-05-17 20:27:42 +00:00
Houkime 396b42b69c test(backups): test jobs starting and finishing when from Backups 2023-05-17 20:27:42 +00:00
Houkime d340b0ca67 test(backups): break out a finished job checker 2023-05-17 20:27:42 +00:00
Houkime cb1dd1011e test(backups): assure that jobs are created and not duplicated 2023-05-17 20:27:42 +00:00
Houkime d1425561d9 feature(backups): restore task 2023-05-17 20:27:42 +00:00
Houkime 72f4fc8ae7 test(backups): test local secrets 2023-05-17 20:27:42 +00:00
Houkime dde86725b9 test(services): test derivation of foldermoves 2023-05-17 20:27:42 +00:00