def setUp(self):
        super(TestNxosVlansModule, self).setUp()

        self.mock_FACT_LEGACY_SUBSETS = patch(
            'ansible_collections.notstdlib.moveitallout.plugins.module_utils.network.nxos.facts.facts.FACT_LEGACY_SUBSETS'
        )
        self.FACT_LEGACY_SUBSETS = self.mock_FACT_LEGACY_SUBSETS.start()

        self.mock_get_resource_connection_config = patch(
            'ansible_collections.notstdlib.moveitallout.plugins.module_utils.network.common.cfg.base.get_resource_connection'
        )
        self.get_resource_connection_config = self.mock_get_resource_connection_config.start(
        )

        self.mock_get_resource_connection_facts = patch(
            'ansible_collections.notstdlib.moveitallout.plugins.module_utils.network.common.facts.facts.get_resource_connection'
        )
        self.get_resource_connection_facts = self.mock_get_resource_connection_facts.start(
        )

        self.mock_edit_config = patch(
            'ansible_collections.notstdlib.moveitallout.plugins.module_utils.network.nxos.config.vlans.vlans.Vlans.edit_config'
        )
        self.edit_config = self.mock_edit_config.start()

        self.mock_get_device_data = patch(
            'ansible_collections.notstdlib.moveitallout.plugins.module_utils.network.nxos.facts.vlans.vlans.VlansFacts.get_device_data'
        )
        self.get_device_data = self.mock_get_device_data.start()
    def setUp(self):
        super(TestIosxrFacts, self).setUp()

        self.mock_run_commands = patch(
            'ansible_collections.notstdlib.moveitallout.plugins.module_utils.network.iosxr.facts.legacy.base.run_commands'
        )
        self.run_commands = self.mock_run_commands.start()

        self.mock_get_resource_connection = patch(
            'ansible_collections.notstdlib.moveitallout.plugins.module_utils.network.common.facts.facts.get_resource_connection'
        )
        self.get_resource_connection = self.mock_get_resource_connection.start(
        )

        self.mock_get_capabilities = patch(
            'ansible_collections.notstdlib.moveitallout.plugins.module_utils.network.iosxr.facts.legacy.base.get_capabilities'
        )
        self.get_capabilities = self.mock_get_capabilities.start()
        self.get_capabilities.return_value = {
            'device_info': {
                'network_os': 'iosxr',
                'network_os_hostname': 'iosxr01',
                'network_os_image':
                'bootflash:disk0/xrvr-os-mbi-6.1.3/mbixrvr-rp.vm',
                'network_os_version': '6.1.3[Default]'
            },
            'network_api': 'cliconf'
        }
    def setUp(self):
        super(TestIosFactsModule, self).setUp()
        self.mock_run_commands = patch(
            'ansible_collections.notstdlib.moveitallout.plugins.module_utils.network.ios.facts.legacy.base.run_commands'
        )
        self.run_commands = self.mock_run_commands.start()

        self.mock_get_resource_connection = patch(
            'ansible_collections.notstdlib.moveitallout.plugins.module_utils.network.common.facts.facts.get_resource_connection'
        )
        self.get_resource_connection = self.mock_get_resource_connection.start(
        )

        self.mock_get_capabilities = patch(
            'ansible_collections.notstdlib.moveitallout.plugins.module_utils.network.ios.facts.legacy.base.get_capabilities'
        )
        self.get_capabilities = self.mock_get_capabilities.start()
        self.get_capabilities.return_value = {
            'device_info': {
                'network_os': 'ios',
                'network_os_hostname': 'an-ios-01',
                'network_os_image': 'flash0:/vios-adventerprisek9-m',
                'network_os_model': 'WS-C3750-24TS',
                'network_os_version': '15.6(3)M2'
            },
            'network_api': 'cliconf'
        }
    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 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')
Пример #6
0
    def test_graceful_nitro_error_on_login(self):
        set_module_args(
            dict(
                nitro_user='******',
                nitro_pass='******',
                nsip='192.0.2.1',
                state='present',
            ))
        from ansible_collections.notstdlib.moveitallout.plugins.modules import netscaler_lb_vserver

        class MockException(Exception):
            def __init__(self, *args, **kwargs):
                self.errorcode = 0
                self.message = ''

        client_mock = Mock()
        client_mock.login = Mock(side_effect=MockException)
        m = Mock(return_value=client_mock)
        with patch(
                'ansible_collections.notstdlib.moveitallout.plugins.modules.netscaler_lb_vserver.get_nitro_client',
                m):
            with patch(
                    'ansible_collections.notstdlib.moveitallout.plugins.modules.netscaler_lb_vserver.nitro_exception',
                    MockException):
                self.module = netscaler_lb_vserver
                result = self.failed()
                self.assertTrue(
                    result['msg'].startswith('nitro exception'),
                    msg='nitro exception during login not handled properly')
