You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
langchain/libs/community/tests/unit_tests/utilities/test_openapi.py

45 lines
1.2 KiB
Python

from pathlib import Path
import pytest
from langchain.chains.openai_functions.openapi import openapi_spec_to_openai_fn
from langchain_community.utilities.openapi import ( # noqa: E402 # ignore: community-import
OpenAPISpec,
)
EXPECTED_OPENAI_FUNCTIONS_HEADER_PARAM = [
{
"name": "showPetById",
"description": "Info for a specific pet",
"parameters": {
"type": "object",
"properties": {
"headers": {
"type": "object",
"properties": {
"header_param": {
"type": "string",
"description": "A header param",
}
},
"required": ["header_param"],
}
},
},
}
]
@pytest.mark.requires("openapi_pydantic")
def test_header_param() -> None:
spec = OpenAPISpec.from_file(
Path(__file__).parent.parent
/ "data"
/ "openapi_specs"
/ "openapi_spec_header_param.json",
)
openai_functions, _ = openapi_spec_to_openai_fn(spec)
assert openai_functions == EXPECTED_OPENAI_FUNCTIONS_HEADER_PARAM