def test_data_sent_to_server(self): req_obj = KazooRequest(self.path, auth_required=False) with mock.patch('requests.get') as mock_get: data_dict = {"data1": "dataval1"} req_obj.execute("http://testserver", param3="someval", data=data_dict) self.assert_data(mock_get, data_dict)
def test_data_sent_to_server(self): req_obj = KazooRequest(self.path, auth_required=False) with mock.patch('requests.get') as mock_get: data_dict = { "data1": "dataval1" } req_obj.execute("http://testserver", param3="someval", data=data_dict) self.assert_data(mock_get, data_dict)
def test_invalid_data_displays_invalid_field_data(self): req_obj = KazooRequest("/somepath", auth_required=False) with mock.patch('requests.get') as mock_get: mock_response = mock.Mock() mock_response.status_code = 400 mock_response.json.return_value = utils.load_fixture_as_dict( "invalid_data_response.json") mock_get.return_value = mock_response with self.assertRaises(exceptions.KazooApiBadDataError) as cm: req_obj.execute("http://testserver.com") self.assertTrue("realm" in cm.exception.field_errors)
def test_internal_server_error_unparseable(self): req_obj = KazooRequest("/somepath", auth_required=False) with mock.patch('requests.get') as mock_get: mock_response = mock.Mock() mock_response.status_code = 500 mock_response.headers = {"X-Request-Id": "sdfaskldfjaosdf"} mock_response.json.return_value = None mock_get.return_value = mock_response with self.assertRaises(exceptions.KazooApiError) as cm: req_obj.execute("http://testserver") self.assertTrue("Request ID" in cm.exception)
def test_invalid_data_displays_invalid_field_data(self): req_obj = KazooRequest("/somepath", auth_required=False) with mock.patch('requests.get') as mock_get: mock_response = mock.Mock() mock_response.status_code = 400 mock_response.json = utils.load_fixture_as_dict( "invalid_data_response.json") mock_get.return_value = mock_response with self.assertRaises(exceptions.KazooApiBadDataError) as cm: req_obj.execute("http://testserver.com") self.assertTrue("realm" in cm.exception.field_errors)
def test_internal_server_error_unparseable(self): req_obj = KazooRequest("/somepath", auth_required=False) with mock.patch('requests.get') as mock_get: mock_response = mock.Mock() mock_response.status_code = 500 mock_response.headers = {"X-Request-Id": "sdfaskldfjaosdf"} mock_response.json = None mock_get.return_value = mock_response with self.assertRaises(exceptions.KazooApiError) as cm: req_obj.execute("http://testserver") self.assertTrue("Request ID" in cm.exception.message)
def test_kazoo_api_error_raised_on_error_response(self): req_obj = KazooRequest("/somepath", auth_required=False) with mock.patch('requests.get') as mock_get: mock_response = mock.Mock() mock_response.json = self.error_response mock_get.return_value = mock_response with self.assertRaises(exceptions.KazooApiError) as cm: req_obj.execute("http://testserver") expected_errors = "the error was {0}".format( self.error_response["message"]) self.assertTrue(expected_errors in cm.exception.message)
def test_kazoo_api_error_raised_on_error_response(self): req_obj = KazooRequest("/somepath", auth_required=False) with mock.patch('requests.get') as mock_get: mock_response = mock.Mock() mock_response.json = self.error_response mock_get.return_value = mock_response with self.assertRaises(exceptions.KazooApiError) as cm: req_obj.execute("http://testserver") expected_errors = "the error was {0}".format( self.error_response["message"]) self.assertTrue(expected_errors in cm.exception.message)
def test_internal_server_error_has_error_message_if_parseable(self): req_obj = KazooRequest("/somepath", auth_required=False) with mock.patch('requests.get') as mock_get: mock_response = mock.Mock() mock_response.status_code = 500 mock_response.headers = {"X-Request-Id": "sdfaskldfjaosdf"} mock_response.json.return_value = utils.load_fixture_as_dict( "bad_billing_status_response.json") mock_get.return_value = mock_response with self.assertRaises(exceptions.KazooApiError) as cm: req_obj.execute("http://testserver") self.assertTrue( "Unable to continue due to billing" in cm.exception)
def test_internal_server_error_has_error_message_if_parseable(self): req_obj = KazooRequest("/somepath", auth_required=False) with mock.patch('requests.get') as mock_get: mock_response = mock.Mock() mock_response.status_code = 500 mock_response.headers = {"X-Request-Id": "sdfaskldfjaosdf"} mock_response.json = utils.load_fixture_as_dict( "bad_billing_status_response.json") mock_get.return_value = mock_response with self.assertRaises(exceptions.KazooApiError) as cm: req_obj.execute("http://testserver") ex = cm.exception self.assertTrue("Unable to continue due to billing" in ex.message)
def test_get_parameters_added_to_url(self): request = KazooRequest("/somepath", auth_required=False, get_params={"one":1, "two":2}) with mock.patch('requests.get') as mock_get: mock_response = mock.Mock() mock_response.status_code = 200 mock_response.json = {"result":"fake", "status":"success"} mock_get.return_value = mock_response request.execute("http://testserver.com") mock_get.assert_called_with( "http://testserver.com/somepath?two=2&one=1", headers=mock.ANY )
def test_data_sent_to_server_with_auth_if_required(self): req_obj = KazooRequest(self.path, auth_required=True) with mock.patch('requests.post') as mock_post: data_dict = { "data1": "dataval1" } token = "sdkjfhasdfa" expected_headers = { "Content-Type": "application/json", "X-Auth-Token": token, } req_obj.execute("http://testserver", param3="someval", token=token, method="post") mock_post.assert_called_with(mock.ANY, headers=expected_headers)
def test_data_sent_to_server_with_auth_if_required(self): req_obj = KazooRequest(self.path, auth_required=True) with mock.patch('requests.post') as mock_post: data_dict = {"data1": "dataval1"} token = "sdkjfhasdfa" expected_headers = { "Content-Type": "application/json", "X-Auth-Token": token, } req_obj.execute("http://testserver", param3="someval", token=token, method="post") mock_post.assert_called_with(mock.ANY, headers=expected_headers)
def test_get_parameters_added_to_url(self): request = KazooRequest("/somepath", auth_required=False, get_params={ "one": 1, "two": 2 }) with mock.patch('requests.get') as mock_get: mock_response = mock.Mock() mock_response.status_code = 200 mock_response.json = {"result": "fake", "status": "success"} mock_get.return_value = mock_response request.execute("http://testserver.com") mock_get.assert_called_with( "http://testserver.com/somepath?two=2&one=1", headers=mock.ANY)