]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
pybing/mgr/snap_schedule: add more unit tests
authorJan Fajerski <jfajerski@suse.com>
Thu, 28 May 2020 11:47:50 +0000 (13:47 +0200)
committerJan Fajerski <jfajerski@suse.com>
Thu, 27 Aug 2020 13:55:46 +0000 (15:55 +0200)
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
src/pybind/mgr/snap_schedule/tests/fs/test_schedule.py

index a6239798f3cc6ab459127e45c615f6fd110ea8b3..4eaa908dd61353ff1fb6b11dccd197410d8e3c98 100644 (file)
@@ -50,3 +50,70 @@ class TestSchedule(object):
             rows = db.execute(SELECT_ALL).fetchall()
 
         assert len(rows) == len(simple_schedules)
+
+    def test_update_last(self, db, simple_schedule):
+        simple_schedule.store_schedule(db)
+
+        row = ()
+        with db:
+            row = db.execute(SELECT_ALL).fetchone()
+        assert row['last'] is None
+
+        first_time = datetime.datetime.now(datetime.timezone.utc)
+        simple_schedule.update_last(first_time, db)
+
+        with db:
+            row = db.execute(SELECT_ALL).fetchone()
+        assert datetime.datetime.fromisoformat(row['last']) == first_time
+
+        second_time = datetime.datetime.now(datetime.timezone.utc)
+        simple_schedule.update_last(second_time, db)
+
+        with db:
+            row = db.execute(SELECT_ALL).fetchone()
+        assert datetime.datetime.fromisoformat(row['last']) == second_time
+
+    def test_update_created_count(self, db, simple_schedule):
+        simple_schedule.store_schedule(db)
+
+        row = ()
+        with db:
+            row = db.execute(SELECT_ALL).fetchone()
+        assert row['created_count'] == 0
+
+        first_time = datetime.datetime.now(datetime.timezone.utc)
+        simple_schedule.update_last(first_time, db)
+
+        with db:
+            row = db.execute(SELECT_ALL).fetchone()
+        assert row['created_count'] == 1
+
+        second_time = datetime.datetime.now(datetime.timezone.utc)
+        simple_schedule.update_last(second_time, db)
+
+        with db:
+            row = db.execute(SELECT_ALL).fetchone()
+        assert row['created_count'] == 2
+
+    def test_update_first(self, db, simple_schedule):
+        simple_schedule.store_schedule(db)
+
+        row = ()
+        with db:
+            row = db.execute(SELECT_ALL).fetchone()
+        assert row['first'] is None
+
+        first_time = datetime.datetime.now(datetime.timezone.utc)
+        simple_schedule.update_last(first_time, db)
+
+        with db:
+            row = db.execute(SELECT_ALL).fetchone()
+        assert datetime.datetime.fromisoformat(row['first']) == first_time
+
+        second_time = datetime.datetime.now(datetime.timezone.utc)
+        simple_schedule.update_last(second_time, db)
+
+        with db:
+            row = db.execute(SELECT_ALL).fetchone()
+        assert datetime.datetime.fromisoformat(row['first']) == first_time
+