def test_get_network_response_exception(self): """Test get network response with request exception.""" client = SourcesHTTPClient(auth_header=Config.SOURCES_FAKE_HEADER, source_id=self.source_id) with requests_mock.mock() as m: m.get(url=MOCK_URL, exc=RequestException) with self.assertRaises(SourcesHTTPClientError): client._get_network_response(MOCK_URL, "test error")
def test_get_network_response_status_exception(self): """Test get network response with invalid status responses.""" client = SourcesHTTPClient(auth_header=Config.SOURCES_FAKE_HEADER, source_id=self.source_id) table = [{"status": 404, "expected": SourceNotFoundError}, {"status": 403, "expected": SourcesHTTPClientError}] for test in table: with self.subTest(test=test): with requests_mock.mock() as m: m.get(url=MOCK_URL, status_code=test.get("status"), exc=test.get("exc")) with self.assertRaises(test.get("expected")): client._get_network_response(MOCK_URL, "test error")
def test_get_network_response_success(self): """Test get network response succeeds.""" client = SourcesHTTPClient(auth_header=Config.SOURCES_FAKE_HEADER, source_id=self.source_id) with requests_mock.mock() as m: m.get(url=MOCK_URL, json={"data": "valid json"}) resp = client._get_network_response(MOCK_URL, "test error") self.assertEqual(resp.get("data"), "valid json")