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
예제 #2
0
    def test_no_change_to_module_when_all_identical(self):
        self.set_module_state('present')
        from ansible_collections.community.general.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.community.general.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')
예제 #3
0
def test_simple_auth_with_start_tls(monkeypatch):
    mock_ldap_option = MagicMock()
    monkeypatch.setattr(FakeLdap, "set_option", mock_ldap_option)

    mock_ldap = MagicMock()
    monkeypatch.setattr("ldap.initialize", mock_ldap)

    lookup_loader.get('laps_password').run([],
                                           domain="dc01",
                                           start_tls=True,
                                           auth="simple",
                                           username="******",
                                           password="******")

    assert mock_ldap_option.mock_calls[0][1] == (
        FakeLdap.OPT_X_TLS_REQUIRE_CERT, FakeLdap.OPT_X_TLS_DEMAND)

    assert mock_ldap.mock_calls[3][0] == "().start_tls_s"
    assert mock_ldap.mock_calls[3][1] == ()

    assert mock_ldap.mock_calls[4][0] == '().bind_s'
    assert mock_ldap.mock_calls[4][1] == (u"user", u"pass")

    assert mock_ldap.mock_calls[5][0] == "().read_rootdse_s"
    assert mock_ldap.mock_calls[5][1] == ()
예제 #4
0
    def setUp(self, mock_socket):
        # TODO: this python version validation won't be needed as long as the _time_ns call is mocked.
        if sys.version_info < OPENTELEMETRY_MINIMUM_PYTHON_VERSION:
            self.skipTest(
                "Python %s+ is needed for OpenTelemetry" %
                ",".join(map(str, OPENTELEMETRY_MINIMUM_PYTHON_VERSION)))

        mock_socket.gethostname.return_value = 'my-host'
        mock_socket.gethostbyname.return_value = '1.2.3.4'
        self.opentelemetry = OpenTelemetrySource(display=None)
        self.task_fields = {'args': {}}
        self.mock_host = Mock('MockHost')
        self.mock_host.name = 'myhost'
        self.mock_host._uuid = 'myhost_uuid'
        self.mock_task = Task()
        self.mock_task.action = 'myaction'
        self.mock_task.no_log = False
        self.mock_task._role = 'myrole'
        self.mock_task._uuid = 'myuuid'
        self.mock_task.args = {}
        self.mock_task.get_name = MagicMock(return_value='mytask')
        self.mock_task.get_path = MagicMock(return_value='/mypath')
        self.my_task = TaskData('myuuid', 'mytask', '/mypath', 'myplay',
                                'myaction', '')
        self.my_task_result = TaskResult(host=self.mock_host,
                                         task=self.mock_task,
                                         return_data={},
                                         task_fields=self.task_fields)
 def test_get_kubernetes_options_when_not_ok(self):
     module = MagicMock()
     k = DOKubernetes(module)
     k.rest = MagicMock()
     k.rest.get = MagicMock()
     k.rest.get.return_value.json = {"foo": "bar"}
     k.rest.get.return_value.status_code = 400
     self.assertIsNone(k.get_kubernetes_options())
 def test_get_all_clusters_when_not_ok(self):
     module = MagicMock()
     k = DOKubernetesInfo(module)
     k.rest = MagicMock()
     k.rest.get = MagicMock()
     k.rest.get.return_value.status_code = 400
     k.rest.get.return_value.json = {"foo": "bar"}
     self.assertIsNone(k.get_all_clusters())
 def test_get_by_id_when_ok(self):
     module = MagicMock()
     k = DOKubernetesInfo(module)
     k.rest = MagicMock()
     k.rest.get = MagicMock()
     k.rest.get.return_value.status_code = 200
     k.rest.get.return_value.json = {"foo": "bar"}
     self.assertEqual(k.get_by_id(), {"foo": "bar"})
 def test_get_when_not_found(self):
     module = MagicMock()
     module.fail_json = MagicMock()
     k = DOKubernetesInfo(module)
     k.get_kubernetes = MagicMock()
     k.get_kubernetes.return_value = None
     k.get()
     module.fail_json.assert_called()
 def test_get_kubernetes_kubeconfig_when_not_ok(self):
     module = MagicMock()
     k = DOKubernetesInfo(module)
     k.rest = MagicMock()
     k.rest.get = MagicMock()
     k.rest.get.return_value.status_code = 400
     k.rest.get.return_value.body = "kubeconfig"
     self.assertNotEqual(k.get_kubernetes_kubeconfig(), "kubeconfig")
예제 #10
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)
예제 #11
0
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
예제 #12
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_get_by_name_found(self):
     module = MagicMock()
     k = DOKubernetes(module)
     k.get_all_clusters = MagicMock()
     k.get_all_clusters.return_value = {
         "kubernetes_clusters": [{
             "name": "foo"
         }]
     }
     self.assertEqual(k.get_by_name("foo"), {"name": "foo"})
 def test_get_by_name_not_found(self):
     module = MagicMock()
     k = DOKubernetesInfo(module)
     k.get_all_clusters = MagicMock()
     k.get_all_clusters.return_value = {
         "kubernetes_clusters": [{
             "name": "foo"
         }]
     }
     self.assertIsNone(k.get_by_name("foo2"))
 def setUp(self):
     super(TestNiosARecordModule, self).setUp()
     self.module = MagicMock(name='ansible_collections.community.general.plugins.modules.net_tools.nios.nios_a_record.WapiModule')
     self.module.check_mode = False
     self.module.params = {'provider': None}
     self.mock_wapi = patch('ansible_collections.community.general.plugins.modules.net_tools.nios.nios_a_record.WapiModule')
     self.exec_command = self.mock_wapi.start()
     self.mock_wapi_run = patch('ansible_collections.community.general.plugins.modules.net_tools.nios.nios_a_record.WapiModule.run')
     self.mock_wapi_run.start()
     self.load_config = self.mock_wapi_run.start()
