Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bugfix: 调整分支网关token分配算法,分支网关内与主流程token一致 #204

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion bamboo_engine/builder/builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -214,10 +214,10 @@ def inject_pipeline_token(node, pipeline_tree, node_token_map, token):
# 如果是网关
if node["type"] in ["ParallelGateway", "ExclusiveGateway", "ConditionalParallelGateway"]:
next_nodes = _get_next_node(node, pipeline_tree)
node_token = unique_id("t")
target_nodes = {}
for next_node in next_nodes:
# 分支网关各个分支token相同
node_token = token
node_token_map[next_node["id"]] = node_token
# 并行网关token不同
if node["type"] in ["ParallelGateway", "ConditionalParallelGateway"]:
Expand Down
8 changes: 4 additions & 4 deletions tests/builder/test_token.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ def test_inject_pipeline_token_with_complex_cycle():
== get_node_token(pipeline, "act_2", node_token_map)
== get_node_token(pipeline, "ExclusiveGateway", node_token_map)
== get_node_token(pipeline, "end_event", node_token_map)
!= get_node_token(pipeline, "act_3", node_token_map)
== get_node_token(pipeline, "act_3", node_token_map)
)

assert get_node_token(pipeline, "act_4", node_token_map) == get_node_token(pipeline, "act_3", node_token_map)
Expand Down Expand Up @@ -131,7 +131,7 @@ def test_inject_pipeline_token_exclusive_gateway():
== get_node_token(pipeline, "act_1", node_token_map)
== get_node_token(pipeline, "ExclusiveGateway", node_token_map)
== get_node_token(pipeline, "end_event", node_token_map)
!= get_node_token(pipeline, "act_2", node_token_map)
== get_node_token(pipeline, "act_2", node_token_map)
)

assert get_node_token(pipeline, "act_2", node_token_map) == get_node_token(pipeline, "act_3", node_token_map)
Expand Down Expand Up @@ -196,7 +196,7 @@ def sub_process(name):
== get_node_token(pipeline, "end_event", node_token_map)
== get_node_token(pipeline, "ExclusiveGateway", node_token_map)
== get_node_token(pipeline, "end_event", node_token_map)
!= get_node_token(pipeline, "act_3", node_token_map)
== get_node_token(pipeline, "act_3", node_token_map)
)

assert get_node_token(pipeline, "act_3", node_token_map) == get_node_token(pipeline, "act_4", node_token_map)
Expand Down Expand Up @@ -230,7 +230,7 @@ def test_inject_pipeline_token_with_cycle():
== get_node_token(pipeline, "act_1", node_token_map)
== get_node_token(pipeline, "ExclusiveGateway", node_token_map)
== get_node_token(pipeline, "end_event", node_token_map)
!= get_node_token(pipeline, "act_2", node_token_map)
== get_node_token(pipeline, "act_2", node_token_map)
)

assert get_node_token(pipeline, "act_2", node_token_map) == get_node_token(pipeline, "act_3", node_token_map)
Loading