Commit 4d3751fb authored by Valentin Benozillo's avatar Valentin Benozillo Committed by Kazuhiko Shiozaki

erp5_web_service: Add RESTAPIClientConnector raise error test

parent 82c98f1d
......@@ -9,6 +9,9 @@ import mock
expected_output_body_dict = {
u'output': 'output',
}
input_body_dict = {
'input': 'input',
}
class HTTPResponse_getresponse():
def __init__(self, status=200):
......@@ -43,6 +46,9 @@ class RESTAPIClientConnector(RESTAPIClientConnectorMixin):
def _getAccessToken(self):
return 'access_token'
def getTimeout(self, timeout):
return 5
def getBaseUrl(self):
return 'https://example.com/'
......@@ -58,9 +64,6 @@ class TestRESTAPIClientConnector(ERP5TypeTestCase):
self.rest_api_client_connection = RESTAPIClientConnector(id='rest_api_client_connection')
def test_api_call(self):
input_body_dict = {
'input': 'input',
}
timeout = 1
with mock.patch(
......@@ -133,4 +136,35 @@ class TestRESTAPIClientConnector(ERP5TypeTestCase):
self.assertEqual(
status,
200
)
\ No newline at end of file
)
def test_api_call_error(self):
with mock.patch(
'ssl.create_default_context',
), mock.patch(
'httplib.HTTPSConnection.request',
), mock.patch(
'httplib.HTTPSConnection.getresponse',
return_value=HTTPResponse_getresponse(498)
):
with self.assertRaises(RESTAPIError) as error:
self.rest_api_client_connection.call(
archive_resource=None,
method='POST',
path='/path',
body=input_body_dict
)
self.assertEqual(
error.status,
498
)
self.assertEqual(
error.header_dict['content-type'],
'application/json'
)
self.assertEqual(
error.body,
expected_output_body_dict
)
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment