Ejemplo n.º 1
0
    def test_do_post_json(self, mock_notifier, mock_debug, mock_request,
                          mock_response):
        response = mock_response()
        response.status = 200
        notifier = mock_notifier()
        mock_request.return_value = (response, '{"foo": "bar"}')
        http = FixcityHttp(notifier)

        content = http.do_post_json('http://example.com',
                                    "{'some key': 'some value'}")
        self.assertEqual(content, {'foo': 'bar'})
        self.failIf(notifier.bounce.call_count)
Ejemplo n.º 2
0
    def test_do_post_json__parse_error(self, mock_notifier, mock_log, 
                                       mock_request, mock_response):
        response = mock_response()
        response.status = 200
        notifier = mock_notifier()
        mock_request.return_value = (response, 'this is not my beautiful JSON')
        http = FixcityHttp(notifier)

        content = http.do_post_json('http://example.com',
                                    "{'some key': 'some value'}")
        self.assertEqual(content, None)
        self.assertEqual(notifier.on_server_error.call_count, 1)
        self.assertEqual(mock_log.call_count, 2)
Ejemplo n.º 3
0
 def test_do_post_json__validation_errors(self, mock_notifier, mock_debug,
                                          mock_request, mock_response):
     response = mock_response()
     notifier = mock_notifier()
     response.status = 200
     from django.utils import simplejson as json
     error_body = json.dumps(
         {'errors': {'title': ['This field is required.']}})
     mock_request.return_value = (response, error_body)
     http = FixcityHttp(notifier)
     content = http.do_post_json('http://example.com',
                                  {'user': '******', 'some key': 'some value'})
     self.assertEqual(content, json.loads(error_body))
     self.assertEqual(notifier.on_user_error.call_count, 1)