Пример #7
0
    def setUp(self):
        super(TestNxosVlanModule, self).setUp()

        self.mock_run_commands = patch(
            'ansible_collections.notstdlib.moveitallout.plugins.modules._nxos_vlan.run_commands'
        )
        self.run_commands = self.mock_run_commands.start()

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

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

        self.mock_get_capabilities = patch(
            'ansible_collections.notstdlib.moveitallout.plugins.modules._nxos_vlan.get_capabilities'
        )
        self.get_capabilities = self.mock_get_capabilities.start()
        self.get_capabilities.return_value = {
            'device_info': {
                'network_os_platform': 'N9K-9000v'
            },
            'network_api': 'cliconf'
        }
    def test_clear_single_configuration(self):
        self._set_args()

        # No changes are required if the domains are empty
        config = 'abc'

        ldap = self._make_ldap_instance()
        with mock.patch.object(ldap, 'get_configuration', return_value=config):
            with mock.patch(self.REQ_FUNC, return_value=(204, None)) as req:
                msg, result = ldap.clear_single_configuration()
                self.assertTrue(result)

                # Valid check_mode makes no changes
                req.reset_mock()
                ldap.check_mode = True
                msg, result = ldap.clear_single_configuration()
                self.assertTrue(result)
                self.assertFalse(req.called)

        # When domains exist, we need to clear
        ldap = self._make_ldap_instance()
        with mock.patch.object(ldap, 'get_configuration', return_value=None):
            with mock.patch(self.REQ_FUNC, return_value=(204, None)) as req:
                msg, result = ldap.clear_single_configuration()
                self.assertFalse(result)
                self.assertFalse(req.called)
Пример #9
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')
    def test_get_configuration_pass(self):
        """Validate get configuration does not throw exception when normal request is returned."""
        initial = {
            "max_records": 1000,
            "log_level": "writeOnly",
            "full_policy": "overWrite",
            "threshold": 90
        }
        expected = {
            "auditLogMaxRecords": 1000,
            "auditLogLevel": "writeOnly",
            "auditLogFullPolicy": "overWrite",
            "auditLogWarningThresholdPct": 90
        }

        self._set_args(**initial)
        with mock.patch(self.REQ_FUNC,
                        return_value=(200, {
                            "runningAsProxy": True
                        })):
            audit_log = AuditLog()

        with mock.patch(self.REQ_FUNC, return_value=(200, expected)):
            body = audit_log.get_configuration()
            self.assertTrue(body == expected)
    def setUp(self):
        super(TestNxosInterfaceModule, self).setUp()
        self.mock_run_commands = patch('ansible_collections.notstdlib.moveitallout.plugins.modules._nxos_interface.run_commands')
        self.run_commands = self.mock_run_commands.start()

        self.mock_load_config = patch('ansible_collections.notstdlib.moveitallout.plugins.modules._nxos_interface.load_config')
        self.load_config = self.mock_load_config.start()
def test_instance_to_be_created_with_root_pass(default_args, mock_linode,
                                               capfd, access_token):
    default_args.update({
        'type': 'foo',
        'region': 'bar',
        'image': 'baz',
        'root_pass': '******',
    })
    set_module_args(default_args)

    target = 'linode_api4.linode_client.LinodeGroup.instances'
    with mock.patch(target, return_value=[]):
        with pytest.raises(SystemExit) as sys_exit_exc:
            target = 'linode_api4.linode_client.LinodeGroup.instance_create'
            with mock.patch(target, return_value=mock_linode):
                linode_v4.main()

    assert sys_exit_exc.value.code == 0

    out, err = capfd.readouterr()
    results = json.loads(out)

    assert results['changed'] is True
    assert (results['instance']['label'] == mock_linode._raw_json['label'])
    assert 'root_pass' not in results['instance']
    def setUp(self):
        """Setup."""
        super(TestCreateJavaKeystore, self).setUp()

        orig_exists = os.path.exists
        self.spec = ArgumentSpec()
        self.mock_create_file = patch(
            'ansible_collections.notstdlib.moveitallout.plugins.modules.java_keystore.create_file',
            side_effect=lambda path, content: path)
        self.mock_run_commands = patch(
            'ansible_collections.notstdlib.moveitallout.plugins.modules.java_keystore.run_commands'
        )
        self.mock_os_path_exists = patch(
            'os.path.exists',
            side_effect=lambda path: True
            if path == '/path/to/keystore.jks' else orig_exists(path))
        self.mock_selinux_context = patch(
            'ansible_collections.notstdlib.moveitallout.plugins.module_utils.basic.AnsibleModule.selinux_context',
            side_effect=lambda path:
            ['unconfined_u', 'object_r', 'user_home_t', 's0'])
        self.mock_is_special_selinux_path = patch(
            'ansible_collections.notstdlib.moveitallout.plugins.module_utils.basic.AnsibleModule.is_special_selinux_path',
            side_effect=lambda path: (False, None))
        self.run_commands = self.mock_run_commands.start()
        self.create_file = self.mock_create_file.start()
        self.selinux_context = self.mock_selinux_context.start()
        self.is_special_selinux_path = self.mock_is_special_selinux_path.start(
        )
        self.os_path_exists = self.mock_os_path_exists.start()
