Skip to content

Commit 8d88eb2

Browse files
committed
Fix timezone issues
1 parent 705dc4b commit 8d88eb2

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

django_dbq/tests.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,13 @@
1313
from io import StringIO
1414

1515

16+
try:
17+
utc = timezone.utc
18+
except AttributeError:
19+
from datetime import timezone as datetime_timezone
20+
utc = datetime_timezone.utc
21+
22+
1623
def test_task(job=None):
1724
pass # pragma: no cover
1825

@@ -189,7 +196,7 @@ def test_get_next_ready_job(self):
189196
Job.objects.create(name="testjob", state=Job.STATES.READY)
190197
Job.objects.create(name="testjob", state=Job.STATES.PROCESSING)
191198
expected = Job.objects.create(name="testjob", state=Job.STATES.READY)
192-
expected.created = datetime.now() - timedelta(minutes=1)
199+
expected.created = timezone.now() - timedelta(minutes=1)
193200
expected.save()
194201

195202
self.assertEqual(Job.objects.get_ready_or_none("default"), expected)
@@ -231,7 +238,7 @@ def test_gets_jobs_in_priority_and_date_order(self):
231238

232239
def test_ignores_jobs_until_run_after_is_in_the_past(self):
233240
job_1 = Job.objects.create(name="testjob")
234-
job_2 = Job.objects.create(name="testjob", run_after=datetime(2021, 11, 4, 8))
241+
job_2 = Job.objects.create(name="testjob", run_after=datetime(2021, 11, 4, 8, tzinfo=utc))
235242

236243
with freezegun.freeze_time(datetime(2021, 11, 4, 7)):
237244
self.assertEqual(
@@ -256,7 +263,7 @@ def test_get_next_ready_job_created(self):
256263
Job.objects.create(name="testjob", state=Job.STATES.NEW)
257264
Job.objects.create(name="testjob", state=Job.STATES.PROCESSING)
258265
expected = Job.objects.create(name="testjob", state=Job.STATES.NEW)
259-
expected.created = datetime.now() - timedelta(minutes=1)
266+
expected.created = timezone.now() - timedelta(minutes=1)
260267
expected.save()
261268

262269
self.assertEqual(Job.objects.get_ready_or_none("default"), expected)
@@ -336,7 +343,7 @@ def test_failure_hook(self):
336343
@override_settings(JOBS={"testjob": {"tasks": ["a"]}})
337344
class DeleteOldJobsTestCase(TestCase):
338345
def test_delete_old_jobs(self):
339-
two_days_ago = datetime.utcnow() - timedelta(days=2)
346+
two_days_ago = timezone.now() - timedelta(days=2)
340347

341348
j1 = Job.objects.create(name="testjob", state=Job.STATES.COMPLETE)
342349
j1.created = two_days_ago

0 commit comments

Comments
 (0)