mirror of
https://github.com/katanemo/plano.git
synced 2026-05-05 13:53:03 +02:00
Introduce a new mock-based E2E test suite that uses pytest_httpserver to simulate LLM provider responses, eliminating the need for real API keys on PR builds. The mock tests cover model alias routing, protocol transformation (OpenAI↔Anthropic), Responses API passthrough/translation, streaming, tool calls, thinking mode, and multi-turn state management. CI changes: - Add mock-e2e-tests job (zero secrets, runs on every PR) - Gate all live E2E jobs to main pushes + nightly schedule - Scope secrets to only the keys each job actually needs - Add daily cron schedule for full live test coverage Also relaxes exact-match assertions in live e2e tests to structural checks (non-null, non-empty) since LLM output is non-deterministic. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
36 lines
776 B
TOML
36 lines
776 B
TOML
[project]
|
|
name = "plano_mock_tests"
|
|
version = "0.0.1"
|
|
description = "plano mock tests"
|
|
authors = [{name = "Katanemo Labs, Inc", email = "info@katanemo.com"}]
|
|
license = {text = "Apache 2.0"}
|
|
requires-python = ">=3.12"
|
|
dependencies = [
|
|
"pytest>=8.3.3",
|
|
"requests>=2.29.0",
|
|
"selenium>=4.11.2",
|
|
"pytest-sugar>=1.0.0",
|
|
"deepdiff>=8.0.1",
|
|
"pytest-retry>=1.6.3",
|
|
"pytest-httpserver>=1.1.0",
|
|
"openai>=1.0.0",
|
|
"anthropic>=0.66.0",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"pytest-cov>=4.1.0",
|
|
]
|
|
|
|
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["."]
|
|
|
|
[tool.pytest.ini_options]
|
|
python_files = ["test*.py"]
|
|
addopts = ["-v", "-s"]
|
|
retry_delay = 0.5
|
|
cumulative_timing = false
|