"""E2E tests: verify _build_kwargs_from_profile produces correct output. These tests call _build_kwargs_from_profile on the transport directly, without importing run_agent (which would cause xdist worker contamination). """ import pytest from agent.transports.chat_completions import ChatCompletionsTransport from providers import get_provider_profile @pytest.fixture def transport(): return ChatCompletionsTransport() def _msgs(): return [{"role": "user", "content": "hi"}] class TestNvidiaProfileWiring: def test_nvidia_model_passed(self, transport): profile = get_provider_profile("nvidia") kwargs = transport.build_kwargs( model="nvidia/test-model", messages=_msgs(), tools=None, provider_profile=profile, max_tokens=None, max_tokens_param_fn=lambda x: {"max_tokens": x} if x else {}, timeout=300, reasoning_config=None, request_overrides=None, session_id="test", ollama_num_ctx=None, ) assert kwargs["model"] == "nvidia/test-model" class TestDeepSeekProfileWiring: def test_deepseek_no_forced_max_tokens(self, transport): profile = get_provider_profile("deepseek") kwargs = transport.build_kwargs( model="deepseek-chat", messages=_msgs(), tools=None, provider_profile=profile, max_tokens=None, max_tokens_param_fn=lambda x: {"max_tokens": x} if x else {}, timeout=300, reasoning_config=None, request_overrides=None, session_id="test", ollama_num_ctx=None, ) # DeepSeek has no default_max_tokens assert kwargs["model"] == "deepseek-chat" assert kwargs.get("max_tokens") is None or "max_tokens" not in kwargs