release: public alpha 0.6.0 baseline

This commit is contained in:
JWeBot Contributors
2026-10-15 03:58:31 +08:00
commit d4242ae07c
238 changed files with 37724 additions and 0 deletions
+54
View File
@@ -0,0 +1,54 @@
#!/usr/bin/env python3
import importlib.util
import sys
import unittest
from pathlib import Path
from unittest import mock
PROJECT_ROOT = Path(__file__).resolve().parents[1]
SDK_SRC = PROJECT_ROOT / "packages" / "jwebot-sdk" / "src"
EXAMPLE_SRC = PROJECT_ROOT / "examples" / "hello-command" / "src"
sys.path[:0] = [str(SDK_SRC), str(EXAMPLE_SRC)]
from jwebot_sdk import Event, PlanKind # noqa: E402
SPEC = importlib.util.spec_from_file_location(
"hello_command",
EXAMPLE_SRC / "hello_command.py",
)
EXAMPLE = importlib.util.module_from_spec(SPEC)
assert SPEC.loader is not None
SPEC.loader.exec_module(EXAMPLE)
class HelloCommandTests(unittest.TestCase):
def event(self):
return Event(
event_id="event-1",
observed_at="2026-10-14T10:00:00+08:00",
sender="Alice",
text="@JWeBot /hello",
group_fingerprint="group-a",
mention_bot=True,
)
def test_handler_returns_a_structured_reply(self):
result = EXAMPLE.handle_hello(self.event(), "world")
self.assertEqual(result.reply.kind, PlanKind.TEXT)
self.assertEqual(result.reply.message, "hello Alice world")
def test_plugin_registers_only_its_declared_command(self):
context = mock.Mock()
EXAMPLE.plugin(context)
context.commands.register.assert_called_once_with(
"/hello",
EXAMPLE.handle_hello,
)
if __name__ == "__main__":
unittest.main()