From 28b0ae5a3863aa0e58eada8db344ae25685139a1 Mon Sep 17 00:00:00 2001 From: shabbyrobe Date: Thu, 26 May 2016 17:48:09 +1000 Subject: Updated calls to addRawHeader to use setRawHeaders --- service/pixelated/resources/__init__.py | 4 ++-- service/test/unit/resources/test_helpers.py | 30 +++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 service/test/unit/resources/test_helpers.py (limited to 'service') diff --git a/service/pixelated/resources/__init__.py b/service/pixelated/resources/__init__.py index 9ccca7ee..cd27fab0 100644 --- a/service/pixelated/resources/__init__.py +++ b/service/pixelated/resources/__init__.py @@ -36,14 +36,14 @@ class SetEncoder(json.JSONEncoder): def respond_json(entity, request, status_code=200): json_response = json.dumps(entity, cls=SetEncoder) - request.responseHeaders.addRawHeader(b"content-type", [b"application/json"]) + request.responseHeaders.setRawHeaders(b"content-type", [b"application/json"]) request.code = status_code return json_response def respond_json_deferred(entity, request, status_code=200): json_response = json.dumps(entity, cls=SetEncoder) - request.responseHeaders.addRawHeader(b"content-type", [b"application/json"]) + request.responseHeaders.setRawHeaders(b"content-type", [b"application/json"]) request.code = status_code request.write(json_response) request.finish() diff --git a/service/test/unit/resources/test_helpers.py b/service/test/unit/resources/test_helpers.py new file mode 100644 index 00000000..a17ce755 --- /dev/null +++ b/service/test/unit/resources/test_helpers.py @@ -0,0 +1,30 @@ +import unittest +import re + +from pixelated.resources import respond_json, respond_json_deferred +from test.unit.resources import DummySite +from twisted.web.test.requesthelper import DummyRequest + + +class TestHelpers(unittest.TestCase): + + def setUp(self): + pass + + def test_respond_json_should_populate_response(self): + request = DummyRequest(['']) + body = respond_json({"test": "yep"}, request) + + self.assertEqual(200, request.code) + self.assertEqual(b"{\"test\": \"yep\"}", body) + self.assertEqual([b"application/json"], + request.responseHeaders.getRawHeaders("Content-Type")) + + def test_respond_json_deferred_should_populate_response(self): + request = DummyRequest(['']) + body = respond_json_deferred({"test": "yep"}, request) + + self.assertEqual(200, request.code) + self.assertEqual(b"{\"test\": \"yep\"}", request.written[0]) + self.assertEqual([b"application/json"], + request.responseHeaders.getRawHeaders("Content-Type")) -- cgit v1.2.3