From 405191de22e07884cd5665fb9e2cbeecf40b5d9d Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Fri, 14 Jul 2023 15:04:30 -0300 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(conftest.py):=20add=20fixtures?= =?UTF-8?q?=20for=20GET=20and=20POST=20request=20components=20to=20be=20us?= =?UTF-8?q?ed=20in=20tests?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/conftest.py | 55 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/tests/conftest.py b/tests/conftest.py index 7a87f908b..ae78483e6 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -307,3 +307,58 @@ class DocumentFilterByLengthComponent(CustomComponent): 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"""