✨ feat(conftest.py): add fixtures for GET and POST request components to be used in tests
This commit is contained in:
parent
f2687fa926
commit
405191de22
1 changed files with 55 additions and 0 deletions
|
|
@ -307,3 +307,58 @@ class DocumentFilterByLengthComponent(CustomComponent):
|
||||||
|
|
||||||
return filtered_documents
|
return filtered_documents
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture
|
||||||
|
def get_request():
|
||||||
|
return """import requests
|
||||||
|
from typing import Dict, Union
|
||||||
|
from langchain.schema import Document
|
||||||
|
from langflow.interface.custom.base import CustomComponent
|
||||||
|
|
||||||
|
class GetRequestComponent(CustomComponent):
|
||||||
|
display_name: str = "GET Request"
|
||||||
|
field_config = {
|
||||||
|
"url": {"field_type": "str", "required": True},
|
||||||
|
}
|
||||||
|
|
||||||
|
def build(self, url: str) -> Document:
|
||||||
|
# Send a GET request to the URL
|
||||||
|
response = requests.get(url)
|
||||||
|
|
||||||
|
# Raise an exception if the request was not successful
|
||||||
|
if response.status_code != 200:
|
||||||
|
raise ValueError(f"GET request failed: {response.status_code} status code")
|
||||||
|
|
||||||
|
# Create a document with the response text and the URL as metadata
|
||||||
|
document = Document(page_content=response.text, metadata={"url": url})
|
||||||
|
|
||||||
|
return document"""
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture
|
||||||
|
def post_request():
|
||||||
|
return """import requests
|
||||||
|
from typing import Dict, Union
|
||||||
|
from langchain.schema import Document
|
||||||
|
from langflow.interface.custom.base import CustomComponent
|
||||||
|
|
||||||
|
class PostRequestComponent(CustomComponent):
|
||||||
|
display_name: str = "POST Request"
|
||||||
|
field_config = {
|
||||||
|
"url": {"field_type": "str", "required": True},
|
||||||
|
"data": {"field_type": "dict", "required": True},
|
||||||
|
}
|
||||||
|
|
||||||
|
def build(self, url: str, data: Dict[str, Union[str, int]]) -> Document:
|
||||||
|
# Send a POST request to the URL
|
||||||
|
response = requests.post(url, data=data)
|
||||||
|
|
||||||
|
# Raise an exception if the request was not successful
|
||||||
|
if response.status_code != 200:
|
||||||
|
raise ValueError(f"POST request failed: {response.status_code} status code")
|
||||||
|
|
||||||
|
# Create a document with the response text and the URL and data as metadata
|
||||||
|
document = Document(page_content=response.text, metadata={"url": url, "data": data})
|
||||||
|
|
||||||
|
return document"""
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue