Пример #1
0
 def test_fetch_request_ex(self, mock_https):
     http_inst = mock_https.return_value
     http_inst.request.side_effect = Exception('fail request')
     fetch_result = fetch('https://google.com', {})
     self.assert_issue(fetch_result, 'https request failure')
     ex = cast(Issue, fetch_result.value).cause
     self.assertIsInstance(ex, Exception)
     self.assertEqual(str(ex), 'fail request')
Пример #2
0
 def test_fetch_https_server_err(self, mock_res, mock_http, mock_https):
     response = mock_res.return_value
     https_inst = mock_https.return_value
     https_inst.getresponse.return_value = response
     response.getcode.return_value = 500
     response.read.return_value = 'server error'
     fetch_result = fetch('https://google.com', {})
     mock_https.assert_called_once_with('google.com')
     mock_http.assert_not_called()
     self.assert_issue(fetch_result, 'https request failure (500)')
Пример #3
0
 def test_fetch_read_ex(self, mock_res, mock_https):
     response = mock_res.return_value
     https_inst = mock_https.return_value
     https_inst.getresponse.return_value = response
     response.getcode.return_value = 200
     response.read.side_effect = Exception('fail read')
     fetch_result = fetch('https://google.com', {})
     self.assert_issue(fetch_result, 'https read failure')
     ex = cast(Issue, fetch_result.value).cause
     self.assertIsInstance(ex, Exception)
     self.assertEqual(str(ex), 'fail read')
Пример #4
0
 def test_fetch_https(self, mock_res, mock_http, mock_https):
     response = mock_res.return_value
     https_inst = mock_https.return_value
     https_inst.getresponse.return_value = response
     response.getcode.return_value = 200
     response.read.return_value = 'content'
     fetch_result = fetch('https://google.com', {})
     mock_https.assert_called_once_with('google.com')
     mock_http.assert_not_called()
     fetch_content = cast(str, self.assert_ok(fetch_result))
     self.assertEqual(fetch_content, 'content')
Пример #5
0
 def test_fetch_https_body(self, mock_res, mock_https):
     response = mock_res.return_value
     https_inst = mock_https.return_value
     https_inst.getresponse.return_value = response
     response.getcode.return_value = 200
     response.read.return_value = 'content'
     fetch_result = fetch('https://google.com', {}, body='{"a":1}')
     mock_https.assert_called_once_with('google.com')
     https_inst.request.assert_called_once_with(
         'GET',
         '',
         '{"a":1}',
         {
             'user-agent': 'm',
             'content-length': '7'
         },
     )
     self.assert_ok(fetch_result)