From a6331293c2a2c961c9726654c94513ec0ee33f9a Mon Sep 17 00:00:00 2001 From: italojohnny Date: Fri, 14 Feb 2025 10:44:23 -0300 Subject: [PATCH 1/2] test: add test for YouTubeTranscriptsComponent component --- .../test_youtube_transcripts_component.py | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 src/backend/tests/unit/components/youtube/test_youtube_transcripts_component.py diff --git a/src/backend/tests/unit/components/youtube/test_youtube_transcripts_component.py b/src/backend/tests/unit/components/youtube/test_youtube_transcripts_component.py new file mode 100644 index 000000000000..995be9d60be5 --- /dev/null +++ b/src/backend/tests/unit/components/youtube/test_youtube_transcripts_component.py @@ -0,0 +1,49 @@ +import pytest + +from langflow.components.youtube import YouTubeTranscriptsComponent +from tests.base import ComponentTestBaseWithClient + + +@pytest.mark.usefixtures("client") +class TestYouTubeTranscriptsComponent(ComponentTestBaseWithClient): + @pytest.fixture + def component_class(self): + return YouTubeTranscriptsComponent + + @pytest.fixture + def default_kwargs(self): + return { + "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ", + "chunk_size_seconds": 60, + "translation": "", + } + + @pytest.fixture + def file_names_mapping(self): + return [ + {"version": "1.0.0", "module": "youtube_transcripts", "file_name": "YouTubeTranscripts"}, + ] + + async def test_get_dataframe_output(self, component_class, default_kwargs): + component = component_class(**default_kwargs) + result = await component.get_dataframe_output() + assert result is not None + assert isinstance(result, pd.DataFrame) + assert "timestamp" in result.data.columns + assert "text" in result.data.columns + + async def test_get_message_output(self, component_class, default_kwargs): + component = component_class(**default_kwargs) + result = await component.get_message_output() + assert result is not None + assert isinstance(result, Message) + assert isinstance(result.text, str) + + async def test_invalid_url(self, component_class): + component = component_class(url="invalid_url", chunk_size_seconds=60, translation="") + dataframe_result = await component.get_dataframe_output() + message_result = await component.get_message_output() + + assert "error" in dataframe_result.data.columns + assert "Failed to get YouTube transcripts" in dataframe_result.data["error"].values[0] + assert "Failed to get YouTube transcripts" in message_result.text From 05cd344688241752218e3ab02195af9bba12b1cd 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:13 +0000 Subject: [PATCH 2/2] [autofix.ci] apply automated fixes --- .../components/youtube/test_youtube_transcripts_component.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/backend/tests/unit/components/youtube/test_youtube_transcripts_component.py b/src/backend/tests/unit/components/youtube/test_youtube_transcripts_component.py index 995be9d60be5..302802987565 100644 --- a/src/backend/tests/unit/components/youtube/test_youtube_transcripts_component.py +++ b/src/backend/tests/unit/components/youtube/test_youtube_transcripts_component.py @@ -1,5 +1,4 @@ import pytest - from langflow.components.youtube import YouTubeTranscriptsComponent from tests.base import ComponentTestBaseWithClient