diff options
Diffstat (limited to 'tests/TestRulePackage')
| -rw-r--r-- | tests/TestRulePackage/event.py | 7 | ||||
| -rw-r--r-- | tests/TestRulePackage/handler.py | 18 | ||||
| -rw-r--r-- | tests/TestRulePackage/tests.py | 12 |
3 files changed, 20 insertions, 17 deletions
diff --git a/tests/TestRulePackage/event.py b/tests/TestRulePackage/event.py index 35e12344..6b915792 100644 --- a/tests/TestRulePackage/event.py +++ b/tests/TestRulePackage/event.py @@ -1,8 +1,7 @@ from infini import MessageEvent -__events__ = ["MyEvent"] - class MyEvent(MessageEvent): - name = "event1" - output = "检定成功!" + """自定义消息事件""" + name = "example_event" + output = "捕获到输入: {plain_text}" diff --git a/tests/TestRulePackage/handler.py b/tests/TestRulePackage/handler.py index 391471d7..b86568aa 100644 --- a/tests/TestRulePackage/handler.py +++ b/tests/TestRulePackage/handler.py @@ -1,14 +1,16 @@ -from infini import Handler, Result +from infini import Handler, MessageEvent +from infini.matcher import MatcherEvent +from infini.event import InfiniEvent +from .event import MyEvent -__handlers__ = ["HandlerRule"] - -class HandlerRule(Handler): +class MyHandler(Handler): """自设业务函数""" - name = "MyRule" # 规则包名 - priority: int = 0 # 规则包权重 + priority: int = 0 # 业务函数权重 - def process(self, **kwargs) -> Result: + def process(self, event: MatcherEvent) -> InfiniEvent: """声明规则包检定方式""" - return Result("event1", True) + plain_text = event.get_plain_text() + return MyEvent("rule.example_event", plain_text=plain_text) + diff --git a/tests/TestRulePackage/tests.py b/tests/TestRulePackage/tests.py index 37a6a301..af1726a0 100644 --- a/tests/TestRulePackage/tests.py +++ b/tests/TestRulePackage/tests.py @@ -1,10 +1,12 @@ from infini.matcher import matcher, MatcherEvent + def test(): - event = MatcherEvent("MyRule") + event = MatcherEvent("rule.example_handler", string="测试") try: - matcher.run(event) + result = matcher.run(event) + assert result == "捕获到输入: 测试" except Exception as error: - return [error] - finally: - return [] + return error + return [] + |
