示例#1
0
 def test_iosxr_config_lines_w_parents(self):
     lines = ['shutdown']
     parents = ['interface GigabitEthernet0/0']
     set_module_args(dict(lines=lines, parents=parents))
     module = MagicMock()
     module.params = {'lines': lines, 'parents': parents, 'src': None}
     candidate_config = iosxr_config.get_candidate(module)
     self.conn.get_diff = MagicMock(return_value=self.cliconf_obj.get_diff(
         candidate_config, self.running_config))
     commands = ['interface GigabitEthernet0/0', 'shutdown']
     self.execute_module(changed=True, commands=commands)
示例#2
0
 def test_iosxr_config_lines_w_parents(self):
     lines = ["shutdown"]
     parents = ["interface GigabitEthernet0/0"]
     set_module_args(dict(lines=lines, parents=parents))
     module = MagicMock()
     module.params = {"lines": lines, "parents": parents, "src": None}
     candidate_config = iosxr_config.get_candidate(module)
     self.conn.get_diff = MagicMock(return_value=self.cliconf_obj.get_diff(
         candidate_config,
         self.running_config,
     ), )
     commands = ["interface GigabitEthernet0/0", "shutdown"]
     self.execute_module(changed=True, commands=commands)
示例#3
0
    def test_iosxr_config_replace_block(self):
        lines = ['description test string', 'test string']
        parents = ['interface GigabitEthernet0/0']
        set_module_args(dict(lines=lines, replace='block', parents=parents))
        commands = parents + lines

        module = MagicMock()
        module.params = {'lines': lines, 'parents': parents, 'src': None}
        candidate_config = iosxr_config.get_candidate(module)
        self.conn.get_diff = MagicMock(
            return_value=self.cliconf_obj.get_diff(candidate_config,
                                                   self.running_config,
                                                   diff_replace='block',
                                                   path=parents))
        self.execute_module(changed=True, commands=commands)
示例#4
0
    def test_iosxr_config_match_none(self):
        lines = ['ip address 1.2.3.4 255.255.255.0', 'description test string']
        parents = ['interface GigabitEthernet0/0']
        set_module_args(dict(lines=lines, parents=parents, match='none'))
        commands = parents + lines
        module = MagicMock()
        module.params = {'lines': lines, 'parents': parents, 'src': None}
        candidate_config = iosxr_config.get_candidate(module)
        self.conn.get_diff = MagicMock(
            return_value=self.cliconf_obj.get_diff(candidate_config,
                                                   self.running_config,
                                                   diff_match='none',
                                                   path=parents))

        self.execute_module(changed=True, commands=commands, sort=False)
示例#5
0
 def test_iosxr_config_after(self):
     lines = ['hostname foo']
     set_module_args(dict(lines=lines, after=['test1', 'test2']))
     commands = ['hostname foo', 'test1', 'test2']
     self.conn.get_diff = MagicMock(return_value=self.cliconf_obj.get_diff(
         '\n'.join(lines), self.running_config))
     self.execute_module(changed=True, commands=commands, sort=False)
示例#6
0
    def test_iosxr_config_match_none(self):
        lines = ["ip address 1.2.3.4 255.255.255.0", "description test string"]
        parents = ["interface GigabitEthernet0/0"]
        set_module_args(dict(lines=lines, parents=parents, match="none"))
        commands = parents + lines
        module = MagicMock()
        module.params = {"lines": lines, "parents": parents, "src": None}
        candidate_config = iosxr_config.get_candidate(module)
        self.conn.get_diff = MagicMock(return_value=self.cliconf_obj.get_diff(
            candidate_config,
            self.running_config,
            diff_match="none",
            path=parents,
        ))

        self.execute_module(changed=True, commands=commands, sort=False)
示例#7
0
    def test_iosxr_config_replace_block(self):
        lines = ["description test string", "test string"]
        parents = ["interface GigabitEthernet0/0"]
        set_module_args(dict(lines=lines, replace="block", parents=parents))
        commands = parents + lines

        module = MagicMock()
        module.params = {"lines": lines, "parents": parents, "src": None}
        candidate_config = iosxr_config.get_candidate(module)
        self.conn.get_diff = MagicMock(return_value=self.cliconf_obj.get_diff(
            candidate_config,
            self.running_config,
            diff_replace="block",
            path=parents,
        ))
        self.execute_module(changed=True, commands=commands)
