chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
"""Regression tests for SDK reference generation."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import ast
|
||||
import importlib.util
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
|
||||
from composio.core.models.triggers import Triggers
|
||||
|
||||
|
||||
def load_generate_docs_module():
|
||||
script_path = Path(__file__).resolve().parents[1] / "scripts" / "generate-docs.py"
|
||||
spec = importlib.util.spec_from_file_location("_generate_docs", script_path)
|
||||
assert spec is not None
|
||||
assert spec.loader is not None
|
||||
|
||||
module = importlib.util.module_from_spec(spec)
|
||||
spec.loader.exec_module(module)
|
||||
return module
|
||||
|
||||
|
||||
def test_triggers_parse_generated_example_is_valid_python():
|
||||
generate_docs = load_generate_docs_module()
|
||||
|
||||
parsed = generate_docs.parse_docstring(Triggers.parse.__doc__)
|
||||
assert parsed["examples"], "Triggers.parse() must keep its public example"
|
||||
|
||||
try:
|
||||
ast.parse(parsed["examples"][0])
|
||||
except SyntaxError as exc:
|
||||
pytest.fail(
|
||||
"Triggers.parse() generated SDK reference example must be "
|
||||
f"copy-pasteable Python: {exc}"
|
||||
)
|
||||
|
||||
|
||||
def test_generated_examples_do_not_keep_nested_markdown_fences():
|
||||
generate_docs = load_generate_docs_module()
|
||||
|
||||
parsed = generate_docs.parse_docstring(
|
||||
"""
|
||||
Fetch SDK data.
|
||||
|
||||
Example:
|
||||
```python
|
||||
result = composio.tools.get_raw_tool_router_meta_tools("session_123")
|
||||
print(result)
|
||||
```
|
||||
"""
|
||||
)
|
||||
|
||||
assert parsed["examples"] == [
|
||||
'result = composio.tools.get_raw_tool_router_meta_tools("session_123")\n'
|
||||
"print(result)"
|
||||
]
|
||||
Reference in New Issue
Block a user