From 35dc1acb076da363ccd9b50e0b8a6c167d3c6e55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexis=20M=C3=A9taireau?= Date: Fri, 24 Nov 2023 00:34:24 +0100 Subject: [PATCH] [fix] Use timezone aware datetimes --- umap/tests/test_views.py | 11 ++++++----- umap/views.py | 5 +++-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/umap/tests/test_views.py b/umap/tests/test_views.py index 25f080a3..1c865357 100644 --- a/umap/tests/test_views.py +++ b/umap/tests/test_views.py @@ -1,17 +1,18 @@ import json import socket -from datetime import date, timedelta +from datetime import date, datetime, timedelta import pytest from django.conf import settings from django.contrib.auth import get_user, get_user_model -from django.urls import reverse from django.test import RequestFactory +from django.urls import reverse +from django.utils.timezone import make_aware from umap import VERSION from umap.views import validate_url -from .base import UserFactory, MapFactory +from .base import MapFactory, UserFactory User = get_user_model() @@ -186,9 +187,9 @@ def test_stats_empty(client): @pytest.mark.django_db def test_stats_basic(client, map, datalayer, user2): - map.owner.last_login = date.today() + map.owner.last_login = make_aware(datetime.now()) map.owner.save() - user2.last_login = date.today() - timedelta(days=8) + user2.last_login = make_aware(datetime.now()) - timedelta(days=8) user2.save() response = client.get(reverse("stats")) assert json.loads(response.content.decode()) == { diff --git a/umap/views.py b/umap/views.py index 21f9dc4d..67a24643 100644 --- a/umap/views.py +++ b/umap/views.py @@ -3,7 +3,7 @@ import mimetypes import os import re import socket -from datetime import date, timedelta +from datetime import datetime, timedelta from http.client import InvalidURL from pathlib import Path from urllib.error import URLError @@ -33,6 +33,7 @@ from django.shortcuts import get_object_or_404 from django.urls import reverse, reverse_lazy from django.utils.encoding import smart_bytes from django.utils.http import http_date +from django.utils.timezone import make_aware from django.utils.translation import gettext as _ from django.utils.translation import to_locale from django.views.decorators.cache import cache_control @@ -1019,7 +1020,7 @@ class PictogramJSONList(ListView): def stats(request): - last_week = date.today() - timedelta(days=7) + last_week = make_aware(datetime.now()) - timedelta(days=7) return simple_json_response( **{ "version": VERSION,