From f32c11f3a53f6061721b8cf5c9b68d07e039ad72 Mon Sep 17 00:00:00 2001 From: Gavin Date: Fri, 17 Dec 2021 15:42:01 -0800 Subject: [PATCH 1/2] Fix tests on non-UTC systems The tests pass with or without the changes in this commit in the docker container, which is UTC, but fail without the changes on my laptop, which is not UTC. The problem is that `datetime.utcnow()` is not timezone aware, so it only works on UTC systems. --- lib/execution_engine2/db/MongoUtil.py | 4 ++-- test/tests_for_db/ee2_MongoUtil_test.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/execution_engine2/db/MongoUtil.py b/lib/execution_engine2/db/MongoUtil.py index 349b066bc..3588ada9b 100644 --- a/lib/execution_engine2/db/MongoUtil.py +++ b/lib/execution_engine2/db/MongoUtil.py @@ -3,7 +3,7 @@ import time import traceback from contextlib import contextmanager -from datetime import datetime +from datetime import datetime, timezone from typing import Dict, List from bson.objectid import ObjectId from mongoengine import connect, connection @@ -285,7 +285,7 @@ def update_jobs_to_queued( bulk_update_scheduler_jobs = [] bulk_update_created_to_queued = [] - queue_time_now = datetime.utcnow().timestamp() + queue_time_now = datetime.now(tz=timezone.utc).timestamp() for job_id_pair in job_id_pairs: if job_id_pair.job_id is None: raise ValueError( diff --git a/test/tests_for_db/ee2_MongoUtil_test.py b/test/tests_for_db/ee2_MongoUtil_test.py index 9591f16a1..e0719a5f1 100644 --- a/test/tests_for_db/ee2_MongoUtil_test.py +++ b/test/tests_for_db/ee2_MongoUtil_test.py @@ -2,7 +2,7 @@ import logging import os import unittest -from datetime import datetime +from datetime import datetime, timezone from bson.objectid import ObjectId @@ -87,7 +87,7 @@ def test_update_jobs_enmasse(self): scheduler_ids = ["humpty", "dumpty", "alice"] jobs_to_update = list(map(JobIdPair, job_ids, scheduler_ids)) - now_ms = datetime.utcnow().timestamp() + now_ms = datetime.now(tz=timezone.utc).timestamp() self.getMongoUtil().update_jobs_to_queued(jobs_to_update) job.reload() From e7b51154a1da4e41515ce7aafbc6a7841f496f2a Mon Sep 17 00:00:00 2001 From: Gavin Date: Sun, 19 Dec 2021 18:07:11 -0800 Subject: [PATCH 2/2] Switch to time.time() --- lib/execution_engine2/db/MongoUtil.py | 3 +-- test/tests_for_db/ee2_MongoUtil_test.py | 5 ++--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/lib/execution_engine2/db/MongoUtil.py b/lib/execution_engine2/db/MongoUtil.py index 3588ada9b..88527d029 100644 --- a/lib/execution_engine2/db/MongoUtil.py +++ b/lib/execution_engine2/db/MongoUtil.py @@ -3,7 +3,6 @@ import time import traceback from contextlib import contextmanager -from datetime import datetime, timezone from typing import Dict, List from bson.objectid import ObjectId from mongoengine import connect, connection @@ -285,7 +284,7 @@ def update_jobs_to_queued( bulk_update_scheduler_jobs = [] bulk_update_created_to_queued = [] - queue_time_now = datetime.now(tz=timezone.utc).timestamp() + queue_time_now = time.time() for job_id_pair in job_id_pairs: if job_id_pair.job_id is None: raise ValueError( diff --git a/test/tests_for_db/ee2_MongoUtil_test.py b/test/tests_for_db/ee2_MongoUtil_test.py index e0719a5f1..c13388a8e 100644 --- a/test/tests_for_db/ee2_MongoUtil_test.py +++ b/test/tests_for_db/ee2_MongoUtil_test.py @@ -1,8 +1,8 @@ # -*- coding: utf-8 -*- import logging import os +import time import unittest -from datetime import datetime, timezone from bson.objectid import ObjectId @@ -87,8 +87,7 @@ def test_update_jobs_enmasse(self): scheduler_ids = ["humpty", "dumpty", "alice"] jobs_to_update = list(map(JobIdPair, job_ids, scheduler_ids)) - now_ms = datetime.now(tz=timezone.utc).timestamp() - + now_ms = time.time() self.getMongoUtil().update_jobs_to_queued(jobs_to_update) job.reload() job2.reload()