示例#8
0
 def test_iosxr_config_lines_wo_parents(self):
     lines = ['hostname foo']
     set_module_args(dict(lines=lines))
     self.conn.get_diff = MagicMock(return_value=self.cliconf_obj.get_diff(
         '\n'.join(lines), self.running_config))
     commands = ['hostname foo']
     self.execute_module(changed=True, commands=commands)
示例#9
0
 def test_iosxr_config_before(self):
     lines = ["hostname foo"]
     set_module_args(dict(lines=lines, before=["test1", "test2"]))
     commands = ["test1", "test2", "hostname foo"]
     self.conn.get_diff = MagicMock(return_value=self.cliconf_obj.get_diff(
         "\n".join(lines), self.running_config))
     self.execute_module(changed=True, commands=commands, sort=False)
示例#10
0
 def test_iosxr_config_config(self):
     config = 'hostname localhost'
     lines = ['hostname router']
     set_module_args(dict(lines=['hostname router'], config=config))
     self.conn.get_diff = MagicMock(
         return_value=self.cliconf_obj.get_diff('\n'.join(lines), config))
     commands = ['hostname router']
     self.execute_module(changed=True, commands=commands)
示例#11
0
 def test_iosxr_config_admin(self):
     lines = ["username admin", "group root-system", "secret P@ssw0rd"]
     set_module_args(dict(lines=lines, admin=True))
     self.conn.get_diff = MagicMock(return_value=self.cliconf_obj.get_diff(
         "\n".join(lines),
         self.running_config,
     ), )
     self.execute_module(changed=True, commands=lines)
示例#12
0
 def test_iosxr_config_force(self):
     lines = ["hostname router"]
     set_module_args(dict(lines=lines, force=True))
     self.conn.get_diff = MagicMock(return_value=self.cliconf_obj.get_diff(
         "\n".join(lines),
         self.running_config,
         diff_match="none",
     ), )
     self.execute_module(changed=True, commands=lines)
示例#13
0
 def test_iosxr_config_before_after_no_change(self):
     lines = ['hostname router']
     set_module_args(
         dict(lines=lines,
              before=['test1', 'test2'],
              after=['test3', 'test4']))
     self.conn.get_diff = MagicMock(return_value=self.cliconf_obj.get_diff(
         '\n'.join(lines), self.running_config))
     self.execute_module()
示例#14
0
 def test_iosxr_config_src(self):
     src = load_fixture('iosxr_config_src.cfg')
     set_module_args(dict(src=src))
     self.conn.get_diff = MagicMock(
         return_value=self.cliconf_obj.get_diff(src, self.running_config))
     commands = [
         'hostname foo', 'interface GigabitEthernet0/0', 'no ip address'
     ]
     self.execute_module(changed=True, commands=commands)
示例#15
0
 def test_iosxr_config_before_after_no_change(self):
     lines = ["hostname router"]
     set_module_args(
         dict(
             lines=lines,
             before=["test1", "test2"],
             after=["test3", "test4"],
         ))
     self.conn.get_diff = MagicMock(return_value=self.cliconf_obj.get_diff(
         "\n".join(lines), self.running_config))
     self.execute_module()
示例#16
0
    def setUp(self):
        super(TestIosxrConfigModule, self).setUp()

        self.patcher_get_config = patch(
            'ansible_collections.cisco.iosxr.plugins.modules.iosxr_config.get_config'
        )
        self.mock_get_config = self.patcher_get_config.start()

        self.patcher_exec_command = patch(
            'ansible_collections.cisco.iosxr.plugins.modules.iosxr_config.load_config'
        )
        self.mock_exec_command = self.patcher_exec_command.start()

        self.mock_get_connection = patch(
            'ansible_collections.cisco.iosxr.plugins.modules.iosxr_config.get_connection'
        )
        self.get_connection = self.mock_get_connection.start()

        self.conn = self.get_connection()
        self.conn.edit_config = MagicMock()

        self.cliconf_obj = Cliconf(MagicMock())
        self.running_config = load_fixture('iosxr_config_config.cfg')
from ansible_collections.cisco.iosxr.tests.unit.compat.mock import MagicMock
from ansible.utils.path import unfrackpath

mock_unfrackpath_noop = MagicMock(spec_set=unfrackpath,
                                  side_effect=lambda x, *args, **kwargs: x)
示例#18
0
 def test_iosxr_config_unchanged(self):
     src = load_fixture('iosxr_config_config.cfg')
     set_module_args(dict(src=src))
     self.conn.get_diff = MagicMock(
         return_value=self.cliconf_obj.get_diff(src, src))
     self.execute_module()