예제 #1
0
 def __init__(self):
     self.files_watched = 0
     self.register = MagicMock(side_effect=self._register)
     self.unregister = MagicMock(side_effect=self._unregister)
     self.close = MagicMock()
     self.get_map = MagicMock(side_effect=self._get_map)
     self.select = MagicMock()
    def setUp(self):
        super(TestNxosConfigModule, self).setUp()

        self.mock_get_config = patch(
            'ansible_collections.notstdlib.moveitallout.plugins.modules.nxos_config.get_config'
        )
        self.get_config = self.mock_get_config.start()

        self.mock_load_config = patch(
            'ansible_collections.notstdlib.moveitallout.plugins.modules.nxos_config.load_config'
        )
        self.load_config = self.mock_load_config.start()

        self.mock_save_config = patch(
            'ansible_collections.notstdlib.moveitallout.plugins.modules.nxos_config.save_config'
        )
        self.save_config = self.mock_save_config.start()

        self.mock_get_connection = patch(
            'ansible_collections.notstdlib.moveitallout.plugins.modules.nxos_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.notstdlib.moveitallout.plugins.modules.nxos_config.run_commands'
        )
        self.run_commands = self.mock_run_commands.start()

        self.cliconf_obj = Cliconf(MagicMock())
        self.running_config = load_fixture('nxos_config', 'config.cfg')
예제 #3
0
    def test_multiple_failures(self, monkeypatch):
        monkeypatch.setattr(C, 'HOST_KEY_CHECKING', False)
        monkeypatch.setattr(C, 'ANSIBLE_SSH_RETRIES', 9)

        monkeypatch.setattr('time.sleep', lambda x: None)

        self.mock_popen_res.stdout.read.side_effect = [b""] * 10
        self.mock_popen_res.stderr.read.side_effect = [b""] * 10
        type(self.mock_popen_res).returncode = PropertyMock(side_effect=[255] *
                                                            30)

        self.mock_selector.select.side_effect = [
            [(SelectorKey(self.mock_popen_res.stdout, 1001, [EVENT_READ],
                          None), EVENT_READ)],
            [(SelectorKey(self.mock_popen_res.stderr, 1002, [EVENT_READ],
                          None), EVENT_READ)],
            [],
        ] * 10
        self.mock_selector.get_map.side_effect = lambda: True

        self.conn._build_command = MagicMock()
        self.conn._build_command.return_value = 'ssh'
        self.conn.get_option = MagicMock()
        self.conn.get_option.return_value = True

        pytest.raises(AnsibleConnectionFailure, self.conn.exec_command, 'ssh',
                      'some data')
        assert self.mock_popen.call_count == 10
    def setUpClass(cls):
        m = MagicMock()
        cls.service_mock = MagicMock()
        cls.service_mock.__class__ = MagicMock()
        cls.service_lbmonitor_binding_mock = MagicMock()
        cls.lbmonitor_service_binding_mock = MagicMock()
        nssrc_modules_mock = {
            'nssrc.com.citrix.netscaler.nitro.resource.config.basic':
            m,
            'nssrc.com.citrix.netscaler.nitro.resource.config.basic.service':
            m,
            'nssrc.com.citrix.netscaler.nitro.resource.config.basic.service.service':
            cls.service_mock,
            'nssrc.com.citrix.netscaler.nitro.resource.config.basic.service_lbmonitor_binding':
            cls.service_lbmonitor_binding_mock,
            'nssrc.com.citrix.netscaler.nitro.resource.config.basic.service_lbmonitor_binding.service_lbmonitor_binding':
            m,
            'nssrc.com.citrix.netscaler.nitro.resource.config.lb':
            m,
            'nssrc.com.citrix.netscaler.nitro.resource.config.lb.lbmonitor_service_binding':
            m,
            'nssrc.com.citrix.netscaler.nitro.resource.config.lb.lbmonitor_service_binding.lbmonitor_service_binding':
            cls.lbmonitor_service_binding_mock,
        }

        cls.nitro_specific_patcher = patch.dict(sys.modules,
                                                nssrc_modules_mock)
        cls.nitro_base_patcher = nitro_base_patcher
    def test_update_servicegroup_when_service_members_differ(self):
        self.set_module_state('present')
        from ansible_collections.notstdlib.moveitallout.plugins.modules import netscaler_servicegroup
        servicegroup_proxy_mock = MagicMock()
        attrs = {
            'diff_object.return_value': {},
        }
        servicegroup_proxy_mock.configure_mock(**attrs)

        m = MagicMock(return_value=servicegroup_proxy_mock)
        sync_mock = Mock()

        with patch.multiple(
                'ansible_collections.notstdlib.moveitallout.plugins.modules.netscaler_servicegroup',
                ConfigProxy=m,
                servicegroup_exists=Mock(side_effect=[True, True]),
                servicegroup_identical=Mock(side_effect=[True, True]),
                monitor_bindings_identical=Mock(side_effect=[True, True]),
                sync_monitor_bindings=Mock(),
                servicemembers_identical=Mock(side_effect=[False, True]),
                sync_service_members=sync_mock,
                do_state_change=Mock(return_value=Mock(errorcode=0)),
        ):
            self.module = netscaler_servicegroup
            result = self.exited()
        # poor man's assert_called_once since python3.5 does not implement that mock method
        self.assertEqual(len(sync_mock.mock_calls),
                         1,
                         msg='sync monitor bindings not called once')
        self.assertTrue(result['changed'], msg='Change not recorded')
