diff options
| -rw-r--r-- | src/infini/const/templates.py | 4 | ||||
| -rw-r--r-- | tests/TestRulePackage/event.py | 7 | ||||
| -rw-r--r-- | tests/TestRulePackage/handler.py | 18 | ||||
| -rw-r--r-- | tests/TestRulePackage/tests.py | 12 |
4 files changed, 22 insertions, 19 deletions
diff --git a/src/infini/const/templates.py b/src/infini/const/templates.py index d780c248..9a450846 100644 --- a/src/infini/const/templates.py +++ b/src/infini/const/templates.py @@ -1,15 +1,15 @@ HANDLER = """from infini import Handler, MessageEvent from infini.matcher import MatcherEvent +from infini.event import InfiniEvent from .event import MyEvent class MyHandler(Handler): \"\"\"自设业务函数\"\"\" - name = "example_handler" # 业务函数事件名 priority: int = 0 # 业务函数权重 - def process(self, event: MatcherEvent) -> MessageEvent: + def process(self, event: MatcherEvent) -> InfiniEvent: \"\"\"声明规则包检定方式\"\"\" plain_text = event.get_plain_text() return MyEvent("rule.example_event", plain_text=plain_text) 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 [] + |
