dav_events: improved tests for Iso8601Serializer
Run tests / Execute tox to run the test suite (push) Successful in 2m50s
Run tests / Execute tox to run the test suite (push) Successful in 2m50s
This commit is contained in:
@@ -91,7 +91,7 @@ class Iso8601Serializer:
|
||||
value -= offset
|
||||
elif gd['offdir'] == '-':
|
||||
value += offset
|
||||
else:
|
||||
else: # pragma no cover
|
||||
raise ValueError('Offset format not recognized \'{str}\''.format(str=gd['offset']))
|
||||
value = value.replace(tzinfo=pytz.UTC)
|
||||
|
||||
|
||||
@@ -111,6 +111,31 @@ class Iso8601SerializerTestCase(TestCase):
|
||||
self.assertIsInstance(deserialized, obj.__class__)
|
||||
self.assertEqual(deserialized, obj)
|
||||
|
||||
def test_deserialize_with_valid_offset(self):
|
||||
test_data = (
|
||||
('1976-02-01T12:34:56+02', '1976-02-01 10:34:56+00:00'),
|
||||
('1976-02-01T12:34:56+10:04', '1976-02-01 02:30:56+00:00'),
|
||||
('1976-02-01T12:34:56-02', '1976-02-01 14:34:56+00:00'),
|
||||
('1976-02-01T12:34:56-12:14', '1976-02-02 00:48:56+00:00'),
|
||||
)
|
||||
for input_text, dt_str in test_data:
|
||||
text = 'ISO8601:{}'.format(input_text)
|
||||
deserialized = Iso8601Serializer.deserialize(text)
|
||||
self.assertEqual(str(deserialized), dt_str)
|
||||
|
||||
def test_deserialize_with_invalid_offset(self):
|
||||
invalid_data = (
|
||||
'1976-02-01T12:34:56+2',
|
||||
'1976-02-01T12:34:56+02:02:02',
|
||||
'1976-02-01T12:34:56+-02',
|
||||
'1976-02-01T12:34:56=02',
|
||||
'1976-02-01T12:34:56+CEST',
|
||||
)
|
||||
for input_text in invalid_data:
|
||||
text = 'ISO8601:{}'.format(input_text)
|
||||
with self.assertRaisesRegex(ValueError, 'Format not recognized \'.*\''):
|
||||
Iso8601Serializer.deserialize(text)
|
||||
|
||||
def test_deserialize_invalid(self):
|
||||
invalid_data = (
|
||||
(None, TypeError, 'Expected string type, not NoneType'),
|
||||
|
||||
Reference in New Issue
Block a user