mirror of
https://github.com/certbot/certbot.git
synced 2026-01-26 07:41:33 +03:00
* Add generic methods to save some casts, and fix lint * Update current and oldest pinning * Fix classes * Remove some todos thanks to josepy 1.11.0 * Cleanup some useless pylint disable * Finish complete typing * Better TypeVar names * Upgrade pinning and fix some typing errors * Use protocol * Fix types in apache Co-authored-by: Brad Warren <bmw@users.noreply.github.com>
73 lines
2.0 KiB
Python
73 lines
2.0 KiB
Python
"""Tests for acme.fields."""
|
|
import datetime
|
|
import unittest
|
|
|
|
import josepy as jose
|
|
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'))
|
|
|
|
|
|
class RFC3339FieldTest(unittest.TestCase):
|
|
"""Tests for acme.fields.RFC3339Field."""
|
|
|
|
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):
|
|
from acme.fields import RFC3339Field
|
|
self.assertEqual(
|
|
self.encoded, RFC3339Field.default_encoder(self.decoded))
|
|
|
|
def test_default_encoder_naive_fails(self):
|
|
from acme.fields import RFC3339Field
|
|
self.assertRaises(
|
|
ValueError, RFC3339Field.default_encoder, datetime.datetime.now())
|
|
|
|
def test_default_decoder(self):
|
|
from acme.fields import RFC3339Field
|
|
self.assertEqual(
|
|
self.decoded, RFC3339Field.default_decoder(self.encoded))
|
|
|
|
def test_default_decoder_raises_deserialization_error(self):
|
|
from acme.fields import RFC3339Field
|
|
self.assertRaises(
|
|
jose.DeserializationError, RFC3339Field.default_decoder, '')
|
|
|
|
|
|
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
|