Esempio n. 1
0
    def test_ios_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 = ios_config.get_candidate_config(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)
Esempio n. 2
0
    def test_ios_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 = ios_config.get_candidate_config(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)
Esempio n. 3
0
    def test_ios_config_match_none2(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'))

        module = MagicMock()
        module.params = {'lines': lines, 'parents': parents, 'src': None}
        candidate_config = ios_config.get_candidate_config(module)
        self.conn.get_diff = MagicMock(
            return_value=self.cliconf_obj.get_diff(candidate_config,
                                                   self.running_config,
                                                   diff_match='none',
                                                   path=parents))

        commands = parents + lines
        self.execute_module(changed=True, commands=commands, sort=False)
Esempio n. 4
0
 def test_ios_config_after(self):
     lines = ['hostname foo']
     set_module_args(dict(lines=lines, after=['test1', 'test2']))
     self.conn.get_diff = MagicMock(return_value=self.cliconf_obj.get_diff(
         '\n'.join(lines), self.running_config))
     commands = ['hostname foo', 'test1', 'test2']
     self.execute_module(changed=True, commands=commands, sort=False)
Esempio n. 5
0
 def test_ios_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)
 def test_ios_config_before(self):
     lines = ["hostname foo"]
     set_module_args(dict(lines=lines, before=["test1", "test2"]))
     self.conn.get_diff = MagicMock(return_value=self.cliconf_obj.get_diff(
         "\n".join(lines), self.running_config))
     commands = ["test1", "test2", "hostname foo"]
     self.execute_module(changed=True, commands=commands, sort=False)
Esempio n. 7
0
    def test_ios_config_match_none2(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"))

        module = MagicMock()
        module.params = {"lines": lines, "parents": parents, "src": None}
        candidate_config = ios_config.get_candidate_config(module)
        self.conn.get_diff = MagicMock(return_value=self.cliconf_obj.get_diff(
            candidate_config,
            self.running_config,
            diff_match="none",
            path=parents,
        ), )

        commands = parents + lines
        self.execute_module(changed=True, commands=commands, sort=False)
Esempio n. 8
0
 def test_ios_config_config(self):
     config = "hostname localhost"
     lines = ["hostname router"]
     set_module_args(dict(lines=lines, 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)
Esempio n. 9
0
    def test_ios_config_replace_block(self):
        lines = ['description test string', 'test string']
        parents = ['interface GigabitEthernet0/0']
        set_module_args(dict(lines=lines, replace='block', parents=parents))

        module = MagicMock()
        module.params = {'lines': lines, 'parents': parents, 'src': None}
        candidate_config = ios_config.get_candidate_config(module)

        self.conn.get_diff = MagicMock(
            return_value=self.cliconf_obj.get_diff(candidate_config,
                                                   self.running_config,
                                                   diff_replace='block',
                                                   path=parents))

        commands = parents + lines
        self.execute_module(changed=True, commands=commands)
Esempio n. 10
0
 def test_ios_config_match_none(self):
     lines = ["hostname router"]
     set_module_args(dict(lines=lines, match="none"))
     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)
Esempio n. 11
0
    def test_ios_config_replace_block(self):
        lines = ["description test string", "test string"]
        parents = ["interface GigabitEthernet0/0"]
        set_module_args(dict(lines=lines, replace="block", parents=parents))

        module = MagicMock()
        module.params = {"lines": lines, "parents": parents, "src": None}
        candidate_config = ios_config.get_candidate_config(module)

        self.conn.get_diff = MagicMock(return_value=self.cliconf_obj.get_diff(
            candidate_config,
            self.running_config,
            diff_replace="block",
            path=parents,
        ), )

        commands = parents + lines
        self.execute_module(changed=True, commands=commands)
Esempio n. 12
0
 def test_ios_config_src(self):
     src = load_fixture('ios_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)
Esempio n. 13
0
 def test_ios_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()
 def test_ios_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()
Esempio n. 15
0
    def setUp(self):
        super(TestIosConfigModule, self).setUp()

        self.mock_get_config = patch(
            "ansible_collections.cisco.ios.plugins.modules.ios_config.get_config",
        )
        self.get_config = self.mock_get_config.start()

        self.mock_get_connection = patch(
            "ansible_collections.cisco.ios.plugins.modules.ios_config.get_connection",
        )
        self.get_connection = self.mock_get_connection.start()

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

        self.mock_run_commands = patch(
            "ansible_collections.cisco.ios.plugins.modules.ios_config.run_commands",
        )
        self.run_commands = self.mock_run_commands.start()

        self.cliconf_obj = Cliconf(MagicMock())
        self.running_config = load_fixture("ios_config_config.cfg")
Esempio n. 16
0
 def test_ios_config_save_changed_true(self):
     src = load_fixture('ios_config_src.cfg')
     set_module_args(dict(src=src, save_when='changed'))
     commands = [
         'hostname foo', 'interface GigabitEthernet0/0', 'no ip address'
     ]
     self.conn.get_diff = MagicMock(
         return_value=self.cliconf_obj.get_diff(src, self.running_config))
     self.execute_module(changed=True, commands=commands)
     self.assertEqual(self.run_commands.call_count, 1)
     self.assertEqual(self.get_config.call_count, 1)
     self.assertEqual(self.conn.edit_config.call_count, 1)
     args = self.run_commands.call_args[0][1]
     self.assertIn('copy running-config startup-config\r', args)
Esempio n. 17
0
from __future__ import absolute_import, division, print_function

__metaclass__ = type
from ansible_collections.cisco.ios.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
)
Esempio n. 18
0
 def test_ios_config_unchanged(self):
     src = load_fixture("ios_config_config.cfg")
     self.conn.get_diff = MagicMock(return_value=self.cliconf_obj.get_diff(
         src, src), )
     set_module_args(dict(src=src))
     self.execute_module()