mirror of
https://github.com/hwchase17/langchain.git
synced 2025-09-24 20:09:01 +00:00
community[patch]: Fix Playwright Tools bug with Pydantic schemas (#27050)
- Add tests for Playwright tools schema serialization - Introduce base empty args Input class for BaseBrowserTool Test Plan: `poetry run pytest tests/unit_tests/tools/playwright/test_all.py` Fixes #26758 --------- Co-authored-by: Erick Friis <erick@langchain.dev> Co-authored-by: Eugene Yurtsev <eyurtsev@gmail.com>
This commit is contained in:
26
libs/community/tests/unit_tests/tools/playwright/test_all.py
Normal file
26
libs/community/tests/unit_tests/tools/playwright/test_all.py
Normal file
@@ -0,0 +1,26 @@
|
||||
"""Test Playwright's Tools."""
|
||||
|
||||
from unittest.mock import Mock
|
||||
|
||||
import pytest
|
||||
|
||||
from langchain_community.agent_toolkits import PlayWrightBrowserToolkit
|
||||
|
||||
|
||||
@pytest.mark.requires("playwright")
|
||||
@pytest.mark.requires("bs4")
|
||||
def test_playwright_tools_schemas() -> None:
|
||||
"""Test calling 'tool_call_schema' for every tool to check to init issues."""
|
||||
|
||||
from playwright.sync_api import Browser
|
||||
|
||||
sync_browser = Mock(spec=Browser)
|
||||
tools = PlayWrightBrowserToolkit.from_browser(sync_browser=sync_browser).get_tools()
|
||||
|
||||
for tool in tools:
|
||||
try:
|
||||
tool.tool_call_schema
|
||||
except Exception as e:
|
||||
raise AssertionError(
|
||||
f"Error for '{tool.name}' tool: {type(e).__name__}: {e}"
|
||||
) from e
|
Reference in New Issue
Block a user