This commit is contained in:
takatost 2024-07-18 08:19:58 +08:00
parent f67a88f44d
commit 7ad77e9e77
2 changed files with 31 additions and 22 deletions

View File

@ -1,7 +1,24 @@
import os import os
import pytest
from flask import Flask
# Getting the absolute path of the current file's directory # Getting the absolute path of the current file's directory
ABS_PATH = os.path.dirname(os.path.abspath(__file__)) ABS_PATH = os.path.dirname(os.path.abspath(__file__))
# Getting the absolute path of the project's root directory # Getting the absolute path of the project's root directory
PROJECT_DIR = os.path.abspath(os.path.join(ABS_PATH, os.pardir, os.pardir)) PROJECT_DIR = os.path.abspath(os.path.join(ABS_PATH, os.pardir, os.pardir))
CACHED_APP = Flask(__name__)
CACHED_APP.config.update({"TESTING": True})
@pytest.fixture()
def app() -> Flask:
return CACHED_APP
@pytest.fixture(autouse=True)
def _provide_app_context(app: Flask):
with app.app_context():
yield

View File

@ -1,7 +1,5 @@
from unittest.mock import patch from unittest.mock import patch
from flask import Flask
from core.app.entities.app_invoke_entities import InvokeFrom from core.app.entities.app_invoke_entities import InvokeFrom
from core.workflow.entities.node_entities import SystemVariable, UserFrom from core.workflow.entities.node_entities import SystemVariable, UserFrom
from core.workflow.entities.variable_pool import VariablePool from core.workflow.entities.variable_pool import VariablePool
@ -130,22 +128,19 @@ def test_run_parallel(mock_close, mock_remove):
# print("") # print("")
app = Flask('test')
items = [] items = []
with app.app_context(): generator = graph_engine.run()
generator = graph_engine.run() for item in generator:
for item in generator: # print(type(item), item)
# print(type(item), item) items.append(item)
items.append(item) if isinstance(item, NodeRunSucceededEvent):
if isinstance(item, NodeRunSucceededEvent): assert item.route_node_state.status == RouteNodeState.Status.SUCCESS
assert item.route_node_state.status == RouteNodeState.Status.SUCCESS
assert not isinstance(item, NodeRunFailedEvent) assert not isinstance(item, NodeRunFailedEvent)
assert not isinstance(item, GraphRunFailedEvent) assert not isinstance(item, GraphRunFailedEvent)
if isinstance(item, BaseNodeEvent) and item.route_node_state.node_id in ['answer2', 'answer3']: if isinstance(item, BaseNodeEvent) and item.route_node_state.node_id in ['answer2', 'answer3']:
assert item.parallel_id is not None assert item.parallel_id is not None
assert len(items) == 12 assert len(items) == 12
assert isinstance(items[0], GraphRunStartedEvent) assert isinstance(items[0], GraphRunStartedEvent)
@ -290,14 +285,11 @@ def test_run_branch(mock_close, mock_remove):
# print("") # print("")
app = Flask('test')
items = [] items = []
with app.app_context(): generator = graph_engine.run()
generator = graph_engine.run() for item in generator:
for item in generator: print(type(item), item)
print(type(item), item) items.append(item)
items.append(item)
assert len(items) == 8 assert len(items) == 8
assert items[3].route_node_state.node_id == 'if-else-1' assert items[3].route_node_state.node_id == 'if-else-1'