def test_unknown_action(self):
     action_name = 'foo_test_unknown_action'
     ds = [{'action': action_name}]
     res = helpers.load_list_of_tasks(ds, play=self.mock_play,
                                      variable_manager=self.mock_variable_manager, loader=self.fake_loader)
     self._assert_is_task_list_or_blocks(res)
     self.assertEquals(res[0].action, action_name)
Example #2
0
 def test_one_include_use_handlers(self):
     ds = [{'include': '/dev/null/includes/other_test_include.yml'}]
     res = helpers.load_list_of_tasks(ds, play=self.mock_play,
                                      use_handlers=True,
                                      variable_manager=self.mock_variable_manager, loader=self.fake_include_loader)
     self._assert_is_task_list_or_blocks(res)
     self.assertIsInstance(res[0], Handler)
Example #3
0
 def test_one_parent_include(self):
     ds = [{'include': '/dev/null/includes/test_include.yml'}]
     res = helpers.load_list_of_tasks(ds, play=self.mock_play,
                                      variable_manager=self.mock_variable_manager, loader=self.fake_include_loader)
     self._assert_is_task_list_or_blocks(res)
     self.assertIsInstance(res[0], Block)
     self.assertIsInstance(res[0]._parent, TaskInclude)
 def test_one_parent_include(self):
     ds = [{'include': '/dev/null/includes/test_include.yml'}]
     res = helpers.load_list_of_tasks(ds, play=self.mock_play,
                                      variable_manager=self.mock_variable_manager, loader=self.fake_include_loader)
     self._assert_is_task_list_or_blocks(res)
     self.assertIsInstance(res[0], Block)
     self.assertIsInstance(res[0]._parent, TaskInclude)
Example #5
0
 def test_one_bogus_include_static(self):
     ds = [{'include': 'somefile.yml',
            'static': 'true'}]
     res = helpers.load_list_of_tasks(ds, play=self.mock_play,
                                      variable_manager=self.mock_variable_manager, loader=self.fake_loader)
     self.assertIsInstance(res, list)
     self.assertEquals(len(res), 0)
Example #6
0
 def test_unknown_action(self):
     action_name = 'foo_test_unknown_action'
     ds = [{'action': action_name}]
     res = helpers.load_list_of_tasks(ds, play=self.mock_play,
                                      variable_manager=self.mock_variable_manager, loader=self.fake_loader)
     self._assert_is_task_list_or_blocks(res)
     self.assertEquals(res[0].action, action_name)
 def test_one_bogus_include_static(self):
     ds = [{'include': 'somefile.yml',
            'static': 'true'}]
     res = helpers.load_list_of_tasks(ds, play=self.mock_play,
                                      variable_manager=self.mock_variable_manager, loader=self.fake_loader)
     self.assertIsInstance(res, list)
     self.assertEquals(len(res), 0)
 def test_one_include_use_handlers(self):
     ds = [{'include': '/dev/null/includes/other_test_include.yml'}]
     res = helpers.load_list_of_tasks(ds, play=self.mock_play,
                                      use_handlers=True,
                                      variable_manager=self.mock_variable_manager, loader=self.fake_include_loader)
     self._assert_is_task_list_or_blocks(res)
     self.assertIsInstance(res[0], Handler)
 def test_one_bogus_include_role(self):
     ds = [{'include_role': {'name': 'bogus_role'}}]
     res = helpers.load_list_of_tasks(ds, play=self.mock_play,
                                      block=self.mock_block,
                                      variable_manager=self.mock_variable_manager, loader=self.fake_role_loader)
     self.assertEquals(len(res), 1)
     self._assert_is_task_list_or_blocks(res)
Example #10
0
 def test_one_bogus_include_role(self):
     ds = [{'include_role': {'name': 'bogus_role'}}]
     res = helpers.load_list_of_tasks(ds, play=self.mock_play,
                                      block=self.mock_block,
                                      variable_manager=self.mock_variable_manager, loader=self.fake_role_loader)
     self.assertEquals(len(res), 1)
     self._assert_is_task_list_or_blocks(res)
