mirror of
https://github.com/ansible/awx.git
synced 2026-03-26 05:15:02 -02:30
Merge pull request #6491 from john-westcott-iv/second_tower_job_template_update
Second attempt at converting tower_job_template Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
This commit is contained in:
@@ -3,7 +3,7 @@ __metaclass__ = type
|
||||
|
||||
import pytest
|
||||
|
||||
from awx.main.models import JobTemplate, Job
|
||||
from awx.main.models import ActivityStream, JobTemplate, Job
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
@@ -23,8 +23,7 @@ def test_create_job_template(run_module, admin_user, project, inventory):
|
||||
assert jt.extra_vars == '{"foo": "bar"}'
|
||||
|
||||
assert result == {
|
||||
"job_template": "foo",
|
||||
"state": "present",
|
||||
"name": "foo",
|
||||
"id": jt.id,
|
||||
"changed": True,
|
||||
"invocation": {
|
||||
@@ -64,61 +63,70 @@ def test_job_launch_with_prompting(run_module, admin_user, project, inventory, m
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_create_job_template_with_old_credentials(
|
||||
def test_job_template_with_new_credentials(
|
||||
run_module, admin_user, project, inventory,
|
||||
machine_credential, vault_credential):
|
||||
|
||||
module_args = {
|
||||
'name': 'foo', 'playbook': 'helloworld.yml',
|
||||
'project': project.name, 'inventory': inventory.name,
|
||||
'credential': machine_credential.name,
|
||||
'vault_credential': vault_credential.name,
|
||||
'job_type': 'run',
|
||||
'state': 'present'
|
||||
}
|
||||
|
||||
result = run_module('tower_job_template', module_args, admin_user)
|
||||
|
||||
jt = JobTemplate.objects.get(name='foo')
|
||||
|
||||
assert result == {
|
||||
"job_template": "foo",
|
||||
"state": "present",
|
||||
"id": jt.id,
|
||||
"changed": True,
|
||||
"invocation": {
|
||||
"module_args": module_args
|
||||
}
|
||||
}
|
||||
|
||||
assert set([machine_credential.id, vault_credential.id]) == set([
|
||||
cred.pk for cred in jt.credentials.all()])
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_create_job_template_with_new_credentials(
|
||||
run_module, admin_user, project, inventory,
|
||||
machine_credential, vault_credential):
|
||||
jt = JobTemplate.objects.create(
|
||||
name='foo',
|
||||
playbook='helloworld.yml',
|
||||
inventory=inventory,
|
||||
project=project
|
||||
)
|
||||
result = run_module('tower_job_template', dict(
|
||||
name='foo',
|
||||
playbook='helloworld.yml',
|
||||
project=project.name,
|
||||
inventory=inventory.name,
|
||||
credentials=[machine_credential.name, vault_credential.name]
|
||||
), admin_user)
|
||||
assert result.pop('changed', None), result
|
||||
|
||||
result.pop('invocation')
|
||||
assert result == {
|
||||
"job_template": "foo",
|
||||
"state": "present",
|
||||
"id": jt.id
|
||||
}
|
||||
assert not result.get('failed', False), result.get('msg', result)
|
||||
assert result.get('changed', False), result
|
||||
jt = JobTemplate.objects.get(pk=result['id'])
|
||||
|
||||
assert set([machine_credential.id, vault_credential.id]) == set([
|
||||
cred.pk for cred in jt.credentials.all()])
|
||||
|
||||
prior_ct = ActivityStream.objects.count()
|
||||
result = run_module('tower_job_template', dict(
|
||||
name='foo',
|
||||
playbook='helloworld.yml',
|
||||
project=project.name,
|
||||
inventory=inventory.name,
|
||||
credentials=[machine_credential.name, vault_credential.name]
|
||||
), admin_user)
|
||||
assert not result.get('failed', False), result.get('msg', result)
|
||||
assert not result.get('changed', True), result
|
||||
jt.refresh_from_db()
|
||||
assert result['id'] == jt.id
|
||||
|
||||
assert set([machine_credential.id, vault_credential.id]) == set([
|
||||
cred.pk for cred in jt.credentials.all()])
|
||||
assert ActivityStream.objects.count() == prior_ct
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_job_template_with_survey_spec(run_module, admin_user, project, inventory, survey_spec):
|
||||
result = run_module('tower_job_template', dict(
|
||||
name='foo',
|
||||
playbook='helloworld.yml',
|
||||
project=project.name,
|
||||
inventory=inventory.name,
|
||||
survey_spec=survey_spec,
|
||||
survey_enabled=True
|
||||
), admin_user)
|
||||
assert not result.get('failed', False), result.get('msg', result)
|
||||
assert result.get('changed', False), result
|
||||
jt = JobTemplate.objects.get(pk=result['id'])
|
||||
|
||||
# assert jt.survey_spec == survey_spec
|
||||
|
||||
prior_ct = ActivityStream.objects.count()
|
||||
result = run_module('tower_job_template', dict(
|
||||
name='foo',
|
||||
playbook='helloworld.yml',
|
||||
project=project.name,
|
||||
inventory=inventory.name,
|
||||
survey_spec=survey_spec,
|
||||
survey_enabled=True
|
||||
), admin_user)
|
||||
assert not result.get('failed', False), result.get('msg', result)
|
||||
assert not result.get('changed', True), result
|
||||
jt.refresh_from_db()
|
||||
assert result['id'] == jt.id
|
||||
|
||||
assert jt.survey_spec == survey_spec
|
||||
assert ActivityStream.objects.count() == prior_ct
|
||||
|
||||
Reference in New Issue
Block a user