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
Houkime
ba72fadb8d
test(services): test that we indeed return correct folders and owned folders from real services
2023-05-17 20:27:42 +00:00
Houkime
ad66513f27
refactor(services): add folder owner derivation
2023-05-17 20:27:41 +00:00
Houkime
48359ffd20
test(backups): test 2-folder restoration
2023-05-17 20:27:41 +00:00
Houkime
a68e94fad3
test(backups): actually back up 2 folders
2023-05-17 20:27:41 +00:00
Houkime
30ac990985
refactor(backups): set a list of folders for our dummy service
2023-05-17 20:27:41 +00:00
Houkime
08739f7ca8
refactor(backups): make api accept a list of folders
2023-05-17 20:27:41 +00:00
Houkime
919ba1ad03
refactor(backups): make a dedicated get_folders() function
2023-05-17 20:27:41 +00:00
Houkime
1b1052d205
refactor(services): rename get_location() to get_drive()
2023-05-17 20:27:41 +00:00
Houkime
0ae4192081
test(backups): register dummy service
2023-05-17 20:27:41 +00:00
Houkime
ec85f060f8
test(backups): test autobackup timing
2023-05-17 20:27:41 +00:00
Houkime
283c8d09cc
refactor(backups): split out storage
2023-05-17 20:27:41 +00:00
Houkime
f25e57c51a
test(backups): test that we do use cache
2023-05-17 20:27:41 +00:00
Houkime
7699ba0d9b
test(backups): test last backup date retrieval
2023-05-17 20:27:41 +00:00
Houkime
d4cad61d56
test(backups): test setting autobackup period
2023-05-17 20:27:41 +00:00
Houkime
3c42d8c413
test(backups): test setting services as enabled for autobackups
2023-05-17 20:27:41 +00:00
Houkime
ae065867b3
test(backups): test that we do return snapshot on backup
2023-05-17 20:27:41 +00:00
Houkime
772b499b46
feature(backups): huey task to back up
2023-05-17 20:27:41 +00:00
Houkime
144e4e5e91
refactor(backups): make backups stateless
2023-05-17 20:27:41 +00:00
Houkime
a2dd47130b
feature(backups): repo init tracking
2023-05-17 20:27:41 +00:00
Houkime
4b2cecac8f
feature(backups): provider storage and retrieval
2023-05-17 20:27:41 +00:00
Houkime
a0afe63b3d
refactor(backups): redis model storage utils
2023-05-17 20:27:41 +00:00
Houkime
ea6a047478
feature(backups): load from json
2023-05-17 20:27:41 +00:00
Houkime
23ee958bfb
feat(backups): sizing up snapshots
2023-05-17 20:27:40 +00:00
Houkime
d62d7534d7
test(backups): test restoring a file
2023-05-17 20:27:40 +00:00
Houkime
c32353fe9b
feat(backups): return proper snapshot structs when listing
2023-05-17 20:27:40 +00:00
Houkime
8a1b3be9fa
test(backups): reenable snapshot testing
2023-05-17 20:27:40 +00:00
Houkime
01797cb922
fix(backups): singleton metaclass was screwing with tests
2023-05-17 20:27:40 +00:00
Houkime
06deb83b33
test(backups): localfile repo by default in tests
2023-05-17 20:27:40 +00:00
Houkime
e944f4a267
test(backups): basic file backend init test
2023-05-17 20:27:40 +00:00
Houkime
865c8f5280
test(backups): test repo init
2023-05-17 20:27:40 +00:00
Houkime
c9fd656181
refactor(backups): snapshotlist and local secret groundwork
2023-05-17 20:27:40 +00:00
Houkime
a043392b7b
test(backup): no snapshots
2023-05-17 20:27:40 +00:00
Houkime
bf263f68b9
test(backup): use a backup service function
2023-05-17 20:27:40 +00:00
Houkime
17df21964a
test(backup): try to back up!
2023-05-17 20:27:40 +00:00
Houkime
90c2524800
test(backup): make a testfile to backup
2023-05-17 20:27:40 +00:00
Houkime
e54224f15d
test(backup): init an in-memory backup class
2023-05-17 20:27:40 +00:00
Houkime
934afeb531
test(backup): dummy service
2023-05-17 20:27:40 +00:00
Houkime
af6a49b0a3
test(backup): provider class selection
2023-05-17 20:27:40 +00:00
Inex Code
4e7261c9c4
fix(dns-records): Fix DKIM parser
...
Previously API relied on client to parse DKIM DNS string, as it was a
separate endpoint. But now client blindly trusts the API, but parser
was not migrated over to the API.
2023-01-16 18:41:54 +03:00
def
bcfb8e62e9
refactor(repository): Tokens repository JSON backend ( #18 )
...
Co-authored-by: def <dettlaff@riseup.net>
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api/pulls/18
Co-authored-by: def <dettlaff@riseup.net>
Co-committed-by: def <dettlaff@riseup.net>
2022-12-30 21:20:17 +03:00
Houkime
67872d7c55
test(tokens-repo): use mnemonic_from_hex consistently
2022-12-26 16:22:16 +00:00
Houkime
450ff41ebd
feat(tokens-repo): make device names unique before storage
2022-12-26 15:51:12 +00:00
Houkime
7d9bccf4ec
fix(tokens-repo): make is_token_valid infallible
2022-12-26 15:18:02 +00:00
Houkime
5d4ed73435
fix(tokens-repo): properly expire new device keys
2022-12-26 14:01:36 +00:00
Houkime
22a309466e
fix(tokens-repo): fix is_name_exists() being fallible
2022-12-21 17:04:18 +00:00
Houkime
20410ec790
fix(tokens-repo): fix name pair validation being able to raise a notfound error
2022-12-21 16:10:41 +00:00
Houkime
3021584adc
refactor(tokens-repo): delete refresh_token() from auth
2022-12-21 15:23:42 +00:00
Houkime
39277419ac
refactor(tokens-repo): use tokens-repo to refresh tokens
2022-12-21 13:09:51 +00:00
Houkime
d3bf867bb5
fix(tokens-repo): do not change the date on token refresh
2022-12-21 13:05:00 +00:00
Houkime
a97705ef25
fix(tokens-repository): fix getting and setting recovery token expiration date
2022-12-21 10:24:05 +00:00
Houkime
ab70687c61
fix(tokens-repository) :make NONE-uses-left eternally valid and test for it
2022-12-19 12:57:32 +00:00
Houkime
6f6a9f5ef0
test(tokens-repo): do not require order in test_delete_not_found_token
2022-12-16 13:04:56 +00:00
Houkime
95e200bfc5
feat(tokens-repo): reset function
2022-12-16 13:04:19 +00:00
Houkime
e504585437
test(tokens-repo): do not require order
2022-12-16 13:03:53 +00:00
Houkime
f2fa47466b
feat(tokens-repo):empty implementation of redis token repo
...
But it initializes and fails tests!
2022-12-16 13:03:27 +00:00
Houkime
2797c6f88f
fix(tokens-repository): use_mnemonic_new_device_key() now stores a token
2022-12-16 13:03:27 +00:00
Houkime
b856a2aad3
test(tokens-repo): re-add delete token test
2022-12-16 13:01:19 +00:00
Houkime
0d748d7ab1
test(tokens-repo): move original token content to json tests
2022-12-16 13:01:09 +00:00
Houkime
c12dca9d9b
refactor(tokens-repo): delete unused timezone import
2022-12-16 13:00:44 +00:00
Houkime
4492bbe995
test(tokens-repo): move null keys and tokens fixtures to json tests
...
and remove corresponding json files from the folder
2022-12-16 13:00:31 +00:00
Houkime
84bfa333fa
test(tokens-repo): move new device key null test to json tests
2022-12-16 13:00:16 +00:00
Houkime
be13d6163e
test(tokens-repo): use a mnemonic device key on an empty repo
2022-12-16 13:00:07 +00:00
Houkime
ce411e9291
test(tokens-repo): using a mnemonic device key
2022-12-16 12:59:57 +00:00
Houkime
cf7b7eb8a7
test(tokens-repo): notfound mnemonic new device key
2022-12-16 12:59:49 +00:00
Houkime
3feebd5290
test(tokens-repo): invalid mnemonic new device key
2022-12-16 12:59:38 +00:00
Houkime
73584872f0
test(tokens-repo): agnosticise simple new device key tests
...
the state of json file is tested separately in test_json_tokens_repository.py
2022-12-16 12:59:27 +00:00
Houkime
dc778b545e
test(tokens-repo): get new device key
2022-12-16 12:59:16 +00:00
Houkime
f96d8b7d7c
test(tokens-repo): make another mock token generator agnostic
2022-12-16 12:58:50 +00:00
Houkime
dd525fe723
test(tokens-repo): agnostic use recovery token
...
converted json-reading asserts to backend-agnostic asserts
2022-12-16 12:58:27 +00:00
Houkime
b9c570720b
test(tokens-repo): move null recovery token test to json tests
...
Because the null state seems to be specific to json and not reproducible
in abstract case.
2022-12-16 12:57:14 +00:00
Houkime
732e72d414
test(tokens-repo): mnemonic non-null invalid
2022-12-16 12:56:50 +00:00
Houkime
6f400911fc
test(tokens-repo): agnostic recovery keys testing
2022-12-16 12:56:25 +00:00
Houkime
c86eb8b786
test(tokens-repo): agnostic refresh token nonexistent
2022-12-16 12:56:04 +00:00
Houkime
fa54220327
test(tokens-repo): agnostic refresh token
2022-12-16 12:55:46 +00:00
Houkime
b43c4014e2
test(tokens-repo): agnostic delete not found
2022-12-16 12:55:28 +00:00
Houkime
db55685488
test(tokens-repo): use 'repo' for consistency
2022-12-16 12:55:07 +00:00
Houkime
3921d9fe4c
test(tokens-repo): agnostic token creation test
2022-12-16 12:54:46 +00:00
Houkime
2e2d344f43
test(tokens-repo): get_tokens metaproperties test
2022-12-16 12:54:25 +00:00
Houkime
55ad2484b8
test(tokens-repo): agnostic test for getting by name
2022-12-16 12:53:33 +00:00
Houkime
8a05a55b80
test(tokens-repo): parameterized fixture
2022-12-16 12:51:56 +00:00
Houkime
4cfe0515ea
test(tokens-repo): split between abstract api and backend-specific tests
2022-12-16 12:50:08 +00:00
def
16e0bd56ce
refactor(repository): Tokens repository JSON backend ( #18 )
...
Co-authored-by: def <dettlaff@riseup.net>
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api/pulls/18
Co-authored-by: def <dettlaff@riseup.net>
Co-committed-by: def <dettlaff@riseup.net>
2022-12-02 14:19:57 +03:00
Houkime
d47368cbe9
Jobs: test get_job() return values
...
Coverage is now at 99%
2022-11-30 17:26:38 +00:00
Houkime
063dfafc19
Jobs: fix return value of remove_by_uid
...
And add a test for said return value.
2022-11-30 17:06:43 +00:00
Houkime
5c86706f4b
Jobs: fix value access in is_busy()
...
Also added a test for is_busy() that highlighted this bug.
2022-11-30 16:41:20 +00:00
Houkime
870d2c408d
jobs: test nofail at nonexistent update
2022-11-30 15:37:59 +00:00
Houkime
f51e378ff0
jobs: test updating more fields
2022-11-30 15:21:57 +00:00
Houkime
7acbba9960
jobs: minimal update test
2022-11-30 15:12:42 +00:00
Houkime
b6eeec23cc
jobs: singlejob fixture
2022-11-30 14:31:37 +00:00