1
0
mirror of https://github.com/ansible/awx.git synced 2024-11-01 08:21:15 +03:00

remove some leaky mock.patch() that were causing sporadic test failures

This commit is contained in:
Ryan Petrello 2018-01-31 15:12:59 -05:00
parent e43879d44e
commit 0aa6c7b83f
No known key found for this signature in database
GPG Key ID: F2AA5F2122351777

View File

@ -29,6 +29,7 @@ from awx.main.models import (
ProjectUpdate,
UnifiedJob,
User,
Organization,
build_safe_env
)
@ -204,7 +205,6 @@ class TestJobExecution:
mock.patch.object(Project, 'get_project_path', lambda *a, **kw: self.project_path),
# don't emit websocket statuses; they use the DB and complicate testing
mock.patch.object(UnifiedJob, 'websocket_emit_status', mock.Mock()),
mock.patch.object(Job, 'ansible_virtualenv_path', settings.ANSIBLE_VENV_PATH),
mock.patch('awx.main.expect.run.run_pexpect', self.run_pexpect),
]
for cls in (Job, AdHocCommand):
@ -267,6 +267,8 @@ class TestJobExecution:
self.patches.append(patch)
patch.start()
job.project = Project(organization=Organization())
return job
@property
@ -353,11 +355,9 @@ class TestGenericRun(TestJobExecution):
def test_valid_custom_virtualenv(self):
with TemporaryDirectory(dir=settings.BASE_VENV_PATH) as tempdir:
self.instance.project.custom_virtualenv = tempdir
os.makedirs(os.path.join(tempdir, 'lib'))
os.makedirs(os.path.join(tempdir, 'bin', 'activate'))
venv_patch = mock.patch.object(Job, 'ansible_virtualenv_path', tempdir)
self.patches.append(venv_patch)
venv_patch.start()
self.task.run(self.pk)
@ -371,14 +371,11 @@ class TestGenericRun(TestJobExecution):
assert '--ro-bind {} {}'.format(path, path) in ' '.join(args)
def test_invalid_custom_virtualenv(self):
venv_patch = mock.patch.object(Job, 'ansible_virtualenv_path', '/venv/missing')
self.patches.append(venv_patch)
venv_patch.start()
with pytest.raises(Exception):
self.instance.project.custom_virtualenv = '/venv/missing'
self.task.run(self.pk)
tb = self.task.update_model.call_args[-1]['result_traceback']
assert 'a valid Python virtualenv does not exist at /venv/missing' in tb
tb = self.task.update_model.call_args[-1]['result_traceback']
assert 'a valid Python virtualenv does not exist at /venv/missing' in tb
class TestAdhocRun(TestJobExecution):