123456789101112131415161718192021222324252627282930313233343536373839 |
- from core.tools.tool.api_tool import ApiTool
- from core.tools.tool.tool import Tool
- from tests.integration_tests.tools.__mock.http import setup_http_mock
- tool_bundle = {
- 'server_url': 'http://www.example.com/{path_param}',
- 'method': 'post',
- 'author': '',
- 'openapi': {'parameters': [{'in': 'path', 'name': 'path_param'},
- {'in': 'query', 'name': 'query_param'},
- {'in': 'cookie', 'name': 'cookie_param'},
- {'in': 'header', 'name': 'header_param'},
- ],
- 'requestBody': {
- 'content': {'application/json': {'schema': {'properties': {'body_param': {'type': 'string'}}}}}}
- },
- 'parameters': []
- }
- parameters = {
- 'path_param': 'p_param',
- 'query_param': 'q_param',
- 'cookie_param': 'c_param',
- 'header_param': 'h_param',
- 'body_param': 'b_param',
- }
- def test_api_tool(setup_http_mock):
- tool = ApiTool(api_bundle=tool_bundle, runtime=Tool.Runtime(credentials={'auth_type': 'none'}))
- headers = tool.assembling_request(parameters)
- response = tool.do_http_request(tool.api_bundle.server_url, tool.api_bundle.method, headers, parameters)
- assert response.status_code == 200
- assert '/p_param' == response.request.url.path
- assert b'query_param=q_param' == response.request.url.query
- assert 'h_param' == response.request.headers.get('header_param')
- assert 'application/json' == response.request.headers.get('content-type')
- assert 'cookie_param=c_param' == response.request.headers.get('cookie')
- assert 'b_param' in response.content.decode()
|