mirror of
https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api.git
synced 2024-11-28 06:51:28 +00:00
test(backups): test autobackup timing
This commit is contained in:
parent
a11627da7d
commit
d7316f8e79
|
@ -69,7 +69,7 @@ class Backups:
|
||||||
period = Backups.autobackup_period_minutes()
|
period = Backups.autobackup_period_minutes()
|
||||||
if period is None:
|
if period is None:
|
||||||
return False
|
return False
|
||||||
if not Storage.is_autobackup_set_by_name(service_id) is None:
|
if not Storage.is_autobackup_set(service_id):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
last_backup = Storage.get_last_backup_time(service_id)
|
last_backup = Storage.get_last_backup_time(service_id)
|
||||||
|
|
|
@ -122,7 +122,7 @@ class Storage:
|
||||||
redis.delete(Storage.__autobackup_key(service.get_id()))
|
redis.delete(Storage.__autobackup_key(service.get_id()))
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def is_autobackup_set(service_name: str):
|
def is_autobackup_set(service_name: str) -> bool:
|
||||||
return redis.exists(Storage.__autobackup_key(service_name))
|
return redis.exists(Storage.__autobackup_key(service_name))
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
|
|
|
@ -198,6 +198,17 @@ def test_autobackup_enable_service(backups, dummy_service):
|
||||||
assert not Backups.is_autobackup_enabled(dummy_service)
|
assert not Backups.is_autobackup_enabled(dummy_service)
|
||||||
|
|
||||||
|
|
||||||
|
def test_autobackup_enable_service_storage(backups, dummy_service):
|
||||||
|
assert len(Storage.services_with_autobackup()) == 0
|
||||||
|
|
||||||
|
Backups.enable_autobackup(dummy_service)
|
||||||
|
assert len(Storage.services_with_autobackup()) == 1
|
||||||
|
assert Storage.services_with_autobackup()[0] == dummy_service.get_id()
|
||||||
|
|
||||||
|
Backups.disable_autobackup(dummy_service)
|
||||||
|
assert len(Storage.services_with_autobackup()) == 0
|
||||||
|
|
||||||
|
|
||||||
def test_set_autobackup_period(backups):
|
def test_set_autobackup_period(backups):
|
||||||
assert Backups.autobackup_period_minutes() is None
|
assert Backups.autobackup_period_minutes() is None
|
||||||
|
|
||||||
|
@ -220,6 +231,70 @@ def test_set_autobackup_period(backups):
|
||||||
assert Backups.autobackup_period_minutes() is None
|
assert Backups.autobackup_period_minutes() is None
|
||||||
|
|
||||||
|
|
||||||
|
def test_no_default_autobackup(backups, dummy_service):
|
||||||
|
now = datetime.now(timezone.utc)
|
||||||
|
assert not Backups.is_time_to_backup_service(dummy_service.get_id(), now)
|
||||||
|
assert not Backups.is_time_to_backup(now)
|
||||||
|
|
||||||
|
|
||||||
|
def test_autobackup_timer_periods(backups, dummy_service):
|
||||||
|
now = datetime.now(timezone.utc)
|
||||||
|
backup_period = 13 # minutes
|
||||||
|
|
||||||
|
Backups.enable_autobackup(dummy_service)
|
||||||
|
assert not Backups.is_time_to_backup_service(dummy_service.get_id(), now)
|
||||||
|
assert not Backups.is_time_to_backup(now)
|
||||||
|
|
||||||
|
Backups.set_autobackup_period_minutes(backup_period)
|
||||||
|
assert Backups.is_time_to_backup_service(dummy_service.get_id(), now)
|
||||||
|
assert Backups.is_time_to_backup(now)
|
||||||
|
|
||||||
|
Backups.set_autobackup_period_minutes(0)
|
||||||
|
assert not Backups.is_time_to_backup_service(dummy_service.get_id(), now)
|
||||||
|
assert not Backups.is_time_to_backup(now)
|
||||||
|
|
||||||
|
|
||||||
|
def test_autobackup_timer_enabling(backups, dummy_service):
|
||||||
|
now = datetime.now(timezone.utc)
|
||||||
|
backup_period = 13 # minutes
|
||||||
|
|
||||||
|
Backups.set_autobackup_period_minutes(backup_period)
|
||||||
|
assert not Backups.is_time_to_backup_service(dummy_service.get_id(), now)
|
||||||
|
assert not Backups.is_time_to_backup(now)
|
||||||
|
|
||||||
|
Backups.enable_autobackup(dummy_service)
|
||||||
|
assert Backups.is_time_to_backup_service(dummy_service.get_id(), now)
|
||||||
|
assert Backups.is_time_to_backup(now)
|
||||||
|
|
||||||
|
Backups.disable_autobackup(dummy_service)
|
||||||
|
assert not Backups.is_time_to_backup_service(dummy_service.get_id(), now)
|
||||||
|
assert not Backups.is_time_to_backup(now)
|
||||||
|
|
||||||
|
|
||||||
|
def test_autobackup_timing(backups, dummy_service):
|
||||||
|
backup_period = 13 # minutes
|
||||||
|
now = datetime.now(timezone.utc)
|
||||||
|
|
||||||
|
Backups.enable_autobackup(dummy_service)
|
||||||
|
Backups.set_autobackup_period_minutes(backup_period)
|
||||||
|
assert Backups.is_time_to_backup_service(dummy_service.get_id(), now)
|
||||||
|
assert Backups.is_time_to_backup(now)
|
||||||
|
|
||||||
|
Backups.back_up(dummy_service)
|
||||||
|
|
||||||
|
now = datetime.now(timezone.utc)
|
||||||
|
assert not Backups.is_time_to_backup_service(dummy_service.get_id(), now)
|
||||||
|
assert not Backups.is_time_to_backup(now)
|
||||||
|
|
||||||
|
past = datetime.now(timezone.utc) - timedelta(minutes=1)
|
||||||
|
assert not Backups.is_time_to_backup_service(dummy_service.get_id(), past)
|
||||||
|
assert not Backups.is_time_to_backup(past)
|
||||||
|
|
||||||
|
future = datetime.now(timezone.utc) + timedelta(minutes=backup_period + 2)
|
||||||
|
assert Backups.is_time_to_backup_service(dummy_service.get_id(), future)
|
||||||
|
assert Backups.is_time_to_backup(future)
|
||||||
|
|
||||||
|
|
||||||
# Storage
|
# Storage
|
||||||
def test_snapshots_caching(backups, dummy_service):
|
def test_snapshots_caching(backups, dummy_service):
|
||||||
Backups.back_up(dummy_service)
|
Backups.back_up(dummy_service)
|
||||||
|
|
Loading…
Reference in a new issue