mirror of
https://github.com/ZwareBear/awx.git
synced 2026-05-06 16:32:01 -05:00
Merge pull request #3782 from jangsutsr/3518_graph_topology_validation
Add graph topology validations to workflow JT nodes
This commit is contained in:
@@ -118,6 +118,22 @@ class TestWorkflowJobTemplate:
|
||||
assert len(parent_qs) == 1
|
||||
assert parent_qs[0] == wfjt.workflow_job_template_nodes.all()[1]
|
||||
|
||||
def test_topology_validator(self, wfjt):
|
||||
from awx.api.views import WorkflowJobTemplateNodeChildrenBaseList
|
||||
test_view = WorkflowJobTemplateNodeChildrenBaseList()
|
||||
nodes = wfjt.workflow_job_template_nodes.all()
|
||||
node_assoc = WorkflowJobTemplateNode.objects.create(workflow_job_template=wfjt)
|
||||
nodes[2].always_nodes.add(node_assoc)
|
||||
# test cycle validation
|
||||
assert test_view.is_valid_relation(node_assoc, nodes[0]) == {'Error': 'Cycle detected!'}
|
||||
# test multi-ancestor validation
|
||||
assert test_view.is_valid_relation(node_assoc, nodes[1]) == {'Error': 'Multiple ancestor detected!'}
|
||||
# test mutex validation
|
||||
test_view.relationship = 'failure_nodes'
|
||||
node_assoc_1 = WorkflowJobTemplateNode.objects.create(workflow_job_template=wfjt)
|
||||
assert (test_view.is_valid_relation(nodes[2], node_assoc_1) ==
|
||||
{'Error': 'Cannot associate failure_nodes when always_nodes have been associated.'})
|
||||
|
||||
@pytest.mark.django_db
|
||||
class TestWorkflowJobFailure:
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user