Fix wrong python keyword (followup to #36357) (#41067)

Also add tests around that code path
pull/42228/head
Andrew Gaffney 6 years ago committed by Kevin Breit
parent eff4034fd8
commit 3108335bef

@ -422,7 +422,7 @@ class DataLoader:
if allow_dir: if allow_dir:
found.extend(self._get_dir_vars_files(to_text(full_path), extensions)) found.extend(self._get_dir_vars_files(to_text(full_path), extensions))
else: else:
next continue
else: else:
found.append(full_path) found.append(full_path)
break break

@ -147,6 +147,26 @@ class TestRole(unittest.TestCase):
self.assertEqual(len(r._task_blocks), 1) self.assertEqual(len(r._task_blocks), 1)
assert isinstance(r._task_blocks[0], Block) assert isinstance(r._task_blocks[0], Block)
@patch('ansible.playbook.role.definition.unfrackpath', mock_unfrackpath_noop)
def test_load_role_with_tasks_dir_vs_file(self):
fake_loader = DictDataLoader({
"/etc/ansible/roles/foo_tasks/tasks/custom_main/foo.yml": """
- command: bar
""",
"/etc/ansible/roles/foo_tasks/tasks/custom_main.yml": """
- command: baz
""",
})
mock_play = MagicMock()
mock_play.ROLE_CACHE = {}
i = RoleInclude.load('foo_tasks', play=mock_play, loader=fake_loader)
r = Role.load(i, play=mock_play, from_files=dict(tasks='custom_main'))
self.assertEqual(r._task_blocks[0]._ds[0]['command'], 'baz')
@patch('ansible.playbook.role.definition.unfrackpath', mock_unfrackpath_noop) @patch('ansible.playbook.role.definition.unfrackpath', mock_unfrackpath_noop)
def test_load_role_with_handlers(self): def test_load_role_with_handlers(self):

Loading…
Cancel
Save