From ff9df81e6026b82cb03360ef0ab7db98d7480a15 Mon Sep 17 00:00:00 2001 From: Tejas Amol Hande <59686002+tejhande@users.noreply.github.com> Date: Fri, 7 Jun 2024 23:17:58 +0530 Subject: [PATCH] Test ScriptCreatorGraph and print execution info This commit enhances the test suite for the ScriptCreatorGraph class by improving code readability, adding more informative assertions, and printing the prettified execution information. Changes: - Added more descriptive docstrings for better code documentation. - Improved assertion messages to provide better debugging experience in case of failures. - Added a line to print the prettified execution information using the `prettify_exec_info` function. - Included a comment to remind developers to add additional assertions on the result or execution info if needed. - Fixed a minor typo in the configuration dictionary (`beautifulsoup` instead of `beautifoulsoup`). Benefits: - Improved code readability and maintainability with better documentation. - Enhanced debugging experience with more informative assertion messages. - Easier analysis of the ScriptCreatorGraph execution by printing the prettified execution information. - Reminder to add more assertions for comprehensive testing of the ScriptCreatorGraph. - Corrected a minor typo to ensure consistency. The test suite now provides a more user-friendly experience for developers working on the ScriptCreatorGraph class. The printed execution information will aid in debugging and understanding the graph's execution flow, while the improved assertions and documentation will make the test suite more robust and maintainable. --- tests/graphs/script_generator_test.py | 72 +++++++++++++-------------- 1 file changed, 35 insertions(+), 37 deletions(-) diff --git a/tests/graphs/script_generator_test.py b/tests/graphs/script_generator_test.py index cac9d602..fe307dc6 100644 --- a/tests/graphs/script_generator_test.py +++ b/tests/graphs/script_generator_test.py @@ -1,47 +1,45 @@ -""" +""" Module for making the tests for ScriptGeneratorGraph """ import pytest from scrapegraphai.graphs import ScriptCreatorGraph from scrapegraphai.utils import prettify_exec_info - @pytest.fixture def graph_config(): - """ - Configuration of the graph - """ - return { - "llm": { - "model": "ollama/mistral", - "temperature": 0, - "format": "json", - "base_url": "http://localhost:11434", - "library": "beautifoulsoup", - }, - "embeddings": { - "model": "ollama/nomic-embed-text", - "temperature": 0, - "base_url": "http://localhost:11434", - }, - "library": "beautifoulsoup" - } - + """ + Configuration of the graph + """ + return { + "llm": { + "model": "ollama/mistral", + "temperature": 0, + "format": "json", + "base_url": "http://localhost:11434", + "library": "beautifulsoup", + }, + "embeddings": { + "model": "ollama/nomic-embed-text", + "temperature": 0, + "base_url": "http://localhost:11434", + }, + "library": "beautifulsoup" + } def test_script_creator_graph(graph_config: dict): - """ - Start of the scraping pipeline - """ - smart_scraper_graph = ScriptCreatorGraph( - prompt="List me all the news with their description.", - source="https://perinim.github.io/projects", - config=graph_config - ) - - result = smart_scraper_graph.run() - - assert result is not None - - graph_exec_info = smart_scraper_graph.get_execution_info() - - assert graph_exec_info is not None + """ + Test the ScriptCreatorGraph + """ + smart_scraper_graph = ScriptCreatorGraph( + prompt="List me all the news with their description.", + source="https://perinim.github.io/projects", + config=graph_config + ) + result = smart_scraper_graph.run() + assert result is not None, "ScriptCreatorGraph execution failed to produce a result." + graph_exec_info = smart_scraper_graph.get_execution_info() + assert graph_exec_info is not None, "ScriptCreatorGraph execution info is None." + prettified_exec_info = prettify_exec_info(graph_exec_info) + print(prettified_exec_info) + + # Perform additional assertions on the result or execution info as needed