| with patch.object(CodeNode, "_run", new=code_generator): | with patch.object(CodeNode, "_run", new=code_generator): | ||||
| generator = graph_engine.run() | generator = graph_engine.run() | ||||
| stream_content = "" | stream_content = "" | ||||
| res_content = "VAT:\ndify 123" | |||||
| wrong_content = ["Stamp Duty", "other"] | |||||
| for item in generator: | for item in generator: | ||||
| if isinstance(item, NodeRunStreamChunkEvent): | if isinstance(item, NodeRunStreamChunkEvent): | ||||
| stream_content += f"{item.chunk_content}\n" | stream_content += f"{item.chunk_content}\n" | ||||
| if isinstance(item, GraphRunSucceededEvent): | if isinstance(item, GraphRunSucceededEvent): | ||||
| assert item.outputs == {"answer": res_content} | |||||
| assert stream_content == res_content + "\n" | |||||
| assert item.outputs is not None | |||||
| answer = item.outputs["answer"] | |||||
| assert all(rc not in answer for rc in wrong_content) |