예제 #16
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.community.general.plugins.module_utils.net_tools.nios.api.get_connector'
        )
        self.mock_connector.start()
    def test_delete_not_ok(self):
        module = MagicMock()
        module.exit_json = MagicMock()

        k = DOKubernetes(module)

        k.get_kubernetes = MagicMock()
        k.get_kubernetes.return_value = None

        k.delete()
        k.module.exit_json.assert_called()
예제 #18
0
    def test_voss_config_ipv6(self):
        lines = ['ip address 1 1.1.1.1/255.255.255.255',
                 'ipv6 interface address 2011:0:0:0:0:0:0:1/128']
        parents = ['interface loopback 1']
        set_module_args(dict(lines=lines, parents=parents))
        module = MagicMock()
        module.params = {'lines': lines, 'parents': parents, 'src': None}
        candidate_config = voss_config.get_candidate_config(module)

        self.conn.get_diff = MagicMock(return_value=self.cliconf_obj.get_diff(candidate_config, self.running_config))
        self.execute_module(changed=False)
예제 #19
0
    def test_voss_config_lines_w_parents(self):
        lines = ['no shutdown']
        parents = ['interface GigabitEthernet 1/1']
        set_module_args(dict(lines=lines, parents=parents))
        module = MagicMock()
        module.params = {'lines': lines, 'parents': parents, 'src': None}
        candidate_config = voss_config.get_candidate_config(module)

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

        commands = ['interface GigabitEthernet 1/1', 'no shutdown']
        self.execute_module(changed=True, commands=commands)
예제 #20
0
    def test_voss_config_match_exact(self):
        lines = ['name "ServerA"', 'vlacp enable', 'no shutdown']
        parents = ['interface GigabitEthernet 1/1']
        set_module_args(dict(lines=lines, parents=parents, match='exact'))

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

        commands = parents + lines
        self.execute_module(changed=True, commands=commands, sort=False)
예제 #21
0
    def test_exec_with_become_no_plugin_set_use_task(self, test_win_updates):
        set_become_mock = MagicMock()
        test_win_updates._connection.become = None
        test_win_updates._connection.set_become_plugin = set_become_mock

        with patch('ansible.plugins.action.ActionBase._execute_module',
                   new=MagicMock()):
            test_win_updates._execute_module_with_become(
                'win_updates', {}, {}, True, True)

        assert set_become_mock.call_count == 1
        assert set_become_mock.mock_calls[0][1][0] is None
예제 #22
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
예제 #23
0
    def test_voss_config_replace_block(self):
        lines = ['name "ServerB"', 'test string']
        parents = ['interface GigabitEthernet 1/2']
        set_module_args(dict(lines=lines, replace='block', parents=parents))

        module = MagicMock()
        module.params = {'lines': lines, 'parents': parents, 'src': None}
        candidate_config = voss_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)
예제 #24
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'])
예제 #25
0
class ConnectionMock(object):
    ismock = True
    _play_context = None
    # transport = 'ssh'
    transport = None
    _new_stdin = StdinMock()

    get_option = MagicMock(return_value='root')

    # my shell
    _shell = MagicMock()
    _shell.mkdtemp.return_value = 'mkdir command'
    _shell.join_path.side_effect = os.path.join
    _shell.get_option = MagicMock(return_value=['root', 'toor'])
예제 #26
0
    def test_exec_with_become(self, test_win_updates):
        test_become = os.urandom(8)

        set_become_mock = MagicMock()
        test_win_updates._connection.become = test_become
        test_win_updates._connection.set_become_plugin = set_become_mock

        with patch('ansible.plugins.action.ActionBase._execute_module',
                   new=MagicMock()):
            test_win_updates._execute_module_with_become(
                'win_updates', {}, {}, True, False)

        # Asserts we don't override the become plugin.
        assert set_become_mock.call_count == 1
        assert set_become_mock.mock_calls[0][1][0] == test_become
예제 #27
0
def super_switcher(scope="function", autouse=True):
    # Mocking the inbuilt super as it is used in ApiSession initialization
    original_super = __builtin__.super
    __builtin__.super = MagicMock()
    yield
    # Revert the super to default state
    __builtin__.super = original_super
예제 #28
0
 def test_voss_config_src_ipv6(self):
     src = load_fixture('voss_config_ipv6.cfg')
     set_module_args(dict(src=src))
     self.conn.get_diff = MagicMock(return_value=self.cliconf_obj.get_diff(src, self.running_config))
     commands = ['interface loopback 1', 'ip address 1 2.2.2.2/255.255.255.255',
                 'ipv6 interface address 2011:0:0:0:0:0:0:2/128', 'exit']
     self.execute_module(changed=True, commands=commands)
예제 #29
0
 def test_voss_config_config(self):
     config = 'prompt "VSP300"'
     lines = ['prompt 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 = ['prompt router']
     self.execute_module(changed=True, commands=commands)
예제 #30
0
 def test_voss_config_src(self):
     src = load_fixture('voss_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 = ['prompt "VSP8K"', 'interface GigabitEthernet 1/1',
                 'name "UNUSED"', 'exit']
     self.execute_module(changed=True, commands=commands)