Browse Source

added _ChainStatus.last_incremental_backup_time()

Fabian Peter Hammerle 7 years ago
parent
commit
f124c80db1
2 changed files with 28 additions and 0 deletions
  1. 4 0
      duplitab/__init__.py
  2. 24 0
      tests/test_collection.py

+ 4 - 0
duplitab/__init__.py

@@ -88,6 +88,10 @@ class _ChainStatus(_Status):
     def last_backup_time(self):
         return max([s.backup_time for s in self.sets])
 
+    @property
+    def last_incremental_backup_time(self):
+        return self.last_backup_time if len(self.sets) > 1 else None
+
     @classmethod
     def _parse(cls, text):
         sets = []

+ 24 - 0
tests/test_collection.py

@@ -113,6 +113,29 @@ def test_chain_status_get_last_backup_time(chain_status, expected_time):
     assert expected_time == chain_status.last_backup_time
 
 
+@pytest.mark.parametrize(('chain_status', 'expected_time'), [
+    [
+        duplitab._ChainStatus(
+            sets=[
+                duplitab._SetStatus(backup_time=datetime.datetime(2016, 10, 27, 19, 57, 33)),
+            ]),
+        None,
+    ],
+    [
+        duplitab._ChainStatus(
+            sets=[
+                duplitab._SetStatus(backup_time=datetime.datetime(2016, 10, 27, 19, 57, 33)),
+                duplitab._SetStatus(backup_time=datetime.datetime(2016, 10, 27, 19, 57, 35)),
+                duplitab._SetStatus(backup_time=datetime.datetime(2016, 10, 27, 19, 57, 39)),
+            ]),
+        datetime.datetime(2016, 10, 27, 19, 57, 39),
+    ],
+])
+def test_chain_status_get_last_incremental_backup_time(
+        chain_status, expected_time):
+    assert expected_time == chain_status.last_incremental_backup_time
+
+
 @pytest.mark.parametrize(('chain_status', 'expected_time'), [
     [
         duplitab._ChainStatus(
@@ -170,6 +193,7 @@ def test_collection_status_get_last_incremental_backup_time(
         collection_status, expected_time):
     assert expected_time == collection_status.last_incremental_backup_time
 
+
 @pytest.mark.parametrize(('collection_status', 'expected_time'), [
     [
         duplitab._CollectionStatus(