prohibit relaunching workflow jobs from other users

This commit is contained in:
AlanCoding
2018-06-07 11:24:38 -04:00
parent b1f36572c6
commit b0b7f7a295
2 changed files with 30 additions and 6 deletions
@@ -7,7 +7,7 @@ from awx.main.access import (
# WorkflowJobNodeAccess
)
from awx.main.models import InventorySource
from awx.main.models import InventorySource, JobLaunchConfig
@pytest.fixture
@@ -135,6 +135,20 @@ class TestWorkflowJobAccess:
access = WorkflowJobAccess(rando)
assert access.can_cancel(workflow_job)
def test_execute_role_relaunch(self, wfjt, workflow_job, rando):
wfjt.execute_role.members.add(rando)
JobLaunchConfig.objects.create(job=workflow_job)
assert WorkflowJobAccess(rando).can_start(workflow_job)
def test_cannot_relaunch_friends_job(self, wfjt, rando, alice):
workflow_job = wfjt.workflow_jobs.create(name='foo', created_by=alice)
JobLaunchConfig.objects.create(
job=workflow_job,
extra_data={'foo': 'fooforyou'}
)
wfjt.execute_role.members.add(alice)
assert not WorkflowJobAccess(rando).can_start(workflow_job)
@pytest.mark.django_db
class TestWFJTCopyAccess: