mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-05-05 09:12:39 +00:00
58 lines
1.5 KiB
Python
58 lines
1.5 KiB
Python
"""
|
|
Test script for LinearTool — runs against the real Linear API.
|
|
|
|
Usage:
|
|
LINEAR_API_KEY=lin_api_xxxxxxxxxxxx python tests/tools/test_linear_tool.py
|
|
|
|
Set LINEAR_API_KEY to your actual Personal API key from:
|
|
https://linear.app/settings/api (Profile → API → Personal API keys)
|
|
"""
|
|
|
|
import json
|
|
import os
|
|
import sys
|
|
|
|
from crewai.tools.linear_tool import LinearAction, LinearTool
|
|
|
|
|
|
def pretty(data: object) -> str:
|
|
return json.dumps(data, indent=2, default=str)
|
|
|
|
|
|
def run_test(tool: LinearTool, label: str, action: LinearAction, first: int = 5) -> None:
|
|
print(f"\n{'─' * 60}")
|
|
print(f" {label}")
|
|
print(f"{'─' * 60}")
|
|
try:
|
|
result = tool._run(action=action, first=first)
|
|
if not result:
|
|
print(" (no records returned)")
|
|
else:
|
|
print(pretty(result))
|
|
except Exception as exc:
|
|
print(f" ERROR: {exc}", file=sys.stderr)
|
|
|
|
|
|
def main() -> None:
|
|
if not os.environ.get("LINEAR_API_KEY"):
|
|
print(
|
|
"ERROR: Set LINEAR_API_KEY before running.\n"
|
|
" export LINEAR_API_KEY=lin_api_xxxxxxxxxxxx",
|
|
file=sys.stderr,
|
|
)
|
|
sys.exit(1)
|
|
|
|
tool = LinearTool()
|
|
|
|
run_test(tool, "My assigned issues (up to 5)", LinearAction.MY_ISSUES, first=5)
|
|
run_test(tool, "Teams (up to 10)", LinearAction.LIST_TEAMS, first=10)
|
|
run_test(tool, "Projects (up to 10)", LinearAction.LIST_PROJECTS, first=10)
|
|
|
|
print(f"\n{'─' * 60}")
|
|
print(" All tests complete.")
|
|
print(f"{'─' * 60}\n")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|