fix: pytz manipulation of dumptime
* fix: pytz manipulation of dumptime * fix: use pytz correctly. Add test for api/version dumpinfo time. * fix: actually use pytz correctly
This commit is contained in:
parent
7ea3e18705
commit
a4ecccb061
|
@ -30,6 +30,7 @@ from ietf.person.models import User
|
||||||
from ietf.person.models import PersonalApiKey
|
from ietf.person.models import PersonalApiKey
|
||||||
from ietf.stats.models import MeetingRegistration
|
from ietf.stats.models import MeetingRegistration
|
||||||
from ietf.utils.mail import outbox, get_payload_text
|
from ietf.utils.mail import outbox, get_payload_text
|
||||||
|
from ietf.utils.models import DumpInfo
|
||||||
from ietf.utils.test_utils import TestCase, login_testing_unauthorized
|
from ietf.utils.test_utils import TestCase, login_testing_unauthorized
|
||||||
|
|
||||||
OMITTED_APPS = (
|
OMITTED_APPS = (
|
||||||
|
@ -418,10 +419,17 @@ class CustomApiTests(TestCase):
|
||||||
self.assertEqual(set(missing_fields), set(drop_fields))
|
self.assertEqual(set(missing_fields), set(drop_fields))
|
||||||
|
|
||||||
def test_api_version(self):
|
def test_api_version(self):
|
||||||
|
DumpInfo.objects.create(date=timezone.datetime(2022,8,31,7,10,1,tzinfo=timezone.utc), host='testapi.example.com',tz='UTC')
|
||||||
url = urlreverse('ietf.api.views.version')
|
url = urlreverse('ietf.api.views.version')
|
||||||
r = self.client.get(url)
|
r = self.client.get(url)
|
||||||
data = r.json()
|
data = r.json()
|
||||||
self.assertEqual(data['version'], ietf.__version__+ietf.__patch__)
|
self.assertEqual(data['version'], ietf.__version__+ietf.__patch__)
|
||||||
|
self.assertEqual(data['dumptime'], "2022-08-31 07:10:01 +0000")
|
||||||
|
DumpInfo.objects.update(tz='PST8PDT')
|
||||||
|
r = self.client.get(url)
|
||||||
|
data = r.json()
|
||||||
|
self.assertEqual(data['dumptime'], "2022-08-31 07:10:01 -0700")
|
||||||
|
|
||||||
|
|
||||||
def test_api_appauth(self):
|
def test_api_appauth(self):
|
||||||
url = urlreverse('ietf.api.views.app_auth')
|
url = urlreverse('ietf.api.views.app_auth')
|
||||||
|
|
|
@ -200,8 +200,13 @@ def api_new_meeting_registration(request):
|
||||||
|
|
||||||
|
|
||||||
def version(request):
|
def version(request):
|
||||||
|
dumpdate = None
|
||||||
dumpinfo = DumpInfo.objects.order_by('-date').first()
|
dumpinfo = DumpInfo.objects.order_by('-date').first()
|
||||||
dumptime = pytz.timezone(dumpinfo.tz).localize(dumpinfo.date).strftime('%Y-%m-%d %H:%M:%S %z') if dumpinfo else None
|
if dumpinfo:
|
||||||
|
dumpdate = dumpinfo.date
|
||||||
|
if dumpinfo.tz != "UTC":
|
||||||
|
dumpdate = pytz.timezone(dumpinfo.tz).localize(dumpinfo.date.replace(tzinfo=None))
|
||||||
|
dumptime = dumpdate.strftime('%Y-%m-%d %H:%M:%S %z') if dumpinfo else None
|
||||||
return HttpResponse(
|
return HttpResponse(
|
||||||
json.dumps({
|
json.dumps({
|
||||||
'version': ietf.__version__+ietf.__patch__,
|
'version': ietf.__version__+ietf.__patch__,
|
||||||
|
|
Loading…
Reference in a new issue