mirror of
https://github.com/ansible/awx.git
synced 2026-03-27 13:55:04 -02:30
update unit and functional tests
This commit is contained in:
@@ -88,7 +88,7 @@ class TestIsolatedRuns:
|
|||||||
with mock.patch.object(job, '_get_task_class') as task_class:
|
with mock.patch.object(job, '_get_task_class') as task_class:
|
||||||
task_class.return_value = MockTaskClass
|
task_class.return_value = MockTaskClass
|
||||||
job.start_celery_task([], error_callback, success_callback, 'thepentagon')
|
job.start_celery_task([], error_callback, success_callback, 'thepentagon')
|
||||||
mock_async.assert_called_with([job.id, 'iso2'], [],
|
mock_async.assert_called_with([job.id], [],
|
||||||
link_error=error_callback,
|
link_error=error_callback,
|
||||||
link=success_callback,
|
link=success_callback,
|
||||||
queue='thepentagon',
|
queue='thepentagon',
|
||||||
@@ -100,7 +100,7 @@ class TestIsolatedRuns:
|
|||||||
with mock.patch.object(job, '_get_task_class') as task_class:
|
with mock.patch.object(job, '_get_task_class') as task_class:
|
||||||
task_class.return_value = MockTaskClass
|
task_class.return_value = MockTaskClass
|
||||||
job.start_celery_task([], error_callback, success_callback, 'thepentagon')
|
job.start_celery_task([], error_callback, success_callback, 'thepentagon')
|
||||||
mock_async.assert_called_with([job.id, 'iso1'], [],
|
mock_async.assert_called_with([job.id], [],
|
||||||
link_error=error_callback,
|
link_error=error_callback,
|
||||||
link=success_callback,
|
link=success_callback,
|
||||||
queue='thepentagon',
|
queue='thepentagon',
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ def test_multi_group_basic_job_launch(instance_factory, default_instance_group,
|
|||||||
mock_task_impact.return_value = 500
|
mock_task_impact.return_value = 500
|
||||||
with mocker.patch("awx.main.scheduler.TaskManager.start_task"):
|
with mocker.patch("awx.main.scheduler.TaskManager.start_task"):
|
||||||
TaskManager().schedule()
|
TaskManager().schedule()
|
||||||
TaskManager.start_task.assert_has_calls([mock.call(j1, ig1, []), mock.call(j2, ig2, [])])
|
TaskManager.start_task.assert_has_calls([mock.call(j1, ig1, [], i1), mock.call(j2, ig2, [], i2)])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -65,15 +65,18 @@ def test_multi_group_with_shared_dependency(instance_factory, default_instance_g
|
|||||||
with mocker.patch("awx.main.scheduler.TaskManager.start_task"):
|
with mocker.patch("awx.main.scheduler.TaskManager.start_task"):
|
||||||
TaskManager().schedule()
|
TaskManager().schedule()
|
||||||
pu = p.project_updates.first()
|
pu = p.project_updates.first()
|
||||||
TaskManager.start_task.assert_called_once_with(pu, default_instance_group, [j1])
|
TaskManager.start_task.assert_called_once_with(pu,
|
||||||
|
default_instance_group,
|
||||||
|
[j1],
|
||||||
|
default_instance_group.instances.all()[0])
|
||||||
pu.finished = pu.created + timedelta(seconds=1)
|
pu.finished = pu.created + timedelta(seconds=1)
|
||||||
pu.status = "successful"
|
pu.status = "successful"
|
||||||
pu.save()
|
pu.save()
|
||||||
with mock.patch("awx.main.scheduler.TaskManager.start_task"):
|
with mock.patch("awx.main.scheduler.TaskManager.start_task"):
|
||||||
TaskManager().schedule()
|
TaskManager().schedule()
|
||||||
|
|
||||||
TaskManager.start_task.assert_any_call(j1, ig1, [])
|
TaskManager.start_task.assert_any_call(j1, ig1, [], i1)
|
||||||
TaskManager.start_task.assert_any_call(j2, ig2, [])
|
TaskManager.start_task.assert_any_call(j2, ig2, [], i2)
|
||||||
assert TaskManager.start_task.call_count == 2
|
assert TaskManager.start_task.call_count == 2
|
||||||
|
|
||||||
|
|
||||||
@@ -85,7 +88,7 @@ def test_workflow_job_no_instancegroup(workflow_job_template_factory, default_in
|
|||||||
wfj.save()
|
wfj.save()
|
||||||
with mocker.patch("awx.main.scheduler.TaskManager.start_task"):
|
with mocker.patch("awx.main.scheduler.TaskManager.start_task"):
|
||||||
TaskManager().schedule()
|
TaskManager().schedule()
|
||||||
TaskManager.start_task.assert_called_once_with(wfj, None, [])
|
TaskManager.start_task.assert_called_once_with(wfj, None, [], None)
|
||||||
assert wfj.instance_group is None
|
assert wfj.instance_group is None
|
||||||
|
|
||||||
|
|
||||||
@@ -131,8 +134,9 @@ def test_overcapacity_blocking_other_groups_unaffected(instance_factory, default
|
|||||||
mock_task_impact.return_value = 500
|
mock_task_impact.return_value = 500
|
||||||
with mock.patch.object(TaskManager, "start_task", wraps=tm.start_task) as mock_job:
|
with mock.patch.object(TaskManager, "start_task", wraps=tm.start_task) as mock_job:
|
||||||
tm.schedule()
|
tm.schedule()
|
||||||
mock_job.assert_has_calls([mock.call(j1, ig1, []), mock.call(j1_1, ig1, []),
|
mock_job.assert_has_calls([mock.call(j1, ig1, [], i1),
|
||||||
mock.call(j2, ig2, [])])
|
mock.call(j1_1, ig1, [], i1),
|
||||||
|
mock.call(j2, ig2, [], i2)])
|
||||||
assert mock_job.call_count == 3
|
assert mock_job.call_count == 3
|
||||||
|
|
||||||
|
|
||||||
@@ -163,7 +167,8 @@ def test_failover_group_run(instance_factory, default_instance_group, mocker,
|
|||||||
mock_task_impact.return_value = 500
|
mock_task_impact.return_value = 500
|
||||||
with mock.patch.object(TaskManager, "start_task", wraps=tm.start_task) as mock_job:
|
with mock.patch.object(TaskManager, "start_task", wraps=tm.start_task) as mock_job:
|
||||||
tm.schedule()
|
tm.schedule()
|
||||||
mock_job.assert_has_calls([mock.call(j1, ig1, []), mock.call(j1_1, ig2, [])])
|
mock_job.assert_has_calls([mock.call(j1, ig1, [], i1),
|
||||||
|
mock.call(j1_1, ig2, [], i2)])
|
||||||
assert mock_job.call_count == 2
|
assert mock_job.call_count == 2
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ from awx.main.models.notifications import JobNotificationMixin
|
|||||||
|
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_single_job_scheduler_launch(default_instance_group, job_template_factory, mocker):
|
def test_single_job_scheduler_launch(default_instance_group, job_template_factory, mocker):
|
||||||
|
instance = default_instance_group.instances.all()[0]
|
||||||
objects = job_template_factory('jt', organization='org1', project='proj',
|
objects = job_template_factory('jt', organization='org1', project='proj',
|
||||||
inventory='inv', credential='cred',
|
inventory='inv', credential='cred',
|
||||||
jobs=["job_should_start"])
|
jobs=["job_should_start"])
|
||||||
@@ -26,11 +27,12 @@ def test_single_job_scheduler_launch(default_instance_group, job_template_factor
|
|||||||
j.save()
|
j.save()
|
||||||
with mocker.patch("awx.main.scheduler.TaskManager.start_task"):
|
with mocker.patch("awx.main.scheduler.TaskManager.start_task"):
|
||||||
TaskManager().schedule()
|
TaskManager().schedule()
|
||||||
TaskManager.start_task.assert_called_once_with(j, default_instance_group, [])
|
TaskManager.start_task.assert_called_once_with(j, default_instance_group, [], instance)
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_single_jt_multi_job_launch_blocks_last(default_instance_group, job_template_factory, mocker):
|
def test_single_jt_multi_job_launch_blocks_last(default_instance_group, job_template_factory, mocker):
|
||||||
|
instance = default_instance_group.instances.all()[0]
|
||||||
objects = job_template_factory('jt', organization='org1', project='proj',
|
objects = job_template_factory('jt', organization='org1', project='proj',
|
||||||
inventory='inv', credential='cred',
|
inventory='inv', credential='cred',
|
||||||
jobs=["job_should_start", "job_should_not_start"])
|
jobs=["job_should_start", "job_should_not_start"])
|
||||||
@@ -42,16 +44,17 @@ def test_single_jt_multi_job_launch_blocks_last(default_instance_group, job_temp
|
|||||||
j2.save()
|
j2.save()
|
||||||
with mock.patch("awx.main.scheduler.TaskManager.start_task"):
|
with mock.patch("awx.main.scheduler.TaskManager.start_task"):
|
||||||
TaskManager().schedule()
|
TaskManager().schedule()
|
||||||
TaskManager.start_task.assert_called_once_with(j1, default_instance_group, [])
|
TaskManager.start_task.assert_called_once_with(j1, default_instance_group, [], instance)
|
||||||
j1.status = "successful"
|
j1.status = "successful"
|
||||||
j1.save()
|
j1.save()
|
||||||
with mocker.patch("awx.main.scheduler.TaskManager.start_task"):
|
with mocker.patch("awx.main.scheduler.TaskManager.start_task"):
|
||||||
TaskManager().schedule()
|
TaskManager().schedule()
|
||||||
TaskManager.start_task.assert_called_once_with(j2, default_instance_group, [])
|
TaskManager.start_task.assert_called_once_with(j2, default_instance_group, [], instance)
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_single_jt_multi_job_launch_allow_simul_allowed(default_instance_group, job_template_factory, mocker):
|
def test_single_jt_multi_job_launch_allow_simul_allowed(default_instance_group, job_template_factory, mocker):
|
||||||
|
instance = default_instance_group.instances.all()[0]
|
||||||
objects = job_template_factory('jt', organization='org1', project='proj',
|
objects = job_template_factory('jt', organization='org1', project='proj',
|
||||||
inventory='inv', credential='cred',
|
inventory='inv', credential='cred',
|
||||||
jobs=["job_should_start", "job_should_not_start"])
|
jobs=["job_should_start", "job_should_not_start"])
|
||||||
@@ -68,12 +71,13 @@ def test_single_jt_multi_job_launch_allow_simul_allowed(default_instance_group,
|
|||||||
j2.save()
|
j2.save()
|
||||||
with mock.patch("awx.main.scheduler.TaskManager.start_task"):
|
with mock.patch("awx.main.scheduler.TaskManager.start_task"):
|
||||||
TaskManager().schedule()
|
TaskManager().schedule()
|
||||||
TaskManager.start_task.assert_has_calls([mock.call(j1, default_instance_group, []),
|
TaskManager.start_task.assert_has_calls([mock.call(j1, default_instance_group, [], instance),
|
||||||
mock.call(j2, default_instance_group, [])])
|
mock.call(j2, default_instance_group, [], instance)])
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_multi_jt_capacity_blocking(default_instance_group, job_template_factory, mocker):
|
def test_multi_jt_capacity_blocking(default_instance_group, job_template_factory, mocker):
|
||||||
|
instance = default_instance_group.instances.all()[0]
|
||||||
objects1 = job_template_factory('jt1', organization='org1', project='proj1',
|
objects1 = job_template_factory('jt1', organization='org1', project='proj1',
|
||||||
inventory='inv1', credential='cred1',
|
inventory='inv1', credential='cred1',
|
||||||
jobs=["job_should_start"])
|
jobs=["job_should_start"])
|
||||||
@@ -91,20 +95,20 @@ def test_multi_jt_capacity_blocking(default_instance_group, job_template_factory
|
|||||||
mock_task_impact.return_value = 500
|
mock_task_impact.return_value = 500
|
||||||
with mock.patch.object(TaskManager, "start_task", wraps=tm.start_task) as mock_job:
|
with mock.patch.object(TaskManager, "start_task", wraps=tm.start_task) as mock_job:
|
||||||
tm.schedule()
|
tm.schedule()
|
||||||
mock_job.assert_called_once_with(j1, default_instance_group, [])
|
mock_job.assert_called_once_with(j1, default_instance_group, [], instance)
|
||||||
j1.status = "successful"
|
j1.status = "successful"
|
||||||
j1.save()
|
j1.save()
|
||||||
with mock.patch.object(TaskManager, "start_task", wraps=tm.start_task) as mock_job:
|
with mock.patch.object(TaskManager, "start_task", wraps=tm.start_task) as mock_job:
|
||||||
tm.schedule()
|
tm.schedule()
|
||||||
mock_job.assert_called_once_with(j2, default_instance_group, [])
|
mock_job.assert_called_once_with(j2, default_instance_group, [], instance)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_single_job_dependencies_project_launch(default_instance_group, job_template_factory, mocker):
|
def test_single_job_dependencies_project_launch(default_instance_group, job_template_factory, mocker):
|
||||||
objects = job_template_factory('jt', organization='org1', project='proj',
|
objects = job_template_factory('jt', organization='org1', project='proj',
|
||||||
inventory='inv', credential='cred',
|
inventory='inv', credential='cred',
|
||||||
jobs=["job_should_start"])
|
jobs=["job_should_start"])
|
||||||
|
instance = default_instance_group.instances.all()[0]
|
||||||
j = objects.jobs["job_should_start"]
|
j = objects.jobs["job_should_start"]
|
||||||
j.status = 'pending'
|
j.status = 'pending'
|
||||||
j.save()
|
j.save()
|
||||||
@@ -121,12 +125,12 @@ def test_single_job_dependencies_project_launch(default_instance_group, job_temp
|
|||||||
mock_pu.assert_called_once_with(j)
|
mock_pu.assert_called_once_with(j)
|
||||||
pu = [x for x in p.project_updates.all()]
|
pu = [x for x in p.project_updates.all()]
|
||||||
assert len(pu) == 1
|
assert len(pu) == 1
|
||||||
TaskManager.start_task.assert_called_once_with(pu[0], default_instance_group, [j])
|
TaskManager.start_task.assert_called_once_with(pu[0], default_instance_group, [j], instance)
|
||||||
pu[0].status = "successful"
|
pu[0].status = "successful"
|
||||||
pu[0].save()
|
pu[0].save()
|
||||||
with mock.patch("awx.main.scheduler.TaskManager.start_task"):
|
with mock.patch("awx.main.scheduler.TaskManager.start_task"):
|
||||||
TaskManager().schedule()
|
TaskManager().schedule()
|
||||||
TaskManager.start_task.assert_called_once_with(j, default_instance_group, [])
|
TaskManager.start_task.assert_called_once_with(j, default_instance_group, [], instance)
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
@@ -134,6 +138,7 @@ def test_single_job_dependencies_inventory_update_launch(default_instance_group,
|
|||||||
objects = job_template_factory('jt', organization='org1', project='proj',
|
objects = job_template_factory('jt', organization='org1', project='proj',
|
||||||
inventory='inv', credential='cred',
|
inventory='inv', credential='cred',
|
||||||
jobs=["job_should_start"])
|
jobs=["job_should_start"])
|
||||||
|
instance = default_instance_group.instances.all()[0]
|
||||||
j = objects.jobs["job_should_start"]
|
j = objects.jobs["job_should_start"]
|
||||||
j.status = 'pending'
|
j.status = 'pending'
|
||||||
j.save()
|
j.save()
|
||||||
@@ -151,12 +156,12 @@ def test_single_job_dependencies_inventory_update_launch(default_instance_group,
|
|||||||
mock_iu.assert_called_once_with(j, ii)
|
mock_iu.assert_called_once_with(j, ii)
|
||||||
iu = [x for x in ii.inventory_updates.all()]
|
iu = [x for x in ii.inventory_updates.all()]
|
||||||
assert len(iu) == 1
|
assert len(iu) == 1
|
||||||
TaskManager.start_task.assert_called_once_with(iu[0], default_instance_group, [j])
|
TaskManager.start_task.assert_called_once_with(iu[0], default_instance_group, [j], instance)
|
||||||
iu[0].status = "successful"
|
iu[0].status = "successful"
|
||||||
iu[0].save()
|
iu[0].save()
|
||||||
with mock.patch("awx.main.scheduler.TaskManager.start_task"):
|
with mock.patch("awx.main.scheduler.TaskManager.start_task"):
|
||||||
TaskManager().schedule()
|
TaskManager().schedule()
|
||||||
TaskManager.start_task.assert_called_once_with(j, default_instance_group, [])
|
TaskManager.start_task.assert_called_once_with(j, default_instance_group, [], instance)
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
@@ -164,6 +169,7 @@ def test_job_dependency_with_already_updated(default_instance_group, job_templat
|
|||||||
objects = job_template_factory('jt', organization='org1', project='proj',
|
objects = job_template_factory('jt', organization='org1', project='proj',
|
||||||
inventory='inv', credential='cred',
|
inventory='inv', credential='cred',
|
||||||
jobs=["job_should_start"])
|
jobs=["job_should_start"])
|
||||||
|
instance = default_instance_group.instances.all()[0]
|
||||||
j = objects.jobs["job_should_start"]
|
j = objects.jobs["job_should_start"]
|
||||||
j.status = 'pending'
|
j.status = 'pending'
|
||||||
j.save()
|
j.save()
|
||||||
@@ -185,11 +191,12 @@ def test_job_dependency_with_already_updated(default_instance_group, job_templat
|
|||||||
mock_iu.assert_not_called()
|
mock_iu.assert_not_called()
|
||||||
with mock.patch("awx.main.scheduler.TaskManager.start_task"):
|
with mock.patch("awx.main.scheduler.TaskManager.start_task"):
|
||||||
TaskManager().schedule()
|
TaskManager().schedule()
|
||||||
TaskManager.start_task.assert_called_once_with(j, default_instance_group, [])
|
TaskManager.start_task.assert_called_once_with(j, default_instance_group, [], instance)
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_shared_dependencies_launch(default_instance_group, job_template_factory, mocker, inventory_source_factory):
|
def test_shared_dependencies_launch(default_instance_group, job_template_factory, mocker, inventory_source_factory):
|
||||||
|
instance = default_instance_group.instances.all()[0]
|
||||||
objects = job_template_factory('jt', organization='org1', project='proj',
|
objects = job_template_factory('jt', organization='org1', project='proj',
|
||||||
inventory='inv', credential='cred',
|
inventory='inv', credential='cred',
|
||||||
jobs=["first_job", "second_job"])
|
jobs=["first_job", "second_job"])
|
||||||
@@ -218,8 +225,8 @@ def test_shared_dependencies_launch(default_instance_group, job_template_factory
|
|||||||
TaskManager().schedule()
|
TaskManager().schedule()
|
||||||
pu = p.project_updates.first()
|
pu = p.project_updates.first()
|
||||||
iu = ii.inventory_updates.first()
|
iu = ii.inventory_updates.first()
|
||||||
TaskManager.start_task.assert_has_calls([mock.call(pu, default_instance_group, [iu, j1]),
|
TaskManager.start_task.assert_has_calls([mock.call(pu, default_instance_group, [iu, j1], instance),
|
||||||
mock.call(iu, default_instance_group, [pu, j1])])
|
mock.call(iu, default_instance_group, [pu, j1], instance)])
|
||||||
pu.status = "successful"
|
pu.status = "successful"
|
||||||
pu.finished = pu.created + timedelta(seconds=1)
|
pu.finished = pu.created + timedelta(seconds=1)
|
||||||
pu.save()
|
pu.save()
|
||||||
@@ -228,12 +235,12 @@ def test_shared_dependencies_launch(default_instance_group, job_template_factory
|
|||||||
iu.save()
|
iu.save()
|
||||||
with mock.patch("awx.main.scheduler.TaskManager.start_task"):
|
with mock.patch("awx.main.scheduler.TaskManager.start_task"):
|
||||||
TaskManager().schedule()
|
TaskManager().schedule()
|
||||||
TaskManager.start_task.assert_called_once_with(j1, default_instance_group, [])
|
TaskManager.start_task.assert_called_once_with(j1, default_instance_group, [], instance)
|
||||||
j1.status = "successful"
|
j1.status = "successful"
|
||||||
j1.save()
|
j1.save()
|
||||||
with mock.patch("awx.main.scheduler.TaskManager.start_task"):
|
with mock.patch("awx.main.scheduler.TaskManager.start_task"):
|
||||||
TaskManager().schedule()
|
TaskManager().schedule()
|
||||||
TaskManager.start_task.assert_called_once_with(j2, default_instance_group, [])
|
TaskManager.start_task.assert_called_once_with(j2, default_instance_group, [], instance)
|
||||||
pu = [x for x in p.project_updates.all()]
|
pu = [x for x in p.project_updates.all()]
|
||||||
iu = [x for x in ii.inventory_updates.all()]
|
iu = [x for x in ii.inventory_updates.all()]
|
||||||
assert len(pu) == 1
|
assert len(pu) == 1
|
||||||
|
|||||||
@@ -196,7 +196,7 @@ def parse_extra_vars(args):
|
|||||||
return extra_vars
|
return extra_vars
|
||||||
|
|
||||||
|
|
||||||
class TestJobExecution:
|
class TestJobExecution(object):
|
||||||
"""
|
"""
|
||||||
For job runs, test that `ansible-playbook` is invoked with the proper
|
For job runs, test that `ansible-playbook` is invoked with the proper
|
||||||
arguments, environment variables, and pexpect passwords for a variety of
|
arguments, environment variables, and pexpect passwords for a variety of
|
||||||
@@ -440,7 +440,7 @@ class TestGenericRun(TestJobExecution):
|
|||||||
with pytest.raises(Exception):
|
with pytest.raises(Exception):
|
||||||
self.task.run(self.pk)
|
self.task.run(self.pk)
|
||||||
for c in [
|
for c in [
|
||||||
mock.call(self.pk, execution_node=settings.CLUSTER_HOST_ID, status='running', start_args=''),
|
mock.call(self.pk, status='running', start_args=''),
|
||||||
mock.call(self.pk, status='canceled')
|
mock.call(self.pk, status='canceled')
|
||||||
]:
|
]:
|
||||||
assert c in self.task.update_model.call_args_list
|
assert c in self.task.update_model.call_args_list
|
||||||
@@ -626,7 +626,12 @@ class TestAdhocRun(TestJobExecution):
|
|||||||
|
|
||||||
class TestIsolatedExecution(TestJobExecution):
|
class TestIsolatedExecution(TestJobExecution):
|
||||||
|
|
||||||
REMOTE_HOST = 'some-isolated-host'
|
ISOLATED_HOST = 'some-isolated-host'
|
||||||
|
|
||||||
|
def get_instance(self):
|
||||||
|
instance = super(TestIsolatedExecution, self).get_instance()
|
||||||
|
instance.get_isolated_execution_node_name = mock.Mock(return_value=self.ISOLATED_HOST)
|
||||||
|
return instance
|
||||||
|
|
||||||
def test_with_ssh_credentials(self):
|
def test_with_ssh_credentials(self):
|
||||||
ssh = CredentialType.defaults['ssh']()
|
ssh = CredentialType.defaults['ssh']()
|
||||||
@@ -659,12 +664,12 @@ class TestIsolatedExecution(TestJobExecution):
|
|||||||
f.write(data)
|
f.write(data)
|
||||||
return ('successful', 0)
|
return ('successful', 0)
|
||||||
self.run_pexpect.side_effect = _mock_job_artifacts
|
self.run_pexpect.side_effect = _mock_job_artifacts
|
||||||
self.task.run(self.pk, self.REMOTE_HOST)
|
self.task.run(self.pk)
|
||||||
|
|
||||||
playbook_run = self.run_pexpect.call_args_list[0][0]
|
playbook_run = self.run_pexpect.call_args_list[0][0]
|
||||||
assert ' '.join(playbook_run[0]).startswith(' '.join([
|
assert ' '.join(playbook_run[0]).startswith(' '.join([
|
||||||
'ansible-playbook', 'run_isolated.yml', '-u', settings.AWX_ISOLATED_USERNAME,
|
'ansible-playbook', 'run_isolated.yml', '-u', settings.AWX_ISOLATED_USERNAME,
|
||||||
'-T', str(settings.AWX_ISOLATED_CONNECTION_TIMEOUT), '-i', self.REMOTE_HOST + ',',
|
'-T', str(settings.AWX_ISOLATED_CONNECTION_TIMEOUT), '-i', self.ISOLATED_HOST + ',',
|
||||||
'-e',
|
'-e',
|
||||||
]))
|
]))
|
||||||
extra_vars = playbook_run[0][playbook_run[0].index('-e') + 1]
|
extra_vars = playbook_run[0][playbook_run[0].index('-e') + 1]
|
||||||
@@ -705,7 +710,7 @@ class TestIsolatedExecution(TestJobExecution):
|
|||||||
with mock.patch('requests.get') as mock_get:
|
with mock.patch('requests.get') as mock_get:
|
||||||
mock_get.return_value = mock.Mock(content=inventory)
|
mock_get.return_value = mock.Mock(content=inventory)
|
||||||
with pytest.raises(Exception):
|
with pytest.raises(Exception):
|
||||||
self.task.run(self.pk, self.REMOTE_HOST)
|
self.task.run(self.pk, self.ISOLATED_HOST)
|
||||||
|
|
||||||
|
|
||||||
class TestJobCredentials(TestJobExecution):
|
class TestJobCredentials(TestJobExecution):
|
||||||
|
|||||||
Reference in New Issue
Block a user