1 line
6.8 KiB
JSON
1 line
6.8 KiB
JSON
{"repo": "1mancompany/onemancompany", "files": {"tests/unit/core/test_auth_verify.py": {"1855764b601ac5183e8b61a06fb8fa8d051e9a5b": {"t": 1785747498.3922913, "n": 3168, "h": "b58d96710c6aed33", "c": "\"\"\"Tests for probe_chat() shared verifier.\"\"\"\nimport pytest\nfrom unittest.mock import AsyncMock, patch, MagicMock\n\n\nclass TestProbeChat:\n async def test_openai_compatible_success(self):\n from onemancompany.core.auth_verify import probe_chat\n\n mock_response = MagicMock()\n mock_response.choices = [MagicMock(message=MagicMock(content=\"hi\"))]\n\n mock_client = AsyncMock()\n mock_client.chat.completions.create = AsyncMock(return_value=mock_response)\n\n with patch(\"onemancompany.core.auth_verify._make_openai_client\", return_value=mock_client):\n ok, error = await probe_chat(\"deepseek\", \"sk-test\", \"deepseek-chat\")\n\n assert ok is True\n assert error == \"\"\n\n async def test_openai_compatible_invalid_key(self):\n from onemancompany.core.auth_verify import probe_chat\n\n mock_client = AsyncMock()\n mock_client.chat.completions.create = AsyncMock(\n side_effect=Exception(\"Incorrect API key provided\")\n )\n\n with patch(\"onemancompany.core.auth_verify._make_openai_client\", return_value=mock_client):\n ok, error = await probe_chat(\"deepseek\", \"bad-key\", \"deepseek-chat\")\n\n assert ok is False\n assert \"Incorrect API key\" in error\n\n async def test_anthropic_success(self):\n from onemancompany.core.auth_verify import probe_chat\n\n mock_response = MagicMock()\n mock_response.content = [MagicMock(text=\"hi\")]\n\n mock_client = AsyncMock()\n mock_client.messages.create = AsyncMock(return_value=mock_response)\n\n with patch(\"onemancompany.core.auth_verify._make_anthropic_client\", return_value=mock_client):\n ok, error = await probe_chat(\"anthropic\", \"sk-ant-test\", \"claude-3-haiku-20240307\")\n\n assert ok is True\n assert error == \"\"\n\n async def test_timeout(self):\n import asyncio\n from onemancompany.core.auth_verify import probe_chat\n\n mock_client = AsyncMock()\n mock_client.chat.completions.create = AsyncMock(\n side_effect=asyncio.TimeoutError()\n )\n\n with patch(\"onemancompany.core.auth_verify._make_openai_client\", return_value=mock_client):\n ok, error = await probe_chat(\"openai\", \"sk-test\", \"gpt-4o\", timeout=1.0)\n\n assert ok is False\n assert \"timeout\" in error.lower() or \"Timeout\" in error\n\n async def test_custom_provider_with_base_url(self):\n from onemancompany.core.auth_verify import probe_chat\n\n mock_response = MagicMock()\n mock_response.choices = [MagicMock(message=MagicMock(content=\"hi\"))]\n\n mock_client = AsyncMock()\n mock_client.chat.completions.create = AsyncMock(return_value=mock_response)\n\n with patch(\"onemancompany.core.auth_verify._make_openai_client\", return_value=mock_client) as mock_make:\n ok, error = await probe_chat(\n \"custom\", \"sk-test\", \"my-model\",\n base_url=\"https://api.example.com/v1\",\n )\n\n assert ok is True\n mock_make.assert_called_once()\n call_kwargs = mock_make.call_args\n assert \"https://api.example.com/v1\" in str(call_kwargs)\n"}, "32ada10cedc5e5bce74c3df65cfe382afa6d7e62": {"t": 1785773609.019413, "n": 3168, "h": "b58d96710c6aed33", "c": "\"\"\"Tests for probe_chat() shared verifier.\"\"\"\nimport pytest\nfrom unittest.mock import AsyncMock, patch, MagicMock\n\n\nclass TestProbeChat:\n async def test_openai_compatible_success(self):\n from onemancompany.core.auth_verify import probe_chat\n\n mock_response = MagicMock()\n mock_response.choices = [MagicMock(message=MagicMock(content=\"hi\"))]\n\n mock_client = AsyncMock()\n mock_client.chat.completions.create = AsyncMock(return_value=mock_response)\n\n with patch(\"onemancompany.core.auth_verify._make_openai_client\", return_value=mock_client):\n ok, error = await probe_chat(\"deepseek\", \"sk-test\", \"deepseek-chat\")\n\n assert ok is True\n assert error == \"\"\n\n async def test_openai_compatible_invalid_key(self):\n from onemancompany.core.auth_verify import probe_chat\n\n mock_client = AsyncMock()\n mock_client.chat.completions.create = AsyncMock(\n side_effect=Exception(\"Incorrect API key provided\")\n )\n\n with patch(\"onemancompany.core.auth_verify._make_openai_client\", return_value=mock_client):\n ok, error = await probe_chat(\"deepseek\", \"bad-key\", \"deepseek-chat\")\n\n assert ok is False\n assert \"Incorrect API key\" in error\n\n async def test_anthropic_success(self):\n from onemancompany.core.auth_verify import probe_chat\n\n mock_response = MagicMock()\n mock_response.content = [MagicMock(text=\"hi\")]\n\n mock_client = AsyncMock()\n mock_client.messages.create = AsyncMock(return_value=mock_response)\n\n with patch(\"onemancompany.core.auth_verify._make_anthropic_client\", return_value=mock_client):\n ok, error = await probe_chat(\"anthropic\", \"sk-ant-test\", \"claude-3-haiku-20240307\")\n\n assert ok is True\n assert error == \"\"\n\n async def test_timeout(self):\n import asyncio\n from onemancompany.core.auth_verify import probe_chat\n\n mock_client = AsyncMock()\n mock_client.chat.completions.create = AsyncMock(\n side_effect=asyncio.TimeoutError()\n )\n\n with patch(\"onemancompany.core.auth_verify._make_openai_client\", return_value=mock_client):\n ok, error = await probe_chat(\"openai\", \"sk-test\", \"gpt-4o\", timeout=1.0)\n\n assert ok is False\n assert \"timeout\" in error.lower() or \"Timeout\" in error\n\n async def test_custom_provider_with_base_url(self):\n from onemancompany.core.auth_verify import probe_chat\n\n mock_response = MagicMock()\n mock_response.choices = [MagicMock(message=MagicMock(content=\"hi\"))]\n\n mock_client = AsyncMock()\n mock_client.chat.completions.create = AsyncMock(return_value=mock_response)\n\n with patch(\"onemancompany.core.auth_verify._make_openai_client\", return_value=mock_client) as mock_make:\n ok, error = await probe_chat(\n \"custom\", \"sk-test\", \"my-model\",\n base_url=\"https://api.example.com/v1\",\n )\n\n assert ok is True\n mock_make.assert_called_once()\n call_kwargs = mock_make.call_args\n assert \"https://api.example.com/v1\" in str(call_kwargs)\n"}}}} |