summaryrefslogtreecommitdiff
path: root/tests/timezones
diff options
context:
space:
mode:
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):