mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-08-11 05:20:57 +00:00
27227aa31f
Add tests/factories/provider.py with: - FakeProvider: deterministic fake LLM provider - Error simulation: timeout, auth, rate-limit, malformed - Request capture for assertions - fake_model: mock model with attached provider Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
69 lines
1.4 KiB
Python
69 lines
1.4 KiB
Python
"""
|
|
Shared test factories for LangBot tests.
|
|
|
|
Provides reusable factories for:
|
|
- Fake application (app.py)
|
|
- Messages and queries (message.py)
|
|
- Fake providers (provider.py)
|
|
- Fake platforms (platform.py)
|
|
|
|
Usage:
|
|
from tests.factories import FakeApp, text_query, FakeProvider
|
|
|
|
app = FakeApp()
|
|
query = text_query("hello")
|
|
provider = FakeProvider.returns("response")
|
|
"""
|
|
|
|
from tests.factories.app import FakeApp, fake_app
|
|
from tests.factories.message import (
|
|
text_chain,
|
|
group_text_chain,
|
|
mention_chain,
|
|
image_chain,
|
|
text_query,
|
|
group_text_query,
|
|
private_text_query,
|
|
command_query,
|
|
mention_query,
|
|
empty_query,
|
|
image_query,
|
|
)
|
|
from tests.factories.provider import (
|
|
FakeProvider,
|
|
fake_provider,
|
|
fake_provider_pong,
|
|
fake_provider_timeout,
|
|
fake_provider_auth_error,
|
|
fake_provider_rate_limit,
|
|
fake_provider_malformed,
|
|
fake_model,
|
|
)
|
|
|
|
__all__ = [
|
|
# App
|
|
"FakeApp",
|
|
"fake_app",
|
|
# Message chains
|
|
"text_chain",
|
|
"group_text_chain",
|
|
"mention_chain",
|
|
"image_chain",
|
|
# Queries
|
|
"text_query",
|
|
"group_text_query",
|
|
"private_text_query",
|
|
"command_query",
|
|
"mention_query",
|
|
"empty_query",
|
|
"image_query",
|
|
# Provider
|
|
"FakeProvider",
|
|
"fake_provider",
|
|
"fake_provider_pong",
|
|
"fake_provider_timeout",
|
|
"fake_provider_auth_error",
|
|
"fake_provider_rate_limit",
|
|
"fake_provider_malformed",
|
|
"fake_model",
|
|
] |