예제 #6
0
    def test_network_cli_send(self, mocked_connect, mocked_terminal_re):

        pc = PlayContext()
        pc.network_os = 'ios'
        conn = connection_loader.get('network_cli', pc, '/dev/null')

        mock__terminal = MagicMock()
        mocked_terminal_re.side_effect = [[re.compile(b'^ERROR')],
                                          [re.compile(b'device#')]]
        conn._terminal = mock__terminal

        mock__shell = MagicMock()
        conn._ssh_shell = mock__shell

        response = b"""device#command
        command response

        device#
        """

        mock__shell.recv.side_effect = [response, None]
        conn.send(b'command')

        mock__shell.sendall.assert_called_with(b'command\r')
        self.assertEqual(to_text(conn._command_response), 'command response')

        mock__shell.reset_mock()
        mock__shell.recv.side_effect = [b"ERROR: error message device#"]
        mocked_terminal_re.side_effect = [[re.compile(b'^ERROR')],
                                          [re.compile(b'device#')]]
        with self.assertRaises(AnsibleConnectionFailure) as exc:
            conn.send(b'command')
        self.assertEqual(str(exc.exception), 'ERROR: error message device#')
예제 #7
0
    def setUp(self):
        super(TestEosConfigModule, self).setUp()
        self.mock_get_config = patch(
            'ansible_collections.notstdlib.moveitallout.plugins.modules.eos_config.get_config'
        )
        self.get_config = self.mock_get_config.start()

        self.mock_get_connection = patch(
            'ansible_collections.notstdlib.moveitallout.plugins.modules.eos_config.get_connection'
        )
        self.get_connection = self.mock_get_connection.start()

        self.mock_load_config = patch(
            'ansible_collections.notstdlib.moveitallout.plugins.modules.eos_config.load_config'
        )
        self.load_config = self.mock_load_config.start()
        self.mock_run_commands = patch(
            'ansible_collections.notstdlib.moveitallout.plugins.modules.eos_config.run_commands'
        )
        self.run_commands = self.mock_run_commands.start()

        self.mock_supports_sessions = patch(
            'ansible_collections.notstdlib.moveitallout.plugins.cliconf.eos.Cliconf.supports_sessions'
        )
        self.supports_sessions = self.mock_supports_sessions.start()
        self.mock_supports_sessions.return_value = True

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

        self.cliconf_obj = Cliconf(MagicMock())
        self.running_config = load_fixture('eos_config_config.cfg')
