""" 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, file_query, unsupported_query, voice_query, at_all_query, query_with_session, query_with_config, friend_message_event, group_message_event, mock_adapter, ) 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, ) from tests.factories.platform import ( FakePlatform, fake_platform, fake_platform_with_streaming, fake_platform_with_failure, mock_platform_adapter, ) __all__ = [ # App "FakeApp", "fake_app", # Message chains "text_chain", "group_text_chain", "mention_chain", "image_chain", # Message events "friend_message_event", "group_message_event", # Mock adapters "mock_adapter", # Queries "text_query", "group_text_query", "private_text_query", "command_query", "mention_query", "empty_query", "image_query", "file_query", "unsupported_query", "voice_query", "at_all_query", "query_with_session", "query_with_config", # Provider "FakeProvider", "fake_provider", "fake_provider_pong", "fake_provider_timeout", "fake_provider_auth_error", "fake_provider_rate_limit", "fake_provider_malformed", "fake_model", # Platform "FakePlatform", "fake_platform", "fake_platform_with_streaming", "fake_platform_with_failure", "mock_platform_adapter", ]