summaryrefslogtreecommitdiff
path: root/src/mailman/rest/tests
diff options
context:
space:
mode:
authorMark Sapiro2016-12-09 10:09:35 -0800
committerMark Sapiro2016-12-09 10:09:35 -0800
commit39f3083f43a648d42b9de7c9c300e2902e0f9179 (patch)
treebd51f11de2821bd5c2b2f53db2d1bfc7ea5ad58b /src/mailman/rest/tests
parent898686f9317d75895eac62b3563b365ccc6b4ce8 (diff)
parent00d59d69137848b87d021475b40c8e39fe190636 (diff)
downloadmailman-39f3083f43a648d42b9de7c9c300e2902e0f9179.tar.gz
mailman-39f3083f43a648d42b9de7c9c300e2902e0f9179.tar.zst
mailman-39f3083f43a648d42b9de7c9c300e2902e0f9179.zip
Merged from master.
Diffstat (limited to 'src/mailman/rest/tests')
-rw-r--r--src/mailman/rest/tests/test_helpers.py25
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))