예제 #8
0
    def setUpClass(cls):
        class MockException(Exception):
            pass

        cls.MockException = MockException

        m = MagicMock()
        cls.server_mock = MagicMock()
        cls.server_mock.__class__ = MagicMock(add=Mock())
        nssrc_modules_mock = {
            'nssrc.com.citrix.netscaler.nitro.resource.config.lb':
            m,
            'nssrc.com.citrix.netscaler.nitro.resource.config.lb.lbvserver':
            m,
            'nssrc.com.citrix.netscaler.nitro.resource.config.lb.lbvserver.lbvserver':
            m,
            'nssrc.com.citrix.netscaler.nitro.resource.config.lb.lbvserver_service_binding':
            m,
            'nssrc.com.citrix.netscaler.nitro.resource.config.lb.lbvserver_service_binding.lbvserver_service_binding':
            m,
            'nssrc.com.citrix.netscaler.nitro.resource.config.lb.lbvserver_servicegroup_binding':
            m,
            'nssrc.com.citrix.netscaler.nitro.resource.config.lb.lbvserver_servicegroup_binding.lbvserver_servicegroup_binding':
            m,
            'nssrc.com.citrix.netscaler.nitro.resource.config.ssl':
            m,
            'nssrc.com.citrix.netscaler.nitro.resource.config.ssl.sslvserver_sslcertkey_binding':
            m,
            'nssrc.com.citrix.netscaler.nitro.resource.config.ssl.sslvserver_sslcertkey_binding.sslvserver_sslcertkey_binding':
            m,
        }

        cls.nitro_specific_patcher = patch.dict(sys.modules,
                                                nssrc_modules_mock)
        cls.nitro_base_patcher = nitro_base_patcher
    def test_servicegroup_monitor_bindings_sanity(self):
        self.set_module_state('present')
        from ansible_collections.notstdlib.moveitallout.plugins.modules import netscaler_servicegroup
        servicegroup_proxy_mock = MagicMock()
        attrs = {
            'diff_object.return_value': {},
        }
        servicegroup_proxy_mock.configure_mock(**attrs)

        m = MagicMock(return_value=servicegroup_proxy_mock)
        sync_mock = Mock()

        with patch.multiple(
                'ansible_collections.notstdlib.moveitallout.plugins.modules.netscaler_servicegroup',
                ConfigProxy=m,
                servicegroup_exists=Mock(side_effect=[True, True]),
                servicegroup_identical=Mock(side_effect=[True, True]),
                monitor_bindings_identical=Mock(side_effect=[False, False]),
                sync_monitor_bindings=Mock(),
                servicemembers_identical=Mock(side_effect=[True, True]),
                nitro_exception=self.MockException,
                sync_service_members=sync_mock,
                do_state_change=Mock(return_value=Mock(errorcode=0)),
        ):
            self.module = netscaler_servicegroup
            result = self.failed()
            self.assertEqual(result['msg'],
                             'Monitor bindings are not identical')
    def setUpClass(cls):
        class MockException(Exception):
            pass

        cls.MockException = MockException
        m = MagicMock()
        cls.servicegroup_mock = MagicMock()
        cls.servicegroup_mock.__class__ = MagicMock()
        nssrc_modules_mock = {
            'nssrc.com.citrix.netscaler.nitro.resource.config.basic':
            m,
            'nssrc.com.citrix.netscaler.nitro.resource.config.basic.servicegroup':
            m,
            'nssrc.com.citrix.netscaler.nitro.resource.config.basic.servicegroup.servicegroup':
            cls.servicegroup_mock,
            'nssrc.com.citrix.netscaler.nitro.resource.config.basic.servicegroup_servicegroupmember_binding':
            m,
            'nssrc.com.citrix.netscaler.nitro.resource.config.basic.servicegroup_servicegroupmember_binding.servicegroup_servicegroupmember_binding':
            m,
            'nssrc.com.citrix.netscaler.nitro.resource.config.basic.servicegroup_lbmonitor_binding':
            m,
            'nssrc.com.citrix.netscaler.nitro.resource.config.basic.servicegroup_lbmonitor_binding.servicegroup_lbmonitor_binding':
            m,
            'nssrc.com.citrix.netscaler.nitro.resource.config.lb':
            m,
            'nssrc.com.citrix.netscaler.nitro.resource.config.lb.lbmonitor_servicegroup_binding':
            m,
            'nssrc.com.citrix.netscaler.nitro.resource.config.lb.lbmonitor_servicegroup_binding.lbmonitor_servicegroup_binding':
            m
        }

        cls.nitro_specific_patcher = patch.dict(sys.modules,
                                                nssrc_modules_mock)
        cls.nitro_base_patcher = nitro_base_patcher
    def test_no_change_to_module_when_all_identical(self):
        self.set_module_state('present')
        from ansible_collections.notstdlib.moveitallout.plugins.modules import netscaler_servicegroup
        servicegroup_proxy_mock = MagicMock()
        attrs = {
            'diff_object.return_value': {},
        }
        servicegroup_proxy_mock.configure_mock(**attrs)

        m = MagicMock(return_value=servicegroup_proxy_mock)
        servicegroup_exists_mock = Mock(side_effect=[True, True])
        servicegroup_identical_mock = Mock(side_effect=[True, True])
        monitor_bindings_identical_mock = Mock(side_effect=[True, True])

        with patch.multiple(
                'ansible_collections.notstdlib.moveitallout.plugins.modules.netscaler_servicegroup',
                ConfigProxy=m,
                servicegroup_exists=servicegroup_exists_mock,
                servicegroup_identical=servicegroup_identical_mock,
                servicemembers_identical=Mock(side_effect=[True, True]),
                monitor_bindings_identical=monitor_bindings_identical_mock,
                do_state_change=Mock(return_value=Mock(errorcode=0)),
                nitro_exception=self.MockException,
        ):
            self.module = netscaler_servicegroup
            result = self.exited()
            self.assertFalse(result['changed'],
                             msg='Erroneous changed status update')
    def test_no_change_to_module_when_all_identical(self):
        self.set_module_state('present')
        from ansible_collections.notstdlib.moveitallout.plugins.modules import netscaler_cs_policy
        cs_policy_mock = MagicMock()
        attrs = {
            'diff_object.return_value': {},
        }
        cs_policy_mock.configure_mock(**attrs)

        m = MagicMock(return_value=cs_policy_mock)
        policy_exists_mock = Mock(side_effect=[True, True])
        policy_identical_mock = Mock(side_effect=[True, True])

        with patch.multiple(
                'ansible_collections.notstdlib.moveitallout.plugins.modules.netscaler_cs_policy',
                ConfigProxy=m,
                policy_exists=policy_exists_mock,
                policy_identical=policy_identical_mock,
                ensure_feature_is_enabled=Mock(),
                nitro_exception=self.MockException,
        ):
            self.module = netscaler_cs_policy
            result = self.exited()
            self.assertFalse(result['changed'],
                             msg='Erroneous changed status update')
    def test_module_utils_basic_ansible_module_selinux_default_context(self):
        from ansible_collections.notstdlib.moveitallout.plugins.module_utils import basic
        basic._ANSIBLE_ARGS = None

        am = basic.AnsibleModule(
            argument_spec=dict(),
        )

        am.selinux_initial_context = MagicMock(return_value=[None, None, None, None])
        am.selinux_enabled = MagicMock(return_value=True)

        # we first test the cases where the python selinux lib is not installed
        basic.HAVE_SELINUX = False
        self.assertEqual(am.selinux_default_context(path='/foo/bar'), [None, None, None, None])

        # all following tests assume the python selinux bindings are installed
        basic.HAVE_SELINUX = True

        basic.selinux = Mock()

        with patch.dict('sys.modules', {'selinux': basic.selinux}):
            # next, we test with a mocked implementation of selinux.matchpathcon to simulate
            # an actual context being found
            with patch('selinux.matchpathcon', return_value=[0, 'unconfined_u:object_r:default_t:s0']):
                self.assertEqual(am.selinux_default_context(path='/foo/bar'), ['unconfined_u', 'object_r', 'default_t', 's0'])

            # we also test the case where matchpathcon returned a failure
            with patch('selinux.matchpathcon', return_value=[-1, '']):
                self.assertEqual(am.selinux_default_context(path='/foo/bar'), [None, None, None, None])

            # finally, we test where an OSError occurred during matchpathcon's call
            with patch('selinux.matchpathcon', side_effect=OSError):
                self.assertEqual(am.selinux_default_context(path='/foo/bar'), [None, None, None, None])

        delattr(basic, 'selinux')
    def test_module_utils_basic_ansible_module_selinux_enabled(self):
        from ansible_collections.notstdlib.moveitallout.plugins.module_utils import basic
        basic._ANSIBLE_ARGS = None

        am = basic.AnsibleModule(
            argument_spec=dict(),
        )

        # we first test the cases where the python selinux lib is
        # not installed, which has two paths: one in which the system
        # does have selinux installed (and the selinuxenabled command
        # is present and returns 0 when run), or selinux is not installed
        basic.HAVE_SELINUX = False
        am.get_bin_path = MagicMock()
        am.get_bin_path.return_value = '/path/to/selinuxenabled'
        am.run_command = MagicMock()
        am.run_command.return_value = (0, '', '')
        self.assertRaises(SystemExit, am.selinux_enabled)
        am.get_bin_path.return_value = None
        self.assertEqual(am.selinux_enabled(), False)

        # finally we test the case where the python selinux lib is installed,
        # and both possibilities there (enabled vs. disabled)
        basic.HAVE_SELINUX = True
        basic.selinux = Mock()
        with patch.dict('sys.modules', {'selinux': basic.selinux}):
            with patch('selinux.is_selinux_enabled', return_value=0):
                self.assertEqual(am.selinux_enabled(), False)
            with patch('selinux.is_selinux_enabled', return_value=1):
                self.assertEqual(am.selinux_enabled(), True)
        delattr(basic, 'selinux')
