diff options
Diffstat (limited to 'tests/test_core.py')
| -rw-r--r-- | tests/test_core.py | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/tests/test_core.py b/tests/test_core.py deleted file mode 100644 index bcab2d4a..00000000 --- a/tests/test_core.py +++ /dev/null @@ -1,81 +0,0 @@ -from infini.core import Core -from infini.generator import Generator -from infini.handler import Handler -from infini.injector import Injector -from infini.input import Input -from infini.interceptor import Interceptor -from infini.output import Output -from infini.router import Contains, Startswith - - -def test_core(): - command_input = Input(".add 1 2") - intercepted_input = Input("这个人叫简律纯.") - valid_input = Input("这个叫苏向夜.") - command_and_valid_input = Input(".echo 苏向夜打爆了简某人的狗头") - - def intercept_jianlvchun(_: Input) -> Input | Output: - return Output("text", "block.jianlvchun", block=True) # TODO 拦截器阻塞标识 - - interceptor = Interceptor() - interceptor.interceptors = [ - { - "priority": 1, - "router": Contains("简律纯"), - "handler": intercept_jianlvchun, - } - ] - - def add(input: Input) -> Output: - result = str(sum(list(map(int, input.get_plain_text().lstrip(".add").split())))) - return Output("text", "test.add", block=False, variables={"result": result}) - - def cmd(_: Input) -> Output: - return Output("text", "test.cmd", block=False) - - handler = Handler() - handler.handlers = [ - { - "priority": 2, - "router": Startswith(".add"), - "handler": add, - }, - { - "priority": 1, - "router": Startswith("."), - "handler": cmd, - }, - ] - - generator = Generator() - generator.events = { - "test.cmd": "cmd", - "test.add": "{{ result }}", - "block.jianlvchun": "检测到违禁词", - } - generator.global_variables = {} - - core = Core() - core.handler = handler - core.interceptor = interceptor - core.pre_interceptor = interceptor - core.generator = generator - core.injector = Injector() - - outputs = set() - for output in core.input(command_input): - outputs.add(output) - assert outputs == {"cmd", "3"} - - count = 0 - for _ in core.input(valid_input): - count += 1 - assert count == 0 - - for output in core.input(intercepted_input): - assert output == "检测到违禁词" - - outputs = set() - for output in core.input(command_and_valid_input): - outputs.add(output) - assert outputs == {"cmd"} |
