mirror of
https://github.com/ansible/awx.git
synced 2026-01-10 15:32:07 -03:30
Added support and tests for --check option.
This commit is contained in:
parent
e9aa3f78e2
commit
541445d60f
@ -47,7 +47,9 @@ def run_launch_job(launch_job_status_pk):
|
||||
env['ANSIBLE_TRANSPORT'] = getattr(settings, 'ANSIBLE_TRANSPORT')
|
||||
|
||||
playbook = launch_job.project.default_playbook
|
||||
cmdline = ['ansible-playbook', '-i', inventory_script]#, '-v']
|
||||
cmdline = ['ansible-playbook', '-i', inventory_script]
|
||||
if launch_job.job_type == 'check':
|
||||
cmdline.append('--check')
|
||||
cmdline.append(playbook)
|
||||
|
||||
# FIXME: How to cancel/interrupt job? (not that important for now)
|
||||
|
||||
@ -103,6 +103,22 @@ class RunLaunchJobTest(BaseCeleryTest):
|
||||
self.assertEqual(launch_job_status_events.filter(event='runner_on_ok').count(), 1)
|
||||
self.assertEqual(launch_job_status_events.filter(event='playbook_on_stats').count(), 1)
|
||||
|
||||
def test_check_launch_job(self):
|
||||
self.create_test_playbook(TEST_PLAYBOOK)
|
||||
self.launch_job.job_type = 'check'
|
||||
self.launch_job.save()
|
||||
launch_job_status = self.launch_job.start()
|
||||
self.assertEqual(launch_job_status.status, 'pending')
|
||||
launch_job_status = LaunchJobStatus.objects.get(pk=launch_job_status.pk)
|
||||
self.assertEqual(launch_job_status.status, 'successful')
|
||||
self.assertTrue(launch_job_status.result_stdout)
|
||||
launch_job_status_events = launch_job_status.launch_job_status_events.all()
|
||||
self.assertEqual(launch_job_status_events.filter(event='playbook_on_start').count(), 1)
|
||||
self.assertEqual(launch_job_status_events.filter(event='playbook_on_play_start').count(), 1)
|
||||
self.assertEqual(launch_job_status_events.filter(event='playbook_on_task_start').count(), 1)
|
||||
self.assertEqual(launch_job_status_events.filter(event='runner_on_skipped').count(), 1)
|
||||
self.assertEqual(launch_job_status_events.filter(event='playbook_on_stats').count(), 1)
|
||||
|
||||
def test_run_launch_job_that_fails(self):
|
||||
self.create_test_playbook(TEST_PLAYBOOK2)
|
||||
launch_job_status = self.launch_job.start()
|
||||
@ -116,3 +132,21 @@ class RunLaunchJobTest(BaseCeleryTest):
|
||||
self.assertEqual(launch_job_status_events.filter(event='playbook_on_task_start').count(), 1)
|
||||
self.assertEqual(launch_job_status_events.filter(event='runner_on_failed').count(), 1)
|
||||
self.assertEqual(launch_job_status_events.filter(event='playbook_on_stats').count(), 1)
|
||||
|
||||
def test_check_launch_job_where_task_would_fail(self):
|
||||
self.create_test_playbook(TEST_PLAYBOOK2)
|
||||
self.launch_job.job_type = 'check'
|
||||
self.launch_job.save()
|
||||
launch_job_status = self.launch_job.start()
|
||||
self.assertEqual(launch_job_status.status, 'pending')
|
||||
launch_job_status = LaunchJobStatus.objects.get(pk=launch_job_status.pk)
|
||||
# Since we don't actually run the task, the --check should indicate
|
||||
# everything is successful.
|
||||
self.assertEqual(launch_job_status.status, 'successful')
|
||||
self.assertTrue(launch_job_status.result_stdout)
|
||||
launch_job_status_events = launch_job_status.launch_job_status_events.all()
|
||||
self.assertEqual(launch_job_status_events.filter(event='playbook_on_start').count(), 1)
|
||||
self.assertEqual(launch_job_status_events.filter(event='playbook_on_play_start').count(), 1)
|
||||
self.assertEqual(launch_job_status_events.filter(event='playbook_on_task_start').count(), 1)
|
||||
self.assertEqual(launch_job_status_events.filter(event='runner_on_skipped').count(), 1)
|
||||
self.assertEqual(launch_job_status_events.filter(event='playbook_on_stats').count(), 1)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user