예제 #15
0
 def test_update_called_when_traffic_type_exists(self):
     set_module_args(base_module_args)
     module = setup_module_object()
     actt = AnsibleCloudStackTrafficType(module)
     actt.get_traffic_type = MagicMock(return_value=EXISTING_TRAFFIC_TYPES_RESPONSE['traffictype'][0])
     actt.update_traffic_type = MagicMock()
     actt.present_traffic_type()
     self.assertTrue(actt.update_traffic_type.called)
 def test_plugins_connection_aws_ssm_get_url(self, boto):
     pc = PlayContext()
     new_stdin = StringIO()
     conn = connection_loader.get('aws_ssm', pc, new_stdin)
     boto3 = MagicMock()
     boto3.client('s3').return_value = MagicMock()
     boto3.generate_presigned_url.return_value = MagicMock()
     return (boto3.generate_presigned_url.return_value)
 def test_plugins_connection_aws_ssm_fetch_file(self):
     pc = PlayContext()
     new_stdin = StringIO()
     conn = connection_loader.get('aws_ssm', pc, new_stdin)
     conn._connect = MagicMock()
     conn._file_transport_command = MagicMock()
     conn._file_transport_command.return_value = (0, 'stdout', 'stderr')
     res, stdout, stderr = conn.fetch_file('/in/file', '/out/file')
    def test_smoketest_load_file_common_args(self, am):
        """With no file arguments, an empty dict is returned"""
        am.selinux_mls_enabled = MagicMock()
        am.selinux_mls_enabled.return_value = True
        am.selinux_default_context = MagicMock()
        am.selinux_default_context.return_value = 'unconfined_u:object_r:default_t:s0'.split(
            ':', 3)

        assert am.load_file_common_arguments(params={}) == {}