Example #11
0
 def _load_rescue(self, attr, ds):
     return load_list_of_tasks(ds,
                               block=self,
                               role=self._role,
                               variable_manager=self._variable_manager,
                               loader=self._loader,
                               use_handlers=self._use_handlers)
Example #12
0
 def test_block_unknown_action_use_handlers(self):
     ds = [{
         'block': [{'action': 'foo_test_block_unknown_action'}]
     }]
     res = helpers.load_list_of_tasks(ds, play=self.mock_play, use_handlers=True,
                                      variable_manager=self.mock_variable_manager, loader=self.fake_loader)
     self._assert_is_task_list_or_blocks(res)
     self.assertIsInstance(res[0], Block)
     self._assert_default_block(res[0])
 def test_block_unknown_action_use_handlers(self):
     ds = [{
         'block': [{'action': 'foo_test_block_unknown_action'}]
     }]
     res = helpers.load_list_of_tasks(ds, play=self.mock_play, use_handlers=True,
                                      variable_manager=self.mock_variable_manager, loader=self.fake_loader)
     self._assert_is_task_list_or_blocks(res)
     self.assertIsInstance(res[0], Block)
     self._assert_default_block(res[0])
Example #14
0
 def test_one_include(self):
     ds = [{'include': '/dev/null/includes/other_test_include.yml'}]
     res = helpers.load_list_of_tasks(
         ds,
         play=self.mock_play,
         variable_manager=self.mock_variable_manager,
         loader=self.fake_include_loader)
     self.assertEquals(len(res), 1)
     self._assert_is_task_list_or_blocks(res)
Example #15
0
 def _load_rescue(self, attr, ds):
     return load_list_of_tasks(
         ds,
         block=self,
         role=self._role,
         task_include=self._task_include,
         variable_manager=self._variable_manager,
         loader=self._loader,
         use_handlers=self._use_handlers,
     )
Example #16
0
 def test_one_include_tags_deprecated_include(self):
     ds = [{'include': '/dev/null/includes/other_test_include.yml',
            'vars': {'tags': ['include_tag1_deprecated', 'and_another_tagB_deprecated']}
            }]
     res = helpers.load_list_of_tasks(ds, play=self.mock_play,
                                      variable_manager=self.mock_variable_manager, loader=self.fake_include_loader)
     self._assert_is_task_list_or_blocks(res)
     self.assertIsInstance(res[0], Block)
     self.assertIn('include_tag1_deprecated', res[0].tags)
     self.assertIn('and_another_tagB_deprecated', res[0].tags)
Example #17
0
 def _load_always(self, attr, ds):
     return load_list_of_tasks(
         ds,
         block=self,
         role=self._role,
         task_include=self._task_include,
         variable_manager=self._variable_manager,
         loader=self._loader,
         use_handlers=self._use_handlers,
     )
 def test_one_include_tags_deprecated_include(self):
     ds = [{'include': '/dev/null/includes/other_test_include.yml',
            'vars': {'tags': ['include_tag1_deprecated', 'and_another_tagB_deprecated']}
            }]
     res = helpers.load_list_of_tasks(ds, play=self.mock_play,
                                      variable_manager=self.mock_variable_manager, loader=self.fake_include_loader)
     self._assert_is_task_list_or_blocks(res)
     self.assertIsInstance(res[0], Block)
     self.assertIn('include_tag1_deprecated', res[0].tags)
     self.assertIn('and_another_tagB_deprecated', res[0].tags)
Example #19
0
 def test_one_bogus_include_use_handlers(self):
     ds = [{'include': 'somefile.yml'}]
     res = helpers.load_list_of_tasks(
         ds,
         play=self.mock_play,
         use_handlers=True,
         variable_manager=self.mock_variable_manager,
         loader=self.fake_loader)
     self.assertIsInstance(res, list)
     self.assertEqual(len(res), 0)
Example #20
0
 def test_one_bogus_include_role_use_handlers(self):
     ds = [{'include_role': {'name': 'bogus_role'}, 'collections': []}]
     res = helpers.load_list_of_tasks(
         ds,
         play=self.mock_play,
         use_handlers=True,
         block=self.mock_block,
         variable_manager=self.mock_variable_manager,
         loader=self.fake_role_loader)
     self.assertEqual(len(res), 1)
     self._assert_is_task_list_or_blocks(res)
