certbot/acme/tests/fields_test.py

73 lines
2 KiB
Python
Raw Normal View History

2015-05-10 07:26:21 -04:00
"""Tests for acme.fields."""
2015-03-27 04:43:05 -04:00
import datetime
import unittest
import josepy as jose
2015-03-27 04:43:05 -04:00
import pytz
class FixedTest(unittest.TestCase):
"""Tests for acme.fields.Fixed."""
def setUp(self):
from acme.fields import fixed
self.field = fixed('name', 'x')
def test_decode(self):
self.assertEqual('x', self.field.decode('x'))
def test_decode_bad(self):
self.assertRaises(jose.DeserializationError, self.field.decode, 'y')
def test_encode(self):
self.assertEqual('x', self.field.encode('x'))
def test_encode_override(self):
self.assertEqual('y', self.field.encode('y'))
2015-03-27 04:43:05 -04:00
class RFC3339FieldTest(unittest.TestCase):
2015-05-10 07:26:21 -04:00
"""Tests for acme.fields.RFC3339Field."""
2015-03-27 04:43:05 -04:00
def setUp(self):
self.decoded = datetime.datetime(2015, 3, 27, tzinfo=pytz.utc)
self.encoded = '2015-03-27T00:00:00Z'
def test_default_encoder(self):
2015-05-10 07:26:21 -04:00
from acme.fields import RFC3339Field
2015-03-27 04:43:05 -04:00
self.assertEqual(
self.encoded, RFC3339Field.default_encoder(self.decoded))
def test_default_encoder_naive_fails(self):
2015-05-10 07:26:21 -04:00
from acme.fields import RFC3339Field
2015-03-27 04:43:05 -04:00
self.assertRaises(
ValueError, RFC3339Field.default_encoder, datetime.datetime.now())
def test_default_decoder(self):
2015-05-10 07:26:21 -04:00
from acme.fields import RFC3339Field
2015-03-27 04:43:05 -04:00
self.assertEqual(
self.decoded, RFC3339Field.default_decoder(self.encoded))
def test_default_decoder_raises_deserialization_error(self):
2015-05-10 07:26:21 -04:00
from acme.fields import RFC3339Field
2015-03-27 04:43:05 -04:00
self.assertRaises(
jose.DeserializationError, RFC3339Field.default_decoder, '')
2015-07-17 10:58:06 -04:00
class ResourceTest(unittest.TestCase):
"""Tests for acme.fields.Resource."""
def setUp(self):
from acme.fields import Resource
self.field = Resource('x')
def test_decode_good(self):
self.assertEqual('x', self.field.decode('x'))
def test_decode_wrong(self):
self.assertRaises(jose.DeserializationError, self.field.decode, 'y')
if __name__ == '__main__':
unittest.main() # pragma: no cover