예제 #19
0
 def test_traffic_type_returned_if_exists(self):
     set_module_args(base_module_args)
     module = setup_module_object()
     actt = AnsibleCloudStackTrafficType(module)
     actt.get_physical_network = MagicMock(return_value=VALID_LIST_NETWORKS_RESPONSE['physicalnetwork'][0])
     actt.get_traffic_types = MagicMock(return_value=EXISTING_TRAFFIC_TYPES_RESPONSE)
     tt = actt.present_traffic_type()
     self.assertTrue(tt.get('kvmnetworklabel') == base_module_args['kvm_networklabel'])
     self.assertTrue(tt.get('traffictype') == base_module_args['traffic_type'])
 def test_plugins_connection_aws_ssm_flush_stderr(self, s_popen):
     pc = PlayContext()
     new_stdin = StringIO()
     conn = connection_loader.get('aws_ssm', pc, new_stdin)
     conn.poll_stderr = MagicMock()
     conn.poll_stderr.register = MagicMock()
     conn.stderr = None
     s_popen.poll().return_value = 123
     return(conn.stderr)
예제 #21
0
 def test_update_not_called_when_traffic_type_doesnt_exist(self):
     set_module_args(base_module_args)
     module = setup_module_object()
     actt = AnsibleCloudStackTrafficType(module)
     actt.get_traffic_type = MagicMock(return_value=None)
     actt.update_traffic_type = MagicMock()
     actt.add_traffic_type = MagicMock()
     actt.present_traffic_type()
     self.assertFalse(actt.update_traffic_type.called)
     self.assertTrue(actt.add_traffic_type.called)
 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)
 def setUp(self):
     super(TestNiosCNameRecordModule, self).setUp()
     self.module = MagicMock(name='ansible_collections.notstdlib.moveitallout.plugins.modules.nios_cname_record.WapiModule')
     self.module.check_mode = False
     self.module.params = {'provider': None}
     self.mock_wapi = patch('ansible_collections.notstdlib.moveitallout.plugins.modules.nios_cname_record.WapiModule')
     self.exec_command = self.mock_wapi.start()
     self.mock_wapi_run = patch('ansible_collections.notstdlib.moveitallout.plugins.modules.nios_cname_record.WapiModule.run')
     self.mock_wapi_run.start()
     self.load_config = self.mock_wapi_run.start()
 def test_plugins_connection_aws_ssm_post_process(self):
     pc = PlayContext()
     new_stdin = StringIO()
     conn = connection_loader.get('aws_ssm', pc, new_stdin)
     conn.is_windows = MagicMock()
     conn.is_windows.return_value = True
     success = 3
     fail = 2
     conn.stdout = MagicMock()
     returncode = 0
     return(returncode, conn.stdout)
