1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

Fix mock loader for osx /etc symlinks (#16074)

Fix role based unit tests for osx via mock.patch
This commit is contained in:
jctanner 2016-05-31 18:02:39 -04:00
parent c06884eff0
commit 373b23cc24
5 changed files with 21 additions and 0 deletions

View file

@ -29,6 +29,8 @@ from ansible.playbook.task import Task
from ansible.playbook.play_context import PlayContext
from units.mock.loader import DictDataLoader
from units.mock.path import mock_unfrackpath_noop
class TestPlayIterator(unittest.TestCase):
@ -55,7 +57,10 @@ class TestPlayIterator(unittest.TestCase):
new_hs = hs.copy()
@patch('ansible.playbook.role.definition.unfrackpath', mock_unfrackpath_noop)
def test_play_iterator(self):
#import epdb; epdb.st()
fake_loader = DictDataLoader({
"test_play.yml": """
- hosts: all

5
test/units/mock/path.py Normal file
View file

@ -0,0 +1,5 @@
#!/usr/bin/env python
def mock_unfrackpath_noop(path):
''' Do not expand the path '''
return path

View file

@ -28,6 +28,8 @@ from ansible.playbook.play import Play
from ansible.playbook.role import Role
from units.mock.loader import DictDataLoader
from units.mock.path import mock_unfrackpath_noop
class TestPlay(unittest.TestCase):
@ -102,6 +104,7 @@ class TestPlay(unittest.TestCase):
post_tasks=[dict(action='shell echo "hello world"')],
))
@patch('ansible.playbook.role.definition.unfrackpath', mock_unfrackpath_noop)
def test_play_with_roles(self):
fake_loader = DictDataLoader({
'/etc/ansible/roles/foo/tasks.yml': """

View file

@ -29,6 +29,7 @@ from ansible.playbook.role.include import RoleInclude
from ansible.playbook.task import Task
from units.mock.loader import DictDataLoader
from units.mock.path import mock_unfrackpath_noop
class TestRole(unittest.TestCase):
@ -38,6 +39,7 @@ class TestRole(unittest.TestCase):
def tearDown(self):
pass
@patch('ansible.playbook.role.definition.unfrackpath', mock_unfrackpath_noop)
def test_load_role_with_tasks(self):
fake_loader = DictDataLoader({
@ -56,6 +58,7 @@ class TestRole(unittest.TestCase):
self.assertEqual(len(r._task_blocks), 1)
assert isinstance(r._task_blocks[0], Block)
@patch('ansible.playbook.role.definition.unfrackpath', mock_unfrackpath_noop)
def test_load_role_with_handlers(self):
fake_loader = DictDataLoader({
@ -74,6 +77,7 @@ class TestRole(unittest.TestCase):
self.assertEqual(len(r._handler_blocks), 1)
assert isinstance(r._handler_blocks[0], Block)
@patch('ansible.playbook.role.definition.unfrackpath', mock_unfrackpath_noop)
def test_load_role_with_vars(self):
fake_loader = DictDataLoader({
@ -94,6 +98,7 @@ class TestRole(unittest.TestCase):
self.assertEqual(r._default_vars, dict(foo='bar'))
self.assertEqual(r._role_vars, dict(foo='bam'))
@patch('ansible.playbook.role.definition.unfrackpath', mock_unfrackpath_noop)
def test_load_role_with_metadata(self):
fake_loader = DictDataLoader({
@ -161,6 +166,7 @@ class TestRole(unittest.TestCase):
i = RoleInclude.load('recursive1_metadata', play=mock_play, loader=fake_loader)
self.assertRaises(AnsibleError, Role.load, i, play=mock_play)
@patch('ansible.playbook.role.definition.unfrackpath', mock_unfrackpath_noop)
def test_load_role_complex(self):
# FIXME: add tests for the more complex uses of

View file

@ -29,6 +29,7 @@ from ansible.playbook.play import Play
from ansible.vars import VariableManager
from units.mock.loader import DictDataLoader
from units.mock.path import mock_unfrackpath_noop
class TestVariableManager(unittest.TestCase):
@ -181,6 +182,7 @@ class TestVariableManager(unittest.TestCase):
self.assertEqual(v.get_vars(loader=fake_loader, task=mock_task, use_cache=False).get("foo"), "bar")
@patch.object(Inventory, 'basedir')
@patch('ansible.playbook.role.definition.unfrackpath', mock_unfrackpath_noop)
def test_variable_manager_precedence(self, mock_basedir):
'''
Tests complex variations and combinations of get_vars() with different