diff --git a/test/test_database.py b/test/test_database.py index b63a4c4e0c85b1faf3bc4a35615d4704812da560..5842786a6544df3d8565bc297cfd50ca3cfeeecb 100644 --- a/test/test_database.py +++ b/test/test_database.py @@ -117,6 +117,24 @@ class DatabaseTest(unittest.TestCase): last_update, r"(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})" ) + def test_update_last_updated(self): + """Assert that the time gets updated when running method.""" + # Get two datetimes that should only differ by sleep_time + stmt = "SELECT Timestamp FROM LastUpdated" + self.database.update_last_updated() + first_time = self.database.conn.execute(stmt).fetchall()[0][0] + sleep_time = 2 + sleep(sleep_time) + self.database.update_last_updated() + second_time = self.database.conn.execute(stmt).fetchall()[0][0] + # Converts from string to datetime object + first_time = datetime.strptime(first_time, "%Y-%m-%d %H:%M:%S.%f") + second_time = datetime.strptime(second_time, "%Y-%m-%d %H:%M:%S.%f") + # Calculates difference in seconds + time_diff = (second_time - first_time).total_seconds() + # Compares difference with sleep_time + self.assertAlmostEqual(time_diff, sleep_time, delta=0.2) + def test_get_categories(self): """Assert function get_categories works as expected.""" file_path = os.path.join(TESTDATA_PATH, "CategoryWords.txt") @@ -241,13 +259,13 @@ class DatabaseTest(unittest.TestCase): stmt = "UPDATE LastUpdated SET Timestamp = ? LIMIT 1" self.database.conn.execute(stmt, (datetime.now(),)) # Sleeps to make time difference - sleep_time = 3 + sleep_time = 2 sleep(sleep_time) # Calculates expected return value and gets return value expected_time = (24 * 60 * 60) - sleep_time actual_time = self.database.seconds_to_next_update() # Compares expected and function return value with - self.assertAlmostEqual(expected_time, actual_time, delta=0.3) + self.assertAlmostEqual(expected_time, actual_time, delta=0.2) def test_add_code(self): """Test add a single code to CodeBook."""