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
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
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
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