Example #21
0
 def _load_always(self, attr, ds):
     try:
         return load_list_of_tasks(
             ds, 
             play=self._play,
             block=self, 
             role=self._role, 
             task_include=None,
             variable_manager=self._variable_manager, 
             loader=self._loader, 
             use_handlers=self._use_handlers,
         )
     except AssertionError:
         raise AnsibleParserError("A malformed block was encountered.", obj=self._ds)
Example #22
0
 def _load_always(self, attr, ds):
     try:
         return load_list_of_tasks(
             ds,
             play=self._play,
             block=self,
             role=self._role,
             task_include=None,
             variable_manager=self._variable_manager,
             loader=self._loader,
             use_handlers=self._use_handlers,
         )
     except AssertionError:
         raise AnsibleParserError("A malformed block was encountered.", obj=self._ds)
Example #23
0
 def test_one_include_not_static(self):
     ds = [{
         'include_tasks': '/dev/null/includes/static_test_include.yml',
     }]
     # a_block = Block()
     ti_ds = {'include_tasks': '/dev/null/includes/ssdftatic_test_include.yml'}
     a_task_include = TaskInclude()
     ti = a_task_include.load(ti_ds)
     res = helpers.load_list_of_tasks(ds, play=self.mock_play,
                                      block=ti,
                                      variable_manager=self.mock_variable_manager, loader=self.fake_include_loader)
     self._assert_is_task_list_or_blocks(res)
     self.assertIsInstance(res[0], Task)
     self.assertEqual(res[0].args['_raw_params'], '/dev/null/includes/static_test_include.yml')
Example #24
0
 def test_one_include_not_static(self):
     ds = [{
         'include': '/dev/null/includes/static_test_include.yml',
         'static': False
     }]
     # a_block = Block()
     ti_ds = {'include': '/dev/null/includes/ssdftatic_test_include.yml'}
     a_task_include = TaskInclude()
     ti = a_task_include.load(ti_ds)
     res = helpers.load_list_of_tasks(ds, play=self.mock_play,
                                      block=ti,
                                      variable_manager=self.mock_variable_manager, loader=self.fake_include_loader)
     self._assert_is_task_list_or_blocks(res)
     self.assertIsInstance(res[0], Task)
     self.assertEquals(res[0].args['_raw_params'], '/dev/null/includes/static_test_include.yml')
Example #25
0
    def load(data, block=None, role=None, task_include=None, variable_manager=None, loader=None, play=None):
        h = Handler(block=block, role=role, task_include=task_include)
        h.load_data(data, variable_manager=variable_manager, loader=loader)
        if h.action == 'include':
            filenames = h.args['_raw_params'].strip().split()
            retval = []
            for filename in filenames:
                display.debug('loading handlers from %s' % filename)
                ds = loader.load_from_file(filename)
                if ds is None:
                    continue
                elif not isinstance(ds, list):
                    raise AnsibleError("included task files must contain a list of tasks")
                handlers = load_list_of_tasks(ds, play=play, use_handlers=True, loader=loader)
                retval.extend(handlers)
            return retval

        return h
Example #26
0
 def _load_rescue(self, attr, ds):
     return load_list_of_tasks(ds, block=self, loader=self._loader)
Example #27
0
 def _load_always(self, attr, ds):
     return load_list_of_tasks(ds, block=self, loader=self._loader)
Example #28
0
 def _load_rescue(self, attr, ds):
     return load_list_of_tasks(ds, block=self, loader=self._loader)
Example #29
0
 def _load_always(self, attr, ds):
     return load_list_of_tasks(ds, block=self, loader=self._loader)
Example #30
0
 def test_one_include(self):
     ds = [{'include': '/dev/null/includes/other_test_include.yml'}]
     res = helpers.load_list_of_tasks(ds, play=self.mock_play,
                                      variable_manager=self.mock_variable_manager, loader=self.fake_include_loader)
     self.assertEquals(len(res), 1)
     self._assert_is_task_list_or_blocks(res)