Tweak variable manager use in role includes to avoid test failures

pull/12574/head
James Cammarata 9 years ago
parent a89412ecb1
commit dfa33d0f23

@ -159,9 +159,16 @@ class RoleDefinition(Base, Become, Conditional, Taggable):
if self._role_basedir: if self._role_basedir:
role_search_paths.append(self._role_basedir) role_search_paths.append(self._role_basedir)
# now iterate through the possible paths and return the first one we find # create a templar class to template the dependency names, in
all_vars = self._variable_manager.get_vars(loader=self._loader, play=self._play) # case they contain variables
if self._variable_manager is not None:
all_vars = self._variable_manager.get_vars(loader=self._loader, play=self._play)
else:
all_vars = dict()
templar = Templar(loader=self._loader, variables=all_vars) templar = Templar(loader=self._loader, variables=all_vars)
# now iterate through the possible paths and return the first one we find
for path in role_search_paths: for path in role_search_paths:
path = templar.template(path) path = templar.template(path)
role_path = unfrackpath(os.path.join(path, role_name)) role_path = unfrackpath(os.path.join(path, role_name))

@ -56,7 +56,11 @@ class TestPlayIterator(unittest.TestCase):
""", """,
}) })
p = Playbook.load('test_play.yml', loader=fake_loader) mock_var_manager = MagicMock()
mock_var_manager._fact_cache = dict()
mock_var_manager.get_vars.return_value = dict()
p = Playbook.load('test_play.yml', loader=fake_loader, variable_manager=mock_var_manager)
hosts = [] hosts = []
for i in range(0, 10): for i in range(0, 10):
@ -68,9 +72,6 @@ class TestPlayIterator(unittest.TestCase):
inventory.get_hosts.return_value = hosts inventory.get_hosts.return_value = hosts
inventory.filter_hosts.return_value = hosts inventory.filter_hosts.return_value = hosts
mock_var_manager = MagicMock()
mock_var_manager._fact_cache = dict()
play_context = PlayContext(play=p._entries[0]) play_context = PlayContext(play=p._entries[0])
itr = PlayIterator( itr = PlayIterator(

@ -110,12 +110,15 @@ class TestPlay(unittest.TestCase):
""", """,
}) })
mock_var_manager = MagicMock()
mock_var_manager.get_vars.return_value = dict()
p = Play.load(dict( p = Play.load(dict(
name="test play", name="test play",
hosts=['foo'], hosts=['foo'],
gather_facts=False, gather_facts=False,
roles=['foo'], roles=['foo'],
), loader=fake_loader) ), loader=fake_loader, variable_manager=mock_var_manager)
blocks = p.compile() blocks = p.compile()

Loading…
Cancel
Save