From 9d5335f62c62dbd202308930698dc91dd3f58c74 Mon Sep 17 00:00:00 2001 From: Houkime <> Date: Mon, 5 Jun 2023 11:19:01 +0000 Subject: [PATCH] feature(backups): feature(backups): return a snapshot from start_backup --- selfprivacy_api/backup/__init__.py | 1 + selfprivacy_api/backup/storage.py | 2 +- tests/test_graphql/test_backup.py | 12 ++++++++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/selfprivacy_api/backup/__init__.py b/selfprivacy_api/backup/__init__.py index 86445ba..37b9517 100644 --- a/selfprivacy_api/backup/__init__.py +++ b/selfprivacy_api/backup/__init__.py @@ -223,6 +223,7 @@ class Backups: raise e Jobs.update(job, status=JobStatus.FINISHED) + return snapshot @staticmethod def init_repo(service: Optional[Service] = None): diff --git a/selfprivacy_api/backup/storage.py b/selfprivacy_api/backup/storage.py index 38155e6..680f39f 100644 --- a/selfprivacy_api/backup/storage.py +++ b/selfprivacy_api/backup/storage.py @@ -104,7 +104,7 @@ class Storage: @staticmethod def get_cached_snapshot_by_id(snapshot_id: str) -> Optional[Snapshot]: - key = redis.keys(REDIS_SNAPSHOTS_PREFIX + snapshot_id) + key = REDIS_SNAPSHOTS_PREFIX + snapshot_id if not redis.exists(key): return None return hash_as_model(redis, key, Snapshot) diff --git a/tests/test_graphql/test_backup.py b/tests/test_graphql/test_backup.py index a50fed4..5ac024f 100644 --- a/tests/test_graphql/test_backup.py +++ b/tests/test_graphql/test_backup.py @@ -243,6 +243,18 @@ def assert_job_had_progress(job_type): assert len(Jobs.progress_updates(job)) > 0 +def test_snapshots_by_id(backups, dummy_service): + snap1 = Backups.back_up(dummy_service) + snap2 = Backups.back_up(dummy_service) + snap3 = Backups.back_up(dummy_service) + + assert snap2.id is not None + assert snap2.id != "" + + assert len(Backups.get_snapshots(dummy_service)) == 3 + assert Backups.get_snapshot_by_id(snap2.id).id == snap2.id + + def test_backup_service_task(backups, dummy_service): handle = start_backup(dummy_service) handle(blocking=True)