mirror of
https://github.com/ansible/awx.git
synced 2026-05-07 17:37:37 -02:30
Tests for start permissions for JobTemplate and WorkflowJob
when max_hosts is set.
This commit is contained in:
@@ -21,6 +21,19 @@ def test_admin_executing_permissions(deploy_jobtemplate, inventory, machine_cred
|
|||||||
assert admin_user.can_access(Credential, 'use', machine_credential)
|
assert admin_user.can_access(Credential, 'use', machine_credential)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.django_db
|
||||||
|
@pytest.mark.job_permissions
|
||||||
|
def test_admin_executing_permissions_with_limits(deploy_jobtemplate, inventory, user):
|
||||||
|
admin_user = user('admin-user', True)
|
||||||
|
|
||||||
|
inventory.organization.max_hosts = 1
|
||||||
|
inventory.organization.save()
|
||||||
|
inventory.hosts.create(name="Existing host 1")
|
||||||
|
inventory.hosts.create(name="Existing host 2")
|
||||||
|
|
||||||
|
assert admin_user.can_access(JobTemplate, 'start', deploy_jobtemplate)
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
@pytest.mark.job_permissions
|
@pytest.mark.job_permissions
|
||||||
def test_job_template_start_access(deploy_jobtemplate, user):
|
def test_job_template_start_access(deploy_jobtemplate, user):
|
||||||
|
|||||||
@@ -140,6 +140,16 @@ class TestWorkflowJobAccess:
|
|||||||
JobLaunchConfig.objects.create(job=workflow_job)
|
JobLaunchConfig.objects.create(job=workflow_job)
|
||||||
assert WorkflowJobAccess(rando).can_start(workflow_job)
|
assert WorkflowJobAccess(rando).can_start(workflow_job)
|
||||||
|
|
||||||
|
def test_can_start_with_limits(self, workflow_job, inventory, admin_user):
|
||||||
|
inventory.organization.max_hosts = 1
|
||||||
|
inventory.organization.save()
|
||||||
|
inventory.hosts.create(name="Existing host 1")
|
||||||
|
inventory.hosts.create(name="Existing host 2")
|
||||||
|
workflow_job.inventory = inventory
|
||||||
|
workflow_job.save()
|
||||||
|
|
||||||
|
assert WorkflowJobAccess(admin_user).can_start(workflow_job)
|
||||||
|
|
||||||
def test_cannot_relaunch_friends_job(self, wfjt, rando, alice):
|
def test_cannot_relaunch_friends_job(self, wfjt, rando, alice):
|
||||||
workflow_job = wfjt.workflow_jobs.create(name='foo', created_by=alice)
|
workflow_job = wfjt.workflow_jobs.create(name='foo', created_by=alice)
|
||||||
JobLaunchConfig.objects.create(
|
JobLaunchConfig.objects.create(
|
||||||
|
|||||||
Reference in New Issue
Block a user