From 136c8d28f6779ac1f4021f3e6f237e1972107a32 Mon Sep 17 00:00:00 2001 From: italojohnny Date: Fri, 14 Feb 2025 10:44:04 -0300 Subject: [PATCH 1/2] test: add test for YouTubeVideoDetailsComponent component --- .../youtube/test_video_details_component.py | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 src/backend/tests/unit/components/youtube/test_video_details_component.py diff --git a/src/backend/tests/unit/components/youtube/test_video_details_component.py b/src/backend/tests/unit/components/youtube/test_video_details_component.py new file mode 100644 index 000000000000..424e2e512a05 --- /dev/null +++ b/src/backend/tests/unit/components/youtube/test_video_details_component.py @@ -0,0 +1,51 @@ +import pytest + +from langflow.components.youtube import YouTubeVideoDetailsComponent +from tests.base import ComponentTestBaseWithClient + + +@pytest.mark.usefixtures("client") +class TestYouTubeVideoDetailsComponent(ComponentTestBaseWithClient): + @pytest.fixture + def component_class(self): + return YouTubeVideoDetailsComponent + + @pytest.fixture + def default_kwargs(self): + return { + "video_url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ", + "api_key": "YOUR_API_KEY", + "include_statistics": True, + "include_content_details": True, + "include_tags": True, + "include_thumbnails": True, + } + + @pytest.fixture + def file_names_mapping(self): + return [ + {"version": "1.0.0", "module": "youtube_video_details", "file_name": "YouTubeVideoDetails"}, + ] + + async def test_get_video_details(self, component_class, default_kwargs): + component = component_class(**default_kwargs) + result = await component.get_video_details() + assert result is not None + assert "video_id" in result.columns + assert "title" in result.columns + assert "view_count" in result.columns + assert "like_count" in result.columns + + async def test_video_not_found(self, component_class): + component = component_class(video_url="https://www.youtube.com/watch?v=INVALID_ID", api_key="YOUR_API_KEY") + result = await component.get_video_details() + assert result is not None + assert "error" in result.columns + assert result["error"].iloc[0] == "Video not found." + + async def test_api_forbidden(self, component_class): + component = component_class(video_url="https://www.youtube.com/watch?v=dQw4w9WgXcQ", api_key="INVALID_API_KEY") + result = await component.get_video_details() + assert result is not None + assert "error" in result.columns + assert result["error"].iloc[0] == "API quota exceeded or access forbidden." From 383cf8886062a76ace55082b5a30be79a18ac5d5 Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Fri, 14 Feb 2025 13:46:24 +0000 Subject: [PATCH 2/2] [autofix.ci] apply automated fixes --- .../unit/components/youtube/test_video_details_component.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/backend/tests/unit/components/youtube/test_video_details_component.py b/src/backend/tests/unit/components/youtube/test_video_details_component.py index 424e2e512a05..0bf8b2963553 100644 --- a/src/backend/tests/unit/components/youtube/test_video_details_component.py +++ b/src/backend/tests/unit/components/youtube/test_video_details_component.py @@ -1,5 +1,4 @@ import pytest - from langflow.components.youtube import YouTubeVideoDetailsComponent from tests.base import ComponentTestBaseWithClient