mirror of
https://github.com/Alishahryar1/free-claude-code.git
synced 2026-07-03 14:05:26 +02:00
Add local live smoke test suite (#148)
## Summary - add an opt-in local `smoke/` pytest suite for API, auth, providers, CLI, IDE-shaped requests, messaging, voice, tools, and thinking stream contracts - keep smoke tests out of normal CI collection with `testpaths = ["tests"]` - write sanitized smoke artifacts under `.smoke-results/` ## Verification - `uv run ruff format` - `uv run ruff check` - `uv run ty check` - `uv run ty check smoke` - `FCC_LIVE_SMOKE=1 FCC_SMOKE_TARGETS=all FCC_SMOKE_RUN_VOICE=1 uv run pytest smoke -n 0 -m live -s --tb=short` -> 17 passed, 9 skipped - `uv run pytest` -> 904 passed ## Notes - Skipped live checks require local credentials/tools/services, such as provider models, Telegram/Discord targets, voice backend, or Claude CLI. - `claude-pick` smoke was intentionally removed.
This commit is contained in:
@@ -79,6 +79,27 @@ def test_convert_tools():
|
||||
assert result[1]["function"]["description"] == "" # Check default empty string
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"tool_choice,expected",
|
||||
[
|
||||
(
|
||||
{"type": "tool", "name": "echo_smoke"},
|
||||
{"type": "function", "function": {"name": "echo_smoke"}},
|
||||
),
|
||||
({"type": "any"}, "required"),
|
||||
({"type": "auto"}, "auto"),
|
||||
({"type": "none"}, "none"),
|
||||
(
|
||||
{"type": "function", "function": {"name": "already_openai"}},
|
||||
{"type": "function", "function": {"name": "already_openai"}},
|
||||
),
|
||||
],
|
||||
)
|
||||
def test_convert_tool_choice(tool_choice, expected):
|
||||
result = AnthropicToOpenAIConverter.convert_tool_choice(tool_choice)
|
||||
assert result == expected
|
||||
|
||||
|
||||
# --- Message Conversion Tests: User ---
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user