Use real tmpdir for ansible runner tests
Additionally mock os.chmod in case the file does not exist. Change-Id: I404391c0c755681831c33ec7bc752b5d7878ed85 Closes-Bug: #1945660
This commit is contained in:
parent
b5083e0bc0
commit
d5457bfb4e
|
@ -81,12 +81,14 @@ class TestRunAnsiblePlaybook(TestCase):
|
||||||
utils.run_ansible_playbook,
|
utils.run_ansible_playbook,
|
||||||
'non-existing.yaml',
|
'non-existing.yaml',
|
||||||
'localhost,',
|
'localhost,',
|
||||||
'/tmp'
|
utils.constants.DEFAULT_WORK_DIR
|
||||||
)
|
)
|
||||||
mock_exists.assert_called_with('/tmp/non-existing.yaml')
|
mock_exists.assert_called_with(os.path.join(
|
||||||
|
utils.constants.DEFAULT_WORK_DIR, 'non-existing.yaml'))
|
||||||
mock_run.assert_not_called()
|
mock_run.assert_not_called()
|
||||||
|
|
||||||
@mock.patch('tempfile.mkstemp', return_value=('foo', '/tmp/fooBar.cfg'))
|
@mock.patch('tempfile.mkstemp', return_value=('foo', os.path.join(
|
||||||
|
utils.constants.DEFAULT_WORK_DIR, 'fooBar.cfg')))
|
||||||
@mock.patch('os.path.exists', return_value=True)
|
@mock.patch('os.path.exists', return_value=True)
|
||||||
@mock.patch('os.makedirs')
|
@mock.patch('os.makedirs')
|
||||||
@mock.patch.object(
|
@mock.patch.object(
|
||||||
|
@ -103,10 +105,11 @@ class TestRunAnsiblePlaybook(TestCase):
|
||||||
utils.run_ansible_playbook(
|
utils.run_ansible_playbook(
|
||||||
'existing.yaml',
|
'existing.yaml',
|
||||||
'localhost,',
|
'localhost,',
|
||||||
'/tmp'
|
utils.constants.DEFAULT_WORK_DIR
|
||||||
)
|
)
|
||||||
|
|
||||||
@mock.patch('tempfile.mkstemp', return_value=('foo', '/tmp/fooBar.cfg'))
|
@mock.patch('tempfile.mkstemp', return_value=('foo', os.path.join(
|
||||||
|
utils.constants.DEFAULT_WORK_DIR, 'fooBar.cfg')))
|
||||||
@mock.patch('os.path.exists', return_value=True)
|
@mock.patch('os.path.exists', return_value=True)
|
||||||
@mock.patch('os.makedirs')
|
@mock.patch('os.makedirs')
|
||||||
@mock.patch.object(
|
@mock.patch.object(
|
||||||
|
@ -121,7 +124,7 @@ class TestRunAnsiblePlaybook(TestCase):
|
||||||
utils.run_ansible_playbook(
|
utils.run_ansible_playbook(
|
||||||
playbook='existing.yaml',
|
playbook='existing.yaml',
|
||||||
inventory='localhost,',
|
inventory='localhost,',
|
||||||
workdir='/tmp'
|
workdir=utils.constants.DEFAULT_WORK_DIR
|
||||||
)
|
)
|
||||||
|
|
||||||
@mock.patch('os.path.exists', return_value=True)
|
@mock.patch('os.path.exists', return_value=True)
|
||||||
|
@ -138,10 +141,11 @@ class TestRunAnsiblePlaybook(TestCase):
|
||||||
utils.run_ansible_playbook(
|
utils.run_ansible_playbook(
|
||||||
playbook='existing.yaml',
|
playbook='existing.yaml',
|
||||||
inventory='localhost,',
|
inventory='localhost,',
|
||||||
workdir='/tmp'
|
workdir=utils.constants.DEFAULT_WORK_DIR
|
||||||
)
|
)
|
||||||
|
|
||||||
@mock.patch('tempfile.mkstemp', return_value=('foo', '/tmp/fooBar.cfg'))
|
@mock.patch('tempfile.mkstemp', return_value=('foo', os.path.join(
|
||||||
|
utils.constants.DEFAULT_WORK_DIR, 'fooBar.cfg')))
|
||||||
@mock.patch('os.path.exists', return_value=True)
|
@mock.patch('os.path.exists', return_value=True)
|
||||||
@mock.patch('os.makedirs')
|
@mock.patch('os.makedirs')
|
||||||
@mock.patch.object(
|
@mock.patch.object(
|
||||||
|
@ -157,12 +161,13 @@ class TestRunAnsiblePlaybook(TestCase):
|
||||||
utils.run_ansible_playbook(
|
utils.run_ansible_playbook(
|
||||||
playbook='existing.yaml',
|
playbook='existing.yaml',
|
||||||
inventory='localhost,',
|
inventory='localhost,',
|
||||||
workdir='/tmp',
|
workdir=utils.constants.DEFAULT_WORK_DIR,
|
||||||
connection='local'
|
connection='local'
|
||||||
)
|
)
|
||||||
|
|
||||||
@mock.patch('os.makedirs', return_value=None)
|
@mock.patch('os.makedirs', return_value=None)
|
||||||
@mock.patch('tempfile.mkstemp', return_value=('foo', '/tmp/fooBar.cfg'))
|
@mock.patch('tempfile.mkstemp', return_value=('foo', os.path.join(
|
||||||
|
utils.constants.DEFAULT_WORK_DIR, 'fooBar.cfg')))
|
||||||
@mock.patch('os.path.exists', return_value=True)
|
@mock.patch('os.path.exists', return_value=True)
|
||||||
@mock.patch.object(
|
@mock.patch.object(
|
||||||
Runner,
|
Runner,
|
||||||
|
@ -177,13 +182,14 @@ class TestRunAnsiblePlaybook(TestCase):
|
||||||
utils.run_ansible_playbook(
|
utils.run_ansible_playbook(
|
||||||
playbook='existing.yaml',
|
playbook='existing.yaml',
|
||||||
inventory='localhost,',
|
inventory='localhost,',
|
||||||
workdir='/tmp',
|
workdir=utils.constants.DEFAULT_WORK_DIR,
|
||||||
connection='local',
|
connection='local',
|
||||||
gathering_policy='smart'
|
gathering_policy='smart'
|
||||||
)
|
)
|
||||||
|
|
||||||
@mock.patch('os.makedirs', return_value=None)
|
@mock.patch('os.makedirs', return_value=None)
|
||||||
@mock.patch('tempfile.mkstemp', return_value=('foo', '/tmp/fooBar.cfg'))
|
@mock.patch('tempfile.mkstemp', return_value=('foo', os.path.join(
|
||||||
|
utils.constants.DEFAULT_WORK_DIR, 'fooBar.cfg')))
|
||||||
@mock.patch('os.path.exists', return_value=True)
|
@mock.patch('os.path.exists', return_value=True)
|
||||||
@mock.patch.object(
|
@mock.patch.object(
|
||||||
Runner,
|
Runner,
|
||||||
|
@ -200,7 +206,7 @@ class TestRunAnsiblePlaybook(TestCase):
|
||||||
utils.run_ansible_playbook(
|
utils.run_ansible_playbook(
|
||||||
playbook='existing.yaml',
|
playbook='existing.yaml',
|
||||||
inventory='localhost,',
|
inventory='localhost,',
|
||||||
workdir='/tmp',
|
workdir=utils.constants.DEFAULT_WORK_DIR,
|
||||||
connection='local',
|
connection='local',
|
||||||
gathering_policy='smart',
|
gathering_policy='smart',
|
||||||
extra_vars=arglist
|
extra_vars=arglist
|
||||||
|
@ -218,26 +224,29 @@ class TestRunAnsiblePlaybook(TestCase):
|
||||||
utils.run_ansible_playbook(
|
utils.run_ansible_playbook(
|
||||||
playbook='existing.yaml',
|
playbook='existing.yaml',
|
||||||
inventory='localhost,',
|
inventory='localhost,',
|
||||||
workdir='/tmp',
|
workdir=utils.constants.DEFAULT_WORK_DIR,
|
||||||
timeout=42
|
timeout=42
|
||||||
)
|
)
|
||||||
self.assertIn(mock.call('/tmp/env/settings', 'w'),
|
self.assertIn(mock.call(os.path.join(utils.constants.DEFAULT_WORK_DIR,
|
||||||
|
'env/settings'), 'w'),
|
||||||
mock_open.mock_calls)
|
mock_open.mock_calls)
|
||||||
self.assertIn(
|
self.assertIn(
|
||||||
mock.call().__enter__().write('job_timeout: 2520\n'), # 42m * 60
|
mock.call().__enter__().write('job_timeout: 2520\n'), # 42m * 60
|
||||||
mock_open.mock_calls)
|
mock_open.mock_calls)
|
||||||
|
|
||||||
|
@mock.patch('os.chmod')
|
||||||
@mock.patch('six.moves.builtins.open')
|
@mock.patch('six.moves.builtins.open')
|
||||||
@mock.patch('tripleoclient.utils.makedirs')
|
@mock.patch('tripleoclient.utils.makedirs')
|
||||||
@mock.patch('os.path.exists', side_effect=(False, True, True))
|
@mock.patch('os.path.exists', side_effect=(False, True, True))
|
||||||
def test_run_with_extravar_file(self, mock_exists, mock_mkdir, mock_open):
|
def test_run_with_extravar_file(self, mock_exists, mock_mkdir, mock_open,
|
||||||
|
mock_chmod):
|
||||||
ansible_runner.ArtifactLoader = mock.MagicMock()
|
ansible_runner.ArtifactLoader = mock.MagicMock()
|
||||||
ansible_runner.Runner.run = mock.MagicMock(return_value=('', 0))
|
ansible_runner.Runner.run = mock.MagicMock(return_value=('', 0))
|
||||||
ansible_runner.runner_config = mock.MagicMock()
|
ansible_runner.runner_config = mock.MagicMock()
|
||||||
utils.run_ansible_playbook(
|
utils.run_ansible_playbook(
|
||||||
playbook='existing.yaml',
|
playbook='existing.yaml',
|
||||||
inventory='localhost,',
|
inventory='localhost,',
|
||||||
workdir='/tmp',
|
workdir=utils.constants.DEFAULT_WORK_DIR,
|
||||||
extra_vars_file={
|
extra_vars_file={
|
||||||
'foo': 'bar',
|
'foo': 'bar',
|
||||||
'things': {
|
'things': {
|
||||||
|
@ -247,7 +256,8 @@ class TestRunAnsiblePlaybook(TestCase):
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
self.assertIn(
|
self.assertIn(
|
||||||
mock.call('/tmp/env/extravars', 'w'),
|
mock.call(os.path.join(utils.constants.DEFAULT_WORK_DIR,
|
||||||
|
'env/extravars'), 'w'),
|
||||||
mock_open.mock_calls
|
mock_open.mock_calls
|
||||||
)
|
)
|
||||||
self.assertIn(
|
self.assertIn(
|
||||||
|
|
Loading…
Reference in New Issue