mirror of
https://github.com/AstrBotDevs/AstrBot
synced 2026-07-15 17:30:13 +08:00
- 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
45 lines
1.6 KiB
Python
45 lines
1.6 KiB
Python
"""Tests for astrbot.core.pipeline.bootstrap module."""
|
|
|
|
import pytest
|
|
|
|
from astrbot.core.pipeline.bootstrap import ensure_builtin_stages_registered
|
|
|
|
|
|
class TestPipelineBootstrap:
|
|
"""Smoke tests for pipeline bootstrap utilities."""
|
|
|
|
def test_module_import(self):
|
|
"""Verify the bootstrap module can be imported."""
|
|
import astrbot.core.pipeline.bootstrap # noqa: F811
|
|
assert hasattr(astrbot.core.pipeline.bootstrap, "ensure_builtin_stages_registered")
|
|
|
|
def test_ensure_builtin_stages_registered_is_callable(self):
|
|
"""Verify ensure_builtin_stages_registered is a function."""
|
|
assert callable(ensure_builtin_stages_registered)
|
|
|
|
def test_ensure_builtin_stages_registered_runs(self):
|
|
"""Verify ensure_builtin_stages_registered runs without error."""
|
|
# Should be idempotent and not raise
|
|
ensure_builtin_stages_registered()
|
|
|
|
def test_registered_stages_contains_expected(self):
|
|
"""Verify that after registration, expected stage names are present."""
|
|
from astrbot.core.pipeline.stage import registered_stages
|
|
|
|
ensure_builtin_stages_registered()
|
|
stage_names = {cls.__name__ for cls in registered_stages}
|
|
expected = {
|
|
"WakingCheckStage",
|
|
"WhitelistCheckStage",
|
|
"SessionStatusCheckStage",
|
|
"RateLimitStage",
|
|
"ContentSafetyCheckStage",
|
|
"PreProcessStage",
|
|
"ProcessStage",
|
|
"ResultDecorateStage",
|
|
"RespondStage",
|
|
}
|
|
assert expected.issubset(stage_names), (
|
|
f"Missing stages: {expected - stage_names}"
|
|
)
|