Exemplo n.º 1
0
 def test_client_wants_json_back(self):
     """Clients requesting JSON should definitely not get XML back."""
     body = '{"container": {"attribute": "value"}}'
     req = make_request(body=body, method='POST', accept='application/json')
     middleware.XmlBodyMiddleware(None).process_request(req)
     resp = make_response(body=body)
     middleware.XmlBodyMiddleware(None).process_response(req, resp)
     self.assertNotIn('application/xml', resp.content_type)
Exemplo n.º 2
0
 def test_client_fails_to_specify_accept(self):
     """If client does not specify an Accept header, default to JSON."""
     body = '{"container": {"attribute": "value"}}'
     req = make_request(body=body, method='POST')
     middleware.XmlBodyMiddleware(None).process_request(req)
     resp = make_response(body=body)
     middleware.XmlBodyMiddleware(None).process_response(req, resp)
     self.assertNotIn('application/xml', resp.content_type)
Exemplo n.º 3
0
 def test_client_wants_xml_back(self):
     """Clients requesting XML should get what they ask for."""
     body = '{"container": {"attribute": "value"}}'
     req = make_request(body=body, method='POST', accept='application/xml')
     middleware.XmlBodyMiddleware(None).process_request(req)
     resp = make_response(body=body)
     middleware.XmlBodyMiddleware(None).process_response(req, resp)
     self.assertEqual(resp.content_type, 'application/xml')
Exemplo n.º 4
0
 def test_json_unnaffected(self):
     """JSON-only requests should be unnaffected by the XML middleware."""
     content_type = 'application/json'
     body = '{"container": {"attribute": "value"}}'
     req = make_request(body=body, content_type=content_type, method='POST')
     middleware.XmlBodyMiddleware(None).process_request(req)
     self.assertEqual(req.body, body)
     self.assertEqual(req.content_type, content_type)
Exemplo n.º 5
0
 def test_xml_replaced_by_json(self):
     """XML requests should be replaced by JSON requests."""
     req = make_request(
         body='<container><element attribute="value" /></container>',
         content_type='application/xml',
         method='POST')
     middleware.XmlBodyMiddleware(None).process_request(req)
     self.assertTrue(req.content_type, 'application/json')
     self.assertTrue(json.loads(req.body))