class JSONSerializerTestCase(unittest.TestCase): def setUp(self): super(JSONSerializerTestCase, self).setUp() self.json = JSONSerializer() def test_serialize_invalid_data(self): self.assertRaises(SerializerError, self.json.serialize, object) def test_using_short_separators(self): self.json.compact = True data = {'objects': [1, 2, 3]} output = self.json.serialize(data) self.assertEqual(output, b'{"objects":[1,2,3]}') def test_using_long_separators(self): self.json.compact = False data = {'objects': [1, 2, 3]} output = self.json.serialize(data) self.assertEqual(output, b'{"objects": [1, 2, 3]}') def test_ensure_ascii_is_true(self): self.json.ensure_ascii = True data = {"last_name": u"王"} output = self.json.serialize(data) self.assertEqual(output, b'{"last_name": "\\u738b"}') def test_ensure_ascii_is_false(self): self.json.ensure_ascii = False data = {"last_name": u"王"} output = self.json.serialize(data) self.assertEqual(output, b'{"last_name": "\xe7\x8e\x8b"}') def test_bad_unicode_symbols(self): data = ["\u2028", "\u2029"] output = self.json.serialize(data) self.assertEqual(output, b'["\\u2028", "\\u2029"]')
def process_request(self, request): """Handle received request from user. :param request: request from user. """ logger.info("\"{method} {url}\" args={args}".format( method=request.method, url=request.url, args=request.args) ) response = Response() try: url = self.extract_url(request) handler, args, kwargs = self.search_handler(request, url) # invoke handler for request if handler: for middleware in self.middlewares: middleware.process_request(request, handler) # search serializer for response format = request.get_argument('format') serializer = handler.get_serializer(format, *args, **kwargs) response.content = handler.dispatch(request, *args, **kwargs) response.append_request(request) else: raise NotSpecifiedHandler() except BaseAPIException as exc: logger.exception(exc) response.wrap_exception(exc) serializer = JSONSerializer() return serializer.serialize(response.content)
def setUp(self): super(JSONSerializerTestCase, self).setUp() self.json = JSONSerializer()