Houkime
c1cc1e00ed
test(services): move non-gql enable+json tests out of gql tests towards backend tests
2024-01-08 13:12:27 +00:00
Houkime
9d3fd45c2c
test(services): missing info on service enabled status returns False
2024-01-08 13:12:27 +00:00
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