Пример #14
0
    def test_module_utils_basic_ansible_module_find_mount_point(self):
        from ansible_collections.notstdlib.moveitallout.plugins.module_utils import basic
        basic._ANSIBLE_ARGS = None

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

        def _mock_ismount(path):
            if path == b'/':
                return True
            return False

        with patch('os.path.ismount', side_effect=_mock_ismount):
            self.assertEqual(am.find_mount_point('/root/fs/../mounted/path/to/whatever'), '/')

        def _mock_ismount(path):
            if path == b'/subdir/mount':
                return True
            if path == b'/':
                return True
            return False

        with patch('os.path.ismount', side_effect=_mock_ismount):
            self.assertEqual(am.find_mount_point('/subdir/mount/path/to/whatever'), '/subdir/mount')
    def test_update_configuration_delete_skip_fail(self):
        """Verify 422 and no force results in AnsibleJsonFail exception."""
        body = {
            "auditLogMaxRecords": 1000,
            "auditLogLevel": "writeOnly",
            "auditLogFullPolicy": "overWrite",
            "auditLogWarningThresholdPct": 90
        }
        initial = {
            "max_records": 2000,
            "log_level": "writeOnly",
            "full_policy": "overWrite",
            "threshold": 90,
            "force": False
        }

        self._set_args(**initial)
        with mock.patch(self.REQ_FUNC,
                        return_value=(200, {
                            "runningAsProxy": True
                        })):
            audit_log = AuditLog()

        with self.assertRaisesRegexp(
                AnsibleFailJson, r"Failed to update audit-log configuration!"):
            with mock.patch(self.REQ_FUNC,
                            side_effect=[(200, body),
                                         Exception(422,
                                                   {"errorMessage": "error"}),
                                         (200, None), (200, None)]):
                audit_log.update_configuration()
    def test_update_configuration_delete_pass(self):
        """Verify 422 and force successfully returns True."""
        body = {
            "auditLogMaxRecords": 1000,
            "auditLogLevel": "writeOnly",
            "auditLogFullPolicy": "overWrite",
            "auditLogWarningThresholdPct": 90
        }
        initial = {
            "max_records": 2000,
            "log_level": "writeOnly",
            "full_policy": "overWrite",
            "threshold": 90,
            "force": True
        }

        self._set_args(**initial)
        with mock.patch(self.REQ_FUNC,
                        return_value=(200, {
                            "runningAsProxy": True
                        })):
            audit_log = AuditLog()
            with mock.patch(self.REQ_FUNC,
                            side_effect=[(200, body),
                                         (422, {
                                             u"invalidFieldsIfKnown": None,
                                             u"errorMessage":
                                             u"Configuration change...",
                                             u"localizedMessage":
                                             u"Configuration change...",
                                             u"retcode":
                                             u"auditLogImmediateFullCondition",
                                             u"codeType": u"devicemgrerror"
                                         }), (200, None), (200, None)]):
                self.assertTrue(audit_log.update_configuration())
    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')
    def setUp(self):
        super(TestExosConfigModule, self).setUp()

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

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

        self.mock_run_commands = patch(
            'ansible_collections.notstdlib.moveitallout.plugins.modules.exos_config.run_commands'
        )
        self.run_commands = self.mock_run_commands.start()

        self.mock_get_startup_config = patch(
            'ansible_collections.notstdlib.moveitallout.plugins.modules.exos_config.get_startup_config'
        )
        self.get_startup_config = self.mock_get_startup_config.start()

        self.cliconf_obj = Cliconf(MagicMock())

        self.mock_get_diff = patch(
            'ansible_collections.notstdlib.moveitallout.plugins.modules.exos_config.get_diff'
        )
        self.get_diff = self.mock_get_diff.start()

        self.running_config = load_fixture('exos_config_config.cfg')
