mirror of
https://github.com/snowy-yang/qqbotsdk.git
synced 2026-10-21 15:54:48 +00:00
qqbotsdk: QQ 官方机器人 SDK(协议层/DI/业务 API/测试/文档)
This commit is contained in:
commit
0c364bf803
32 files changed
+3760
No files matched your search
@@ -0,0 +1,37 @@
|
||||
import pytest
|
||||
|
||||
from qqbotsdk.emitter import EventEmitter
|
||||
from qqbotsdk.model import Opcode
|
||||
from qqbotsdk.queue import EventQueue
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def emitter() -> EventEmitter:
|
||||
return EventEmitter(EventQueue())
|
||||
|
||||
|
||||
def test_route_dispatch_uses_t(emitter: EventEmitter):
|
||||
routed = emitter._route({"op": Opcode.DISPATCH, "t": "READY", "d": {}})
|
||||
assert routed is not None
|
||||
op, name, event = routed
|
||||
assert op == Opcode.DISPATCH
|
||||
assert name == "READY"
|
||||
assert event.type == "READY"
|
||||
|
||||
|
||||
def test_route_non_dispatch_uses_opcode_name(emitter: EventEmitter):
|
||||
routed = emitter._route({"op": Opcode.HELLO, "d": {"heartbeat_interval": 1}})
|
||||
assert routed is not None
|
||||
assert routed[1] == "HELLO"
|
||||
|
||||
|
||||
def test_route_rejects_missing_op(emitter: EventEmitter):
|
||||
assert emitter._route({"d": {}}) is None
|
||||
|
||||
|
||||
def test_route_rejects_unknown_opcode(emitter: EventEmitter):
|
||||
assert emitter._route({"op": 999}) is None
|
||||
|
||||
|
||||
def test_route_rejects_dispatch_without_t(emitter: EventEmitter):
|
||||
assert emitter._route({"op": Opcode.DISPATCH, "d": {}}) is None
|
||||
Reference in new issue
Block a user