def test_network_gather_facts_fqcn(self, mock_collection_metadata): self.fqcn_task_vars = {'ansible_network_os': 'cisco.ios.ios'} self.task.action = 'gather_facts' self.task.async_val = False self.task.args = {'gather_subset': 'min'} self.task.module_defaults = [{ 'cisco.ios.ios_facts': { 'gather_subset': 'min' } }] plugin = GatherFactsAction(self.task, self.connection, self.play_context, loader=None, templar=self.templar, shared_loader_obj=plugin_loader) plugin._execute_module = MagicMock() res = plugin.run(task_vars=self.fqcn_task_vars) self.assertEqual(res['ansible_facts']['_ansible_facts_gathered'], True) mod_args = plugin._get_module_args('cisco.ios.ios_facts', task_vars=self.fqcn_task_vars) self.assertEqual(mod_args['gather_subset'], 'min')
def test_network_gather_facts_smart_facts_module_fqcn( self, mock_collection_metadata): self.fqcn_task_vars = {'ansible_network_os': 'cisco.ios.ios'} self.task.action = 'gather_facts' self.task.async_val = False self.task.args = {} plugin = GatherFactsAction(self.task, self.connection, self.play_context, loader=None, templar=self.templar, shared_loader_obj=None) get_module_args = MagicMock() plugin._get_module_args = get_module_args plugin._execute_module = MagicMock() res = plugin.run(task_vars=self.fqcn_task_vars) # assert the gather_facts config is 'smart' facts_modules = C.config.get_config_value( 'FACTS_MODULES', variables=self.fqcn_task_vars) self.assertEqual(facts_modules, ['smart']) # assert the correct module was found self.assertEqual(get_module_args.call_count, 1) self.assertEqual(get_module_args.call_args.args, ( 'cisco.ios.ios_facts', { 'ansible_network_os': 'cisco.ios.ios' }, ))
def test_network_gather_facts_fqcn(self, mock_collection_metadata): self.fqcn_task_vars = {'ansible_network_os': 'cisco.ios.ios'} self.task.action = 'gather_facts' self.task._ansible_internal_redirect_list = ['cisco.ios.ios_facts'] self.task.async_val = False self.task.args = {'gather_subset': 'min'} self.task.module_defaults = [{ 'cisco.ios.ios_facts': { 'gather_subset': 'min' } }] plugin = ActionModule(self.task, self.connection, self.play_context, loader=None, templar=self.templar, shared_loader_obj=None) plugin._execute_module = MagicMock() res = plugin.run(task_vars=self.fqcn_task_vars) self.assertEqual(res['ansible_facts']['_ansible_facts_gathered'], True) mod_args = plugin._get_module_args('cisco.ios.ios_facts', task_vars=self.fqcn_task_vars) self.assertEqual(mod_args['gather_subset'], 'min') facts_modules = C.config.get_config_value( 'FACTS_MODULES', variables=self.fqcn_task_vars) self.assertEqual(facts_modules, ['cisco.ios.ios_facts'])