Example #1
0
  def test_raises_http_error(self, mock_request, mock_response):
    self._setup_mocks(mock_request, mock_response, 'Not Found', 404)

    with self.assertRaises(Exception) as error:
      Http.request('http://www.example.org')

    e = error.exception
    self.assertEqual(e.status, 404)
    self.assertEqual(e.content, 'Not Found')
Example #2
0
    def test_raises_http_error(self, mock_request, mock_response):
        self._setup_mocks(mock_request, mock_response, 'Not Found', 404)

        with self.assertRaises(Exception) as error:
            Http.request('http://www.example.org')

        e = error.exception
        self.assertEqual(e.status, 404)
        self.assertEqual(e.content, 'Not Found')
Example #3
0
  def test_supports_custom_content(self, mock_request, mock_response):
    self._setup_mocks(mock_request, mock_response, '{}')

    headers = {'Content-Type': 'text/plain'}
    data = 'custom text'
    _ = Http.request('http://www.example.org', data=data, headers=headers)

    self.assertEqual(mock_request.call_args[1]['body'], 'custom text')
    self.assertEqual(mock_request.call_args[1]['headers']['Content-Type'], 'text/plain')
Example #4
0
  def test_formats_json_request(self, mock_request, mock_response):
    self._setup_mocks(mock_request, mock_response, '{}')

    data = {'abc': 123}
    _ = Http.request('http://www.example.org', data=data)

    self.assertEqual(mock_request.call_args[1]['body'], '{"abc": 123}')
    self.assertEqual(mock_request.call_args[1]['headers']['Content-Type'],
                     'application/json')
Example #5
0
    def test_formats_json_request(self, mock_request, mock_response):
        self._setup_mocks(mock_request, mock_response, '{}')

        data = {'abc': 123}
        _ = Http.request('http://www.example.org', data=data)

        self.assertEqual(mock_request.call_args[1]['body'], '{"abc": 123}')
        self.assertEqual(mock_request.call_args[1]['headers']['Content-Type'],
                         'application/json')
Example #6
0
    def test_supports_custom_content(self, mock_request, mock_response):
        self._setup_mocks(mock_request, mock_response, '{}')

        headers = {'Content-Type': 'text/plain'}
        data = 'custom text'
        _ = Http.request('http://www.example.org', data=data, headers=headers)

        self.assertEqual(mock_request.call_args[1]['body'], 'custom text')
        self.assertEqual(mock_request.call_args[1]['headers']['Content-Type'],
                         'text/plain')
Example #7
0
  def test_parses_json_response(self, mock_request, mock_response):
    self._setup_mocks(mock_request, mock_response, '{"abc":123}')

    data = Http.request('http://www.example.org')
    self.assertEqual(data['abc'], 123)
Example #8
0
  def test_query_string_format(self, mock_request, mock_response):
    self._setup_mocks(mock_request, mock_response, '{}')

    Http.request('http://www.example.org', args={'a': 1, 'b': 'a b c'})
    self.assertEqual(mock_request.call_args[0][0],
                     'http://www.example.org?a=1&b=a+b+c')
Example #9
0
  def test_explicit_post_request_is_invoked(self, mock_request, mock_response):
    self._setup_mocks(mock_request, mock_response, '{}')

    Http.request('http://www.example.org', method='POST')
    self.assertEqual(mock_request.call_args[1]['method'], 'POST')
Example #10
0
  def test_get_request_is_invoked(self, mock_request, mock_response):
    self._setup_mocks(mock_request, mock_response, '{}')

    Http.request('http://www.example.org')
    self.assertEqual(mock_request.call_count, 1)
    self.assertEqual(mock_request.call_args[1]['method'], 'GET')
Example #11
0
    def test_parses_json_response(self, mock_request, mock_response):
        self._setup_mocks(mock_request, mock_response, '{"abc":123}')

        data = Http.request('http://www.example.org')
        self.assertEqual(data['abc'], 123)
Example #12
0
    def test_query_string_format(self, mock_request, mock_response):
        self._setup_mocks(mock_request, mock_response, '{}')

        Http.request('http://www.example.org', args={'a': 1, 'b': 'a b c'})
        self.assertEqual(mock_request.call_args[0][0],
                         'http://www.example.org?a=1&b=a+b+c')
Example #13
0
    def test_explicit_post_request_is_invoked(self, mock_request,
                                              mock_response):
        self._setup_mocks(mock_request, mock_response, '{}')

        Http.request('http://www.example.org', method='POST')
        self.assertEqual(mock_request.call_args[1]['method'], 'POST')
Example #14
0
    def test_get_request_is_invoked(self, mock_request, mock_response):
        self._setup_mocks(mock_request, mock_response, '{}')

        Http.request('http://www.example.org')
        self.assertEqual(mock_request.call_count, 1)
        self.assertEqual(mock_request.call_args[1]['method'], 'GET')