mirror of
https://github.com/ceph/ceph
synced 2025-03-23 02:38:31 +00:00
snap-schedule: add test for multiple retention set calculation
Signed-off-by: Jan Fajerski <jfajersk@redhat.com>
This commit is contained in:
parent
853d97bbae
commit
bb9a3b358b
@ -18,3 +18,20 @@ class TestScheduleClient(object):
|
|||||||
prune_set = get_prune_set(candidates, ret)
|
prune_set = get_prune_set(candidates, ret)
|
||||||
assert prune_set == set(), 'candidates are pruned despite empty retention'
|
assert prune_set == set(), 'candidates are pruned despite empty retention'
|
||||||
|
|
||||||
|
def test_get_prune_set_two_retention_specs(self):
|
||||||
|
now = datetime.now()
|
||||||
|
candidates = set()
|
||||||
|
for i in range(10):
|
||||||
|
ts = now - timedelta(hours=i*1)
|
||||||
|
fake_dir = MagicMock()
|
||||||
|
fake_dir.d_name = f'scheduled-{ts.strftime(SNAPSHOT_TS_FORMAT)}'
|
||||||
|
candidates.add((fake_dir, ts))
|
||||||
|
for i in range(10):
|
||||||
|
ts = now - timedelta(days=i*1)
|
||||||
|
fake_dir = MagicMock()
|
||||||
|
fake_dir.d_name = f'scheduled-{ts.strftime(SNAPSHOT_TS_FORMAT)}'
|
||||||
|
candidates.add((fake_dir, ts))
|
||||||
|
# should keep 8 snapshots
|
||||||
|
ret = {'h': 6, 'd': 2}
|
||||||
|
prune_set = get_prune_set(candidates, ret)
|
||||||
|
assert len(prune_set) == len(candidates) - 8, 'wrong size of prune set'
|
||||||
|
Loading…
Reference in New Issue
Block a user