Пример #19
0
    def setUp(self):
        super(TestIosBannerModule, self).setUp()

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

        self.mock_load_config = patch('ansible_collections.notstdlib.moveitallout.plugins.modules.ios_banner.load_config')
        self.load_config = self.mock_load_config.start()
    def setUp(self):
        super(TestEosBannerModule, self).setUp()

        self.mock_run_commands = patch('ansible_collections.notstdlib.moveitallout.plugins.modules.eos_banner.run_commands')
        self.run_commands = self.mock_run_commands.start()

        self.mock_load_config = patch('ansible_collections.notstdlib.moveitallout.plugins.modules.eos_banner.load_config')
        self.load_config = self.mock_load_config.start()
Пример #21
0
    def setUp(self):
        super(TestNxosVxlanVtepVniModule, self).setUp()

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

        self.mock_get_config = patch('ansible_collections.notstdlib.moveitallout.plugins.modules.nxos_vxlan_vtep_vni.get_config')
        self.get_config = self.mock_get_config.start()
    def setUp(self):
        super(TestCnosLoggingModule, self).setUp()

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

        self.mock_load_config = patch('ansible_collections.notstdlib.moveitallout.plugins.modules.cnos_logging.load_config')
        self.load_config = self.mock_load_config.start()
Пример #23
0
    def setUp(self):
        super(TestNxosPimModule, self).setUp()

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

        self.mock_load_config = patch('ansible_collections.notstdlib.moveitallout.plugins.modules.nxos_pim.load_config')
        self.load_config = self.mock_load_config.start()
 def test_not_linux(self):
     # if neither match, the fallback should be the top-level class
     with patch('platform.system', return_value="Foo"):
         with patch(
                 'ansible_collections.notstdlib.moveitallout.plugins.module_utils.common.sys_info.get_distribution',
                 return_value=None):
             assert isinstance(load_platform_subclass(self.LinuxTest),
                               self.LinuxTest)
 def setUp(self):
     super(TestICXSCPModule, self).setUp()
     self.mock_exec_scp = patch('ansible_collections.notstdlib.moveitallout.plugins.modules.icx_copy.exec_scp')
     self.mock_run_commands = patch('ansible_collections.notstdlib.moveitallout.plugins.modules.icx_copy.run_commands')
     self.exec_command = self.mock_exec_scp.start()
     self.run_commands = self.mock_run_commands.start()
     self.mock_exec_command = patch('ansible_collections.notstdlib.moveitallout.plugins.modules.icx_copy.exec_command')
     self.exec_commands = self.mock_exec_command.start()
Пример #26
0
    def setUp(self):
        super(TestCloudEngineLacpModule, self).setUp()

        self.mock_get_config = patch('ansible_collections.notstdlib.moveitallout.plugins.modules.ce_is_is_instance.get_nc_config')
        self.get_nc_config = self.mock_get_config.start()

        self.mock_set_config = patch('ansible_collections.notstdlib.moveitallout.plugins.modules.ce_is_is_instance.set_nc_config')
        self.set_nc_config = self.mock_set_config.start()
        self.set_nc_config.return_value = None
Пример #27
0
 def setUp(self):
     self.patcher_get_config = patch(
         'ansible_collections.notstdlib.moveitallout.plugins.modules.cnos_config.get_config'
     )
     self.mock_get_config = self.patcher_get_config.start()
     self.patcher_exec_command = patch(
         'ansible_collections.notstdlib.moveitallout.plugins.modules.cnos_config.load_config'
     )
     self.mock_exec_command = self.patcher_exec_command.start()
Пример #28
0
    def setUp(self):
        self.mock_run_nvos_commands = patch(
            'ansible_collections.notstdlib.moveitallout.plugins.modules.pn_admin_syslog.run_cli'
        )
        self.run_nvos_commands = self.mock_run_nvos_commands.start()

        self.mock_run_check_cli = patch(
            'ansible_collections.notstdlib.moveitallout.plugins.modules.pn_admin_syslog.check_cli'
        )
        self.run_check_cli = self.mock_run_check_cli.start()
Пример #29
0
    def setUp(self):
        self.mock_run_nvos_commands = patch(
            'ansible_collections.notstdlib.moveitallout.plugins.modules.pn_ipv6security_raguard_port.run_cli'
        )
        self.run_nvos_commands = self.mock_run_nvos_commands.start()

        self.mock_run_check_cli = patch(
            'ansible_collections.notstdlib.moveitallout.plugins.modules.pn_ipv6security_raguard_port.check_cli'
        )
        self.run_check_cli = self.mock_run_check_cli.start()
 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()