12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- 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()
|