def test_dunder_contains(self, name): self.mocked_metadata["read_metadata"].return_value = [] repo = Repository("/tmp/backup") self.assertFalse(name in repo) repo.create_snapshot(name) self.assertTrue(name in repo)
def test_dunder_len(self, snapshots): self.mocked_metadata["read_metadata"].return_value = snapshots.copy() repo = Repository("/tmp/backup") self.assertEqual(len(repo), len(snapshots)) self.assertEqual(len(repo.snapshots), len(snapshots)) repo.create_snapshot() self.assertEqual(len(repo), len(snapshots) + 1) self.assertEqual(len(repo.snapshots), len(snapshots) + 1)
def test_create_duplicate_snapshot(self): # Test that if a snapshot is a duplicate, then return that duplicate snapshot self.mocked_metadata["read_metadata"].return_value = [] repo = Repository("/tmp/backup") name = "new-snapshot" first = repo.create_snapshot(name) second = repo.create_snapshot(name) self.assertIs(first, second) self.assertTrue(name in repo) self.assertEqual(len(repo), 1)
def test_returns_snapshot_object(self): self.mocked_metadata["read_metadata"].return_value = [] repo = Repository("/tmp/backup") self.assertIsInstance(repo.create_snapshot(), Snapshot)