Files
AstrBot/tests/test_pipeline_bootstrap.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

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}"
)