Development #16194
Clarifier/vérifier le fonctionnement en fuseau != UTC
0%
Description
Note de Thomas dans #16031 :
Fugace impression que les tests passent parce que «TIME_ZONE = 'UTC'» dans chrono/settings.py, mais en fait non, et je doute un peu : on renvoie la date en UTC ?
Sans doute utile d'écrire les tests de telle sorte qu'ils fonctionnent avec une autre TIME_ZONE.
Fichiers
Révisions associées
tests: run in a different time zone (#16194)
Historique
Mis à jour par Frédéric Péters il y a presque 7 ans
- Fichier 0002-tests-run-in-a-different-time-zone-16194.patch 0002-tests-run-in-a-different-time-zone-16194.patch ajouté
- Fichier 0001-api-make-datetimes-return-datetimes-in-localtime-161.patch 0001-api-make-datetimes-return-datetimes-in-localtime-161.patch ajouté
- Patch proposed changé de Non à Oui
Voilà, correction aux API /datetimes pour utiliser localtime(), et second patch pour faire tourner les tests avec une timezone exotique.
Mis à jour par Thomas Noël il y a presque 7 ans
Marche pas du tout, parce qu'il manque dans chrono/api/views.py :
-from django.utils.timezone import now, make_aware +from django.utils.timezone import now, make_aware, localtime
Et lors des tests :
> assert resp.json['datetime'] == localtime(event.start_datetime).isoformat() E AssertionError: assert '2017-05-06T11:30:00Z' == '2017-05-06T17:00:00+05:30' E - 2017-05-06T11:30:00Z E ? ^ ^ ^ E + 2017-05-06T17:00:00+05:30 E ? ^ ^ ^^^^^^
> assert resp_booking.json['datetime'][:16] == localtime(Booking.objects.all()[0].event.start_datetime ).isoformat()[:16] E AssertionError: assert '2017-05-07T05:30' == '2017-05-07T11:00' E - 2017-05-07T05:30 E ? --- E + 2017-05-07T11:00 E ? +++
Aussi, j'ai du mal à piger les «localtime(now())» : pour moi c'est la même chose que «now()» (now() est "time-zone-aware" parce que settings.USE_TZ=True) ?
Mis à jour par Frédéric Péters il y a presque 7 ans
Ça vient après d'autres patchs, ou j'ai merdé des rebase, je vérifierai.
Mis à jour par Frédéric Péters il y a presque 7 ans
- Fichier 0002-tests-run-in-a-different-time-zone-16194.patch 0002-tests-run-in-a-different-time-zone-16194.patch ajouté
- Fichier 0001-api-make-datetimes-return-datetimes-in-localtime-161.patch 0001-api-make-datetimes-return-datetimes-in-localtime-161.patch ajouté
Les deux patchs après les rebase et cie des tickets précédents.
Mis à jour par Frédéric Péters il y a presque 7 ans
- Statut changé de En cours à Résolu (à déployer)
J'ai aussi ajouté un test pour vérifier qu'une date entrée depuis le /manage/ était correctement retournée dans l'API.
commit 206a97ffe4cadce7cede62a4136bc19edc6f7531 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Fri May 5 17:35:38 2017 +0200 tests: run in a different time zone (#16194) commit 7a0d7e5557c79939e5343c1b245e99cbd508bce1 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Fri May 5 17:11:07 2017 +0200 api: make datetimes return datetimes in localtime (#16194)
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Statut changé de Résolu (à déployer) à Solution déployée
api: make datetimes return datetimes in localtime (#16194)