Files
AstrBot/tests/test_provider_sources_openai_embedding.py
LIghtJUNction dcaaf6286a test: comprehensive test coverage and type fixes
- Add 100+ new test files covering provider sources, platform adapters,
  agent runners, star/plugin system, knowledge base, core utils,
  pipeline, computer tools, builtin commands, and dashboard routes
- Fix Python type errors in sqlite.py (col() wrappers for SQLModel),
  astr_agent_tool_exec, core_lifecycle, star context/manager
- Fix TypeScript strict mode errors across 30+ dashboard Vue files
- Add import smoke tests, auth roundtrip, startup tests
- Add compile-all check and CLI entry test for AUR compatibility
- Restore BotMessageAccumulator and helpers lost in merge
2026-04-29 06:29:56 +08:00

59 lines
1.9 KiB
Python

"""Smoke tests for OpenAIEmbeddingProvider."""
from unittest.mock import patch
from astrbot.core.provider.sources.openai_embedding_source import (
OpenAIEmbeddingProvider,
)
@patch("astrbot.core.provider.sources.openai_embedding_source.AsyncOpenAI")
def test_openai_embedding_import_and_construction(mock_async_openai):
provider = OpenAIEmbeddingProvider(
provider_config={
"embedding_api_key": "test-key",
"embedding_api_base": "https://api.openai.com/v1",
"embedding_model": "text-embedding-3-small",
},
provider_settings={},
)
assert provider is not None
assert provider.model == "text-embedding-3-small"
@patch("astrbot.core.provider.sources.openai_embedding_source.AsyncOpenAI")
def test_openai_embedding_default_model(mock_async_openai):
provider = OpenAIEmbeddingProvider(
provider_config={
"embedding_api_key": "test-key",
},
provider_settings={},
)
assert provider.model == "text-embedding-3-small"
@patch("astrbot.core.provider.sources.openai_embedding_source.AsyncOpenAI")
def test_openai_embedding_api_base_convention(mock_async_openai):
OpenAIEmbeddingProvider(
provider_config={
"embedding_api_key": "test-key",
"embedding_api_base": "https://custom.api.com",
},
provider_settings={},
)
# Should automatically append /v1
mock_async_openai.assert_called_once()
_call_kwargs = mock_async_openai.call_args.kwargs
assert _call_kwargs["base_url"] == "https://custom.api.com/v1"
@patch("astrbot.core.provider.sources.openai_embedding_source.AsyncOpenAI")
def test_openai_embedding_get_dim(mock_async_openai):
provider = OpenAIEmbeddingProvider(
provider_config={
"embedding_api_key": "test-key",
"embedding_dimensions": 256,
},
provider_settings={},
)
assert provider.get_dim() == 256