diff options
| author | Mark Sapiro | 2016-12-04 15:40:12 -0800 |
|---|---|---|
| committer | Mark Sapiro | 2016-12-04 15:40:12 -0800 |
| commit | b7eef6badf3fc6e6bd0534ca58647f0e8219e977 (patch) | |
| tree | 7e2999232b8e3c6b54fffc5a31a90414c167ffe1 /src/mailman/rest/tests/test_helpers.py | |
| parent | 0846595ab8f75afda49fcdf35abe87b609af55d5 (diff) | |
| parent | b50fc4b57c9a8886407fd9ae0b88bdaa2075d3a2 (diff) | |
| download | mailman-b7eef6badf3fc6e6bd0534ca58647f0e8219e977.tar.gz mailman-b7eef6badf3fc6e6bd0534ca58647f0e8219e977.tar.zst mailman-b7eef6badf3fc6e6bd0534ca58647f0e8219e977.zip | |
Diffstat (limited to 'src/mailman/rest/tests/test_helpers.py')
| -rw-r--r-- | src/mailman/rest/tests/test_helpers.py | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/src/mailman/rest/tests/test_helpers.py b/src/mailman/rest/tests/test_helpers.py index 982b97ef3..07ae784c8 100644 --- a/src/mailman/rest/tests/test_helpers.py +++ b/src/mailman/rest/tests/test_helpers.py @@ -17,11 +17,14 @@ """Additional tests for helpers.""" +import json import unittest from datetime import timedelta +from email.header import Header +from email.message import Message from mailman.rest import helpers -from mailman.testing.layers import ConfigLayer +from mailman.testing.layers import ConfigLayer, RESTLayer class FakeResponse: @@ -74,3 +77,23 @@ class TestHelpers(unittest.TestCase): def test_json_encoding_default(self): resource = dict(interval=Unserializable()) self.assertRaises(TypeError, helpers.etag, resource) + + +class TestJSONEncoder(unittest.TestCase): + """Test the JSON ExtendedEncoder.""" + layer = RESTLayer + + def test_encode_message(self): + msg = Message() + msg['From'] = 'test@example.com' + msg.set_payload('Test content.') + result = json.dumps(msg, cls=helpers.ExtendedEncoder) + self.assertEqual( + result, json.dumps('From: test@example.com\n\nTest content.')) + + def test_encode_header(self): + value = 'Contains non-ascii \u00e9 \u00e7 \u00e0' + result = json.dumps( + Header(value, charset='utf-8'), + cls=helpers.ExtendedEncoder) + self.assertEqual(result, json.dumps(value)) |
