diff options
| author | 2024-03-04 17:56:12 +0800 | |
|---|---|---|
| committer | 2024-03-04 17:56:12 +0800 | |
| commit | f195a1e7396b7eaa23ef6f14ffebb700cf741c75 (patch) | |
| tree | 804d866854ba337d6979e86f3fc0e2c1c45df683 /tests/test_workflow.py | |
| parent | 5b778ed5ea34862969653a4fc4e72d1debe09ee1 (diff) | |
| download | infini-f195a1e7396b7eaa23ef6f14ffebb700cf741c75.tar.gz infini-f195a1e7396b7eaa23ef6f14ffebb700cf741c75.zip | |
test(workflow): add tests for workflow feature
Diffstat (limited to 'tests/test_workflow.py')
| -rw-r--r-- | tests/test_workflow.py | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/tests/test_workflow.py b/tests/test_workflow.py new file mode 100644 index 00000000..18dab9d5 --- /dev/null +++ b/tests/test_workflow.py @@ -0,0 +1,47 @@ +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 Startswith + + +def test_workflow(): + def func_workflow(input: Input): + yield input.output("workflow", "test.workflow", block=True) + + input = Input("testmsg") + + handler = Handler() + handler.handlers = [ + { + "priority": 0, + "router": Startswith(""), + "handler": func_workflow, + } + ] + + interceptor = Interceptor() + interceptor.interceptors = [] + + 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() + + for output in core.input(input): + assert isinstance(output, Output) + assert output.type == "workflow" + output.status = 0 |