예제 #25
0
    def setUp(self):
        super(TestNiosApi, self).setUp()

        self.module = MagicMock(name='AnsibleModule')
        self.module.check_mode = False
        self.module.params = {'provider': None}

        self.mock_connector = patch(
            'ansible_collections.notstdlib.moveitallout.plugins.module_utils.net_tools.nios.api.get_connector'
        )
        self.mock_connector.start()
def patched_openvswitch_db(monkeypatch):
    mocked_ovs_db = MagicMock()
    mocked_ovs_db.return_value = {
        'table': 'open_vswitch',
        'record': '.',
        'col': 'other_config',
        'key': 'pmd-cpu-mask',
        'value': '0xaaa00000000'
    }
    monkeypatch.setattr(openvswitch_db, 'map_config_to_obj', mocked_ovs_db)
    return openvswitch_db
    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)
    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)
예제 #29
0
def patched_openvswitch_bridge(monkeypatch):
    mocked_bridge = MagicMock()
    mocked_bridge.return_value = {
        'bridge': 'test-br2',
        'parent': 'test-br',
        'vlan': 200,
        'fail_mode': None,
        'external_ids': None,
        'set': None
    }
    monkeypatch.setattr(openvswitch_bridge, 'map_config_to_obj', mocked_bridge)
    return openvswitch_bridge
예제 #30
0
    def test_icx_config_lines_w_parents(self):
        lines = ['disable']
        parents = ['interface ethernet 1/1/4']
        set_module_args(dict(lines=lines, parents=parents))
        module = MagicMock()
        module.params = {'lines': lines, 'parents': parents, 'src': None}
        candidate_config = icx_config.get_candidate_config(module)

        self.conn.get_diff = MagicMock(return_value=self.cliconf_obj.get_diff(candidate_config, self.running_config))

        commands = ['interface ethernet 1/1/4', 'disable']
        self.execute_module(changed=True, commands=commands)