Houkime
27a7c24bc3
refactor(tokens-repo): separate token storing
2022-12-16 13:02:21 +00:00
Houkime
4e60d1d37a
refactor(tokens-repo): move token getters to abstract class
...
Not performance-optimal, but not in critical path either.
100 tokens max irl?
2022-12-16 13:02:05 +00:00
Houkime
ff264ec808
refactor(tokens-repo): simplify getting tokens
...
get_token_by_token_string and get_token_by_name are no longer tied to
json.
2022-12-16 13:01:28 +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
Inex Code
9cf4d46c50
redis/jobs-coverage ( #24 )
2022-12-02 13:01:09 +02: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
14c4ae26ab
explicitly mark helper functions private
...
I thought about making them private class members, but that would get
unreadable and do more harm than good.
2022-11-30 16:22:46 +00:00
Inex Code
f0132266e9
Merge pull request 'bind nix-shell's redis to localhost' ( #23 ) from redis/nixshell-redis-bindlocal into redis/connection-pool
...
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api/pulls/23
2022-11-30 17:52:29 +02: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
106a083ca2
jobs: simplify reset
...
Also ups test coverage
2022-11-30 14:47:56 +00:00
Houkime
b6eeec23cc
jobs: singlejob fixture
2022-11-30 14:31:37 +00:00
Houkime
c21b6cb071
jobs: dedicated reset test
2022-11-30 14:17:53 +00:00
Houkime
144f95fb34
bind nix-shell's redis to localhost
...
For security, mainly. Also, limit to one process.
A follow up to #22
2022-11-30 11:20:08 +00:00
Inex Code
60919b88b9
Merge pull request 'Autostart a redis instance in nix shell.' ( #22 ) from redis/nixshell-redis-autostart into redis/connection-pool
...
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api/pulls/22
2022-11-28 14:50:57 +02:00
Inex Code
57794c9535
style(graphql): Add missing comma
...
\
2022-11-28 15:49:48 +03:00
Houkime
2e9cdf15ab
Autostart a redis instance in nix shell.
...
As a part of test environment, an unprivileged redis server is started on localhost:6379.
Redis connection pool detects when it is run in a development nix shell
and uses this port instead of a production unix socket. This way, redis
tests pass even on computers without redis installed.
2022-11-28 14:38:21 +02:00
Inex Code
3ce71b0993
Merge pull request 'migrate Jobs to redis' ( #20 ) from redis/jobs into redis/connection-pool
...
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api/pulls/20
2022-11-28 14:37:45 +02:00
Houkime
d6ef01c0c7
Add TTL to storage of finished or failed jobs
...
Defaulting to 10 days.
2022-11-23 16:29:50 +00:00
Houkime
244851c7cc
jobs: remove 'jobs' list, and use 'jobs:' prefix
...
Less complexity, easier to add redis-native TTL
2022-11-23 15:04:39 +00:00
Houkime
5afa2338ca
Migrate Jobs to redis
...
Jobs API shall now use redis to store and retrieve jobs. This will make
it possible to add pubsub for jobs updates. For now it uses blocking api
of redis.
2022-11-23 14:43:06 +00:00
Houkime
f7b7e5a0be
migrate Jobs to redis
2022-11-16 13:54:54 +00:00