Commit graph

308 commits

Author SHA1 Message Date
Houkime bcf57ea738 test(services): test possibly undefined json fields. On writing 2024-01-08 13:12:27 +00:00
Houkime bf0b774295 test(services): fix last tests being not enabled, and a field typo0 2024-01-08 13:12:27 +00:00
Houkime 834e8c0603 test(services): add a test that we actually write json 2024-01-08 13:12:27 +00:00
Houkime 22f157b6ff test(services): add a test that we actually read json 2024-01-08 13:12:27 +00:00
Houkime 5c1dd93931 test(services): test that undisableable services are handled correctly 2024-01-08 13:12:27 +00:00
Houkime 2e59e7e880 better error reporting in graphql tests 2024-01-08 13:12:27 +00:00
Houkime 1a65545c29 test(backups, token_repo): move non-graphql tests out of graphql 2024-01-08 13:12:27 +00:00
Houkime 0b10c083af test(services): test double enables and disables 2024-01-08 13:12:27 +00:00
Houkime 267cdd391b fix(backup): do not store maybe unpicklable service on the queue 2024-01-08 13:12:27 +00:00
Houkime aa287d9cf3 test(services): try moving to the same device 2024-01-08 13:12:27 +00:00
Houkime 9a3800ac7b test(service): moving errors 2024-01-08 13:12:27 +00:00
Houkime 1e77129f4f test(service): restart 2024-01-08 13:12:27 +00:00
Houkime 018a8ce248 test(service): an unauthorized query 2024-01-08 13:12:27 +00:00
Houkime b06f1a4153 test(service): other unauthorized mutations 2024-01-08 13:12:27 +00:00
Houkime 83c639596c test(service): start service unauthorized 2024-01-08 13:12:27 +00:00
Houkime 6d244fb603 test(service): disable nonexistent service 2024-01-08 13:12:27 +00:00
Houkime 34782a3ca8 test(service): enable nonexistent service 2024-01-08 13:12:27 +00:00
Houkime bfdd98cb60 test(service): stop nonexistent service 2024-01-08 13:12:27 +00:00
Houkime a163718120 test(service): start nonexistent service 2024-01-08 13:12:27 +00:00
Houkime b9f3aa49bd test(service): enable-disable return values 2024-01-08 13:12:27 +00:00
Houkime bd43bdb335 test(service): breakout raw api calls with ids 2024-01-08 13:12:27 +00:00
Houkime 47cfaad160 test(service): startstop return values 2024-01-08 13:12:27 +00:00
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 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 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
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 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
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
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
Houkime 2934e2beca test(backups): test forgetting via API 2023-07-28 11:32:48 +00: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
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 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
Inex Code b480c84041 style: fix styling 2023-06-29 13:44:29 +03: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
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