summaryrefslogtreecommitdiff
path: root/tests/timezones
diff options
context:
space:
mode:
authorMorgan Aubert <morgan.aubert@impakfinance.com>2018-04-27 17:18:15 -0400
committerTim Graham <timograham@gmail.com>2018-05-09 11:40:28 -0400
commit704443acacf0dfbcb1c52df4b260585055754ce7 (patch)
tree600147bf6114d7b490fcd253ff9797b7e7531c09 /tests/timezones
parent7ba040de7703fd06b9b35ddd31da40103d911c30 (diff)
downloaddjango-704443acacf0dfbcb1c52df4b260585055754ce7.tar.gz
Fixed #29363 -- Added SimpleTestCase.assertWarnsMessage().
Diffstat (limited to 'tests/timezones')
-rw-r--r--tests/timezones/tests.py35
1 files changed, 8 insertions, 27 deletions
diff --git a/tests/timezones/tests.py b/tests/timezones/tests.py
index 33b7897b82..3f7f70c7fb 100644
--- a/tests/timezones/tests.py
+++ b/tests/timezones/tests.py
@@ -1,7 +1,6 @@
import datetime
import re
import sys
-import warnings
from contextlib import contextmanager
from unittest import SkipTest, skipIf
from xml.dom.minidom import parseString
@@ -226,17 +225,13 @@ class LegacyDatabaseTests(TestCase):
@override_settings(TIME_ZONE='Africa/Nairobi', USE_TZ=True)
class NewDatabaseTests(TestCase):
+ naive_warning = 'DateTimeField Event.dt received a naive datetime'
@requires_tz_support
def test_naive_datetime(self):
dt = datetime.datetime(2011, 9, 1, 13, 20, 30)
- with warnings.catch_warnings(record=True) as recorded:
- warnings.simplefilter('always')
+ with self.assertWarnsMessage(RuntimeWarning, self.naive_warning):
Event.objects.create(dt=dt)
- self.assertEqual(len(recorded), 1)
- msg = str(recorded[0].message)
- self.assertTrue(msg.startswith("DateTimeField Event.dt received "
- "a naive datetime"))
event = Event.objects.get()
# naive datetimes are interpreted in local time
self.assertEqual(event.dt, dt.replace(tzinfo=EAT))
@@ -244,26 +239,16 @@ class NewDatabaseTests(TestCase):
@requires_tz_support
def test_datetime_from_date(self):
dt = datetime.date(2011, 9, 1)
- with warnings.catch_warnings(record=True) as recorded:
- warnings.simplefilter('always')
+ with self.assertWarnsMessage(RuntimeWarning, self.naive_warning):
Event.objects.create(dt=dt)
- self.assertEqual(len(recorded), 1)
- msg = str(recorded[0].message)
- self.assertTrue(msg.startswith("DateTimeField Event.dt received "
- "a naive datetime"))
event = Event.objects.get()
self.assertEqual(event.dt, datetime.datetime(2011, 9, 1, tzinfo=EAT))
@requires_tz_support
def test_naive_datetime_with_microsecond(self):
dt = datetime.datetime(2011, 9, 1, 13, 20, 30, 405060)
- with warnings.catch_warnings(record=True) as recorded:
- warnings.simplefilter('always')
+ with self.assertWarnsMessage(RuntimeWarning, self.naive_warning):
Event.objects.create(dt=dt)
- self.assertEqual(len(recorded), 1)
- msg = str(recorded[0].message)
- self.assertTrue(msg.startswith("DateTimeField Event.dt received "
- "a naive datetime"))
event = Event.objects.get()
# naive datetimes are interpreted in local time
self.assertEqual(event.dt, dt.replace(tzinfo=EAT))
@@ -330,17 +315,13 @@ class NewDatabaseTests(TestCase):
dt = datetime.datetime(2011, 9, 1, 12, 20, 30, tzinfo=EAT)
Event.objects.create(dt=dt)
dt = dt.replace(tzinfo=None)
- with warnings.catch_warnings(record=True) as recorded:
- warnings.simplefilter('always')
- # naive datetimes are interpreted in local time
+ # naive datetimes are interpreted in local time
+ with self.assertWarnsMessage(RuntimeWarning, self.naive_warning):
self.assertEqual(Event.objects.filter(dt__exact=dt).count(), 1)
+ with self.assertWarnsMessage(RuntimeWarning, self.naive_warning):
self.assertEqual(Event.objects.filter(dt__lte=dt).count(), 1)
+ with self.assertWarnsMessage(RuntimeWarning, self.naive_warning):
self.assertEqual(Event.objects.filter(dt__gt=dt).count(), 0)
- self.assertEqual(len(recorded), 3)
- for warning in recorded:
- msg = str(warning.message)
- self.assertTrue(msg.startswith("DateTimeField Event.dt "
- "received a naive datetime"))
@skipUnlessDBFeature('has_zoneinfo_database')
def test_query_datetime_lookups(self):