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
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
824b018487
test(tokens-repo): make shared test token state use token repo api for loading
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
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
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
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
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
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
41e5f89b7b
migrate backblaze settings to new json format
...
And adjust methods and tests
2022-11-02 13:52:33 +00:00
Houkime
07af2e59be
tests: fix backblaze bucket
2022-11-02 13:52:33 +00:00
Houkime
2d7bc0f154
remove cloudflare tokens from the rest of the test jsons. nobody seems to care
2022-11-02 13:52:33 +00:00
Houkime
5efa85f877
add provider fields to the rest of test jsons
2022-11-02 13:52:33 +00:00
Houkime
f4a7986cfa
Remove old cloudflare apiKey field from system test jsons
...
Strangely, no test were broken. Probably more testing is needed for
token-dependent methods.
2022-11-02 13:52:33 +00:00
Houkime
2ec0548c09
add provider fields to the test jsons under system
2022-11-02 13:52:33 +00:00
Houkime
dd15e0ab65
reroute dns provider query
2022-11-02 13:52:33 +00:00
Inex Code
7935de0fe1
Migrate to FastAPI ( #13 )
...
Co-authored-by: inexcode <inex.code@selfprivacy.org>
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api/pulls/13
2022-08-25 20:03:56 +03:00
def
206589d5ad
add system nixos tasks
2022-08-01 21:32:20 +02:00
def
337cf29884
Add GraphQJ user and ssh management ( #12 )
...
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api/pulls/12
Co-authored-by: def <dettlaff@riseup.net>
Co-committed-by: def <dettlaff@riseup.net>
2022-08-01 13:40:40 +03:00
inexcode
5532114668
Add volume management
2022-07-25 17:08:31 +03:00
Inex Code
26f9393d95
Implement change system settings
...
Co-authored-by: Detlaff <dettlaff@riseup.net>
2022-07-12 16:24:29 +03:00
Inex Code
eb21b65bbc
More system tests
...
Co-authored-by: Detlaff <dettlaff@riseup.net>
2022-07-11 16:42:51 +03:00
Inex Code
e3354c73ef
Change datetime formats, more tests
2022-07-08 18:28:08 +03:00
def
9bd2896db8
fix recovery tests
2022-07-07 15:53:19 +02:00
Inex Code
63f3b2f4d1
Update tests for detlaff
2022-07-07 14:49:04 +03:00
Inex Code
e5405dfc6b
linting
2022-07-05 15:54:21 +03:00
Inex Code
5711cf66b0
Api fixes
2022-07-05 15:11:41 +03:00
Inex Code
376bf1ef77
Add more tests
2022-07-05 08:14:37 +03:00
Inex Code
503a39f390
API keys graphql tests
2022-06-29 20:39:46 +03:00
Inex Code
80e5550f7d
add basic system getters
2022-06-24 21:14:20 +03:00