def test_modified_cs_action_execution_flow(self):
        set_module_args(
            dict(
                nitro_user='******',
                nitro_pass='******',
                nsip='192.0.2.1',
                state='present',
            ))
        from ansible_collections.misc.not_a_real_collection.plugins.modules import netscaler_cs_action

        client_mock = Mock()

        m = Mock(return_value=client_mock)

        server_proxy_attrs = {
            'diff_object.return_value': {},
        }
        cs_action_proxy_mock = Mock()
        cs_action_proxy_mock.configure_mock(**server_proxy_attrs)
        config_proxy_mock = Mock(return_value=cs_action_proxy_mock)

        with patch.multiple(
                'ansible_collections.misc.not_a_real_collection.plugins.modules.netscaler_cs_action',
                get_nitro_client=m,
                diff_list=Mock(return_value={}),
                get_immutables_intersection=Mock(return_value=[]),
                action_exists=Mock(side_effect=[True, True]),
                action_identical=Mock(side_effect=[False, True]),
                ensure_feature_is_enabled=Mock(return_value=True),
                ConfigProxy=config_proxy_mock,
        ):
            self.module = netscaler_cs_action
            self.exited()
            cs_action_proxy_mock.assert_has_calls([call.update()])
Exemplo n.º 2
0
 def test_values_copied_to_actual(self):
     actual = Mock()
     client = Mock()
     values = {
         'some_key': 'some_value',
     }
     ConfigProxy(actual=actual,
                 client=client,
                 attribute_values_dict=values,
                 readwrite_attrs=['some_key'])
     self.assertEqual(actual.some_key,
                      values['some_key'],
                      msg='Failed to pass correct value from values dict')
Exemplo n.º 3
0
 def test_missing_from_values_dict_not_copied_to_actual(self):
     actual = Mock()
     client = Mock()
     values = {
         'irrelevant_key': 'irrelevant_value',
     }
     print('value %s' % actual.key_for_none)
     ConfigProxy(actual=actual,
                 client=client,
                 attribute_values_dict=values,
                 readwrite_attrs=['key_for_none'])
     print('none %s' % getattr(actual, 'key_for_none'))
     self.assertIsInstance(actual.key_for_none, Mock)
Exemplo n.º 4
0
    def test_absent_server_failed_delete(self):
        set_module_args(
            dict(
                nitro_user='******',
                nitro_pass='******',
                nsip='192.0.2.1',
                state='absent',
            ))
        from ansible_collections.misc.not_a_real_collection.plugins.modules import netscaler_ssl_certkey

        client_mock = Mock()

        m = Mock(return_value=client_mock)

        ssl_certkey_proxy_attrs = {
            'diff_object.return_value': {},
        }
        ssl_certkey_proxy_mock = Mock()
        ssl_certkey_proxy_mock.configure_mock(**ssl_certkey_proxy_attrs)
        config_proxy_mock = Mock(return_value=ssl_certkey_proxy_mock)

        with patch.multiple(
                'ansible_collections.misc.not_a_real_collection.plugins.modules.netscaler_ssl_certkey',
                nitro_exception=self.MockException,
                get_nitro_client=m,
                diff_list=Mock(return_value={}),
                get_immutables_intersection=Mock(return_value=[]),
                key_exists=Mock(side_effect=[True, True]),
                key_identical=Mock(side_effect=[False, False]),
                ConfigProxy=config_proxy_mock,
        ):
            self.module = netscaler_ssl_certkey
            result = self.failed()
            self.assertEqual(result['msg'], 'SSL certkey still exists')
            self.assertTrue(result['failed'])
Exemplo n.º 5
0
    def test_absent_server_noop_flow(self):
        set_module_args(
            dict(
                nitro_user='******',
                nitro_pass='******',
                nsip='192.0.2.1',
                state='absent',
            ))
        from ansible_collections.misc.not_a_real_collection.plugins.modules import netscaler_ssl_certkey

        client_mock = Mock()

        m = Mock(return_value=client_mock)

        ssl_certkey_proxy_attrs = {
            'diff_object.return_value': {},
        }
        ssl_certkey_proxy_mock = Mock()
        ssl_certkey_proxy_mock.configure_mock(**ssl_certkey_proxy_attrs)
        config_proxy_mock = Mock(return_value=ssl_certkey_proxy_mock)

        with patch.multiple(
                'ansible_collections.misc.not_a_real_collection.plugins.modules.netscaler_ssl_certkey',
                get_nitro_client=m,
                diff_list=Mock(return_value={}),
                get_immutables_intersection=Mock(return_value=[]),
                key_exists=Mock(side_effect=[False, False]),
                key_identical=Mock(side_effect=[False, False]),
                ConfigProxy=config_proxy_mock,
        ):
            self.module = netscaler_ssl_certkey
            self.exited()
            ssl_certkey_proxy_mock.assert_not_called()
    def test_servicegroup_monitor_bindings_sanity(self):
        self.set_module_state('present')
        from ansible_collections.misc.not_a_real_collection.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.misc.not_a_real_collection.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 test_update_servicegroup_when_service_members_differ(self):
        self.set_module_state('present')
        from ansible_collections.misc.not_a_real_collection.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.misc.not_a_real_collection.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')
Exemplo n.º 8
0
    def test_disabled_state_change_called(self):
        set_module_args(dict(
            nitro_user='******',
            nitro_pass='******',
            nsip='192.0.2.1',
            state='present',
        ))

        from ansible_collections.misc.not_a_real_collection.plugins.modules import netscaler_lb_vserver

        lb_vserver_proxy_mock = Mock()

        do_state_change_mock = Mock(return_value=Mock(errorcode=0))
        client_mock = Mock()
        with patch.multiple(
            'ansible_collections.misc.not_a_real_collection.plugins.modules.netscaler_lb_vserver',
            get_nitro_client=Mock(return_value=client_mock),
            ConfigProxy=Mock(return_value=lb_vserver_proxy_mock),
            ensure_feature_is_enabled=Mock(return_value=True),
            lb_vserver_exists=Mock(side_effect=[True, True]),
            nitro_exception=self.MockException,
            do_state_change=do_state_change_mock,
        ):
            self.module = netscaler_lb_vserver
            self.exited()
            self.assertTrue(len(do_state_change_mock.mock_calls) > 0, msg='Did not call state change')
Exemplo n.º 9
0
    def test_save_config_not_called_on_state_absent(self):
        set_module_args(dict(
            nitro_user='******',
            nitro_pass='******',
            nsip='192.0.2.1',
            state='absent',
            save_config=False,
        ))
        from ansible_collections.misc.not_a_real_collection.plugins.modules import netscaler_lb_vserver

        client_mock = Mock()

        m = Mock(return_value=client_mock)

        lb_vserver_proxy_mock = Mock()

        with patch.multiple(
            'ansible_collections.misc.not_a_real_collection.plugins.modules.netscaler_lb_vserver',
            get_nitro_client=m,
            lb_vserver_exists=Mock(side_effect=[True, False]),
            ConfigProxy=Mock(return_value=lb_vserver_proxy_mock),
            ensure_feature_is_enabled=Mock(return_value=True),
            do_state_change=Mock(return_value=Mock(errorcode=0)),
        ):
            self.module = netscaler_lb_vserver
            self.exited()
            self.assertNotIn(call.save_config(), client_mock.mock_calls)
Exemplo n.º 10
0
    def test_new_server_execution_flow(self):
        set_module_args(
            dict(
                nitro_user='******',
                nitro_pass='******',
                nsip='192.0.2.1',
                state='present',
            ))
        from ansible_collections.misc.not_a_real_collection.plugins.modules import netscaler_server

        client_mock = Mock()

        m = Mock(return_value=client_mock)

        server_proxy_attrs = {
            'diff_object.return_value': {},
        }
        server_proxy_mock = Mock()
        server_proxy_mock.configure_mock(**server_proxy_attrs)
        config_proxy_mock = Mock(return_value=server_proxy_mock)

        with patch.multiple(
                'ansible_collections.misc.not_a_real_collection.plugins.modules.netscaler_server',
                get_nitro_client=m,
                server_exists=Mock(side_effect=[False, True]),
                server_identical=Mock(side_effect=[True]),
                ConfigProxy=config_proxy_mock,
                do_state_change=Mock(return_value=Mock(errorcode=0))):
            self.module = netscaler_server
            self.exited()
            server_proxy_mock.assert_has_calls([call.add()])
Exemplo n.º 11
0
    def test_do_state_change_fail(self):
        set_module_args(
            dict(
                nitro_user='******',
                nitro_pass='******',
                nsip='192.0.2.1',
                state='present',
            ))
        from ansible_collections.misc.not_a_real_collection.plugins.modules import netscaler_server

        client_mock = Mock()

        m = Mock(return_value=client_mock)

        server_proxy_mock = Mock()

        with patch.multiple(
                'ansible_collections.misc.not_a_real_collection.plugins.modules.netscaler_server',
                nitro_exception=self.MockException,
                get_nitro_client=m,
                server_exists=Mock(side_effect=[True, False]),
                ConfigProxy=Mock(return_value=server_proxy_mock),
                diff_list=Mock(return_value={}),
                do_state_change=Mock(return_value=Mock(
                    errorcode=1, message='Failed on purpose'))):
            self.module = netscaler_server
            result = self.failed()
            self.assertEqual(
                result['msg'],
                'Error when setting disabled state. errorcode: 1 message: Failed on purpose'
            )
Exemplo n.º 12
0
    def test_save_config_called_on_state_present(self):
        set_module_args(
            dict(
                nitro_user='******',
                nitro_pass='******',
                nsip='192.0.2.1',
                state='present',
            ))
        from ansible_collections.misc.not_a_real_collection.plugins.modules import netscaler_server

        client_mock = Mock()

        m = Mock(return_value=client_mock)

        server_proxy_mock = Mock()

        with patch.multiple(
                'ansible_collections.misc.not_a_real_collection.plugins.modules.netscaler_server',
                get_nitro_client=m,
                server_exists=Mock(side_effect=[False, True]),
                ConfigProxy=Mock(return_value=server_proxy_mock),
                diff_list=Mock(return_value={}),
                do_state_change=Mock(return_value=Mock(errorcode=0))):
            self.module = netscaler_server
            self.exited()
            self.assertIn(call.save_config(), client_mock.mock_calls)
Exemplo n.º 13
0
 def test_none_values_not_copied_to_actual(self):
     actual = Mock()
     client = Mock()
     actual.key_for_none = 'initial'
     print('actual %s' % actual.key_for_none)
     values = {
         'key_for_none': None,
     }
     print('value %s' % actual.key_for_none)
     ConfigProxy(actual=actual,
                 client=client,
                 attribute_values_dict=values,
                 readwrite_attrs=['key_for_none'])
     self.assertEqual(actual.key_for_none, 'initial')
    def test_ensure_feature_is_enabled_called(self):
        set_module_args(
            dict(
                nitro_user='******',
                nitro_pass='******',
                nsip='192.0.2.1',
                state='present',
                save_config=False,
            ))
        from ansible_collections.misc.not_a_real_collection.plugins.modules import netscaler_lb_monitor

        client_mock = Mock()

        lb_monitor_proxy_mock = Mock(diff_object=Mock(return_value={}))
        feature_mock = Mock()

        with patch.multiple(
                'ansible_collections.misc.not_a_real_collection.plugins.modules.netscaler_lb_monitor',
                get_nitro_client=Mock(return_value=client_mock),
                lbmonitor_exists=Mock(side_effect=[True, True]),
                lbmonitor_identical=Mock(side_effect=[True, True]),
                ConfigProxy=Mock(return_value=lb_monitor_proxy_mock),
                ensure_feature_is_enabled=feature_mock,
        ):
            self.module = netscaler_lb_monitor
            self.exited()
            feature_mock.assert_called_with(client_mock, 'LB')
    def test_create_new_lb_monitor_workflow(self):
        set_module_args(
            dict(
                nitro_user='******',
                nitro_pass='******',
                nsip='192.0.2.1',
                state='present',
                save_config=False,
            ))
        from ansible_collections.misc.not_a_real_collection.plugins.modules import netscaler_lb_monitor

        lb_monitor_proxy_mock = Mock(diff_object=Mock(return_value={}))

        with patch.multiple(
                'ansible_collections.misc.not_a_real_collection.plugins.modules.netscaler_lb_monitor',
                get_nitro_client=Mock(return_value=Mock()),
                lbmonitor_exists=Mock(side_effect=[False, True]),
                lbmonitor_identical=Mock(side_effect=[True]),
                ConfigProxy=Mock(return_value=lb_monitor_proxy_mock),
                ensure_feature_is_enabled=Mock(return_value=True),
        ):
            self.module = netscaler_lb_monitor
            result = self.exited()
            lb_monitor_proxy_mock.assert_has_calls([call.add()])
            self.assertTrue(result['changed'])
    def test_new_gslb_site_execution_flow(self):
        set_module_args(dict(
            nitro_user='******',
            nitro_pass='******',
            nsip='192.0.2.1',
            state='present',
        ))
        from ansible_collections.misc.not_a_real_collection.plugins.modules import netscaler_gslb_service

        client_mock = Mock()

        m = Mock(return_value=client_mock)

        glsb_service_proxy_attrs = {
            'diff_object.return_value': {},
        }
        gslb_service_proxy_mock = Mock()
        gslb_service_proxy_mock.configure_mock(**glsb_service_proxy_attrs)
        config_proxy_mock = Mock(return_value=gslb_service_proxy_mock)

        with patch.multiple(
            'ansible_collections.misc.not_a_real_collection.plugins.modules.netscaler_gslb_service',
            get_nitro_client=m,
            gslb_service_exists=Mock(side_effect=[False, True]),
            gslb_service_identical=Mock(side_effect=[True]),
            nitro_exception=self.MockException,
            ensure_feature_is_enabled=Mock(),
            monkey_patch_nitro_api=Mock(),
            ConfigProxy=config_proxy_mock,
        ):
            self.module = netscaler_gslb_service
            self.exited()
            gslb_service_proxy_mock.assert_has_calls([call.add()])
    def test_save_config_not_called_on_state_present(self):
        set_module_args(dict(
            nitro_user='******',
            nitro_pass='******',
            nsip='192.0.2.1',
            state='present',
            save_config=False,
        ))
        from ansible_collections.misc.not_a_real_collection.plugins.modules import netscaler_gslb_service

        client_mock = Mock()

        m = Mock(return_value=client_mock)

        gslb_service_proxy_mock = Mock()

        with patch.multiple(
            'ansible_collections.misc.not_a_real_collection.plugins.modules.netscaler_gslb_service',
            get_nitro_client=m,
            gslb_service_exists=Mock(side_effect=[False, True]),
            gslb_service_identical=Mock(side_effect=[True]),
            nitro_exception=self.MockException,
            ensure_feature_is_enabled=Mock(),
            monkey_patch_nitro_api=Mock(),
            ConfigProxy=Mock(return_value=gslb_service_proxy_mock),
        ):
            self.module = netscaler_gslb_service
            self.exited()
            self.assertNotIn(call.save_config(), client_mock.mock_calls)
    def test_lb_monitor_exists_sanity_check(self):
        set_module_args(
            dict(
                nitro_user='******',
                nitro_pass='******',
                nsip='192.0.2.1',
                state='present',
            ))
        from ansible_collections.misc.not_a_real_collection.plugins.modules import netscaler_lb_monitor

        lb_monitor_proxy_mock = Mock(diff_object=Mock(return_value={}))

        client_mock = Mock()

        with patch.multiple(
                'ansible_collections.misc.not_a_real_collection.plugins.modules.netscaler_lb_monitor',
                get_nitro_client=Mock(return_value=client_mock),
                lbmonitor_exists=Mock(side_effect=[False, False]),
                lbmonitor_identical=Mock(side_effect=[False, True]),
                ConfigProxy=Mock(return_value=lb_monitor_proxy_mock),
                ensure_feature_is_enabled=Mock(return_value=True),
                nitro_exception=self.MockException,
        ):
            self.module = netscaler_lb_monitor
            result = self.failed()
            self.assertEqual(result['msg'], 'lb monitor does not exist')
Exemplo n.º 19
0
 def get_ndmp_mock_object(self, kind=None):
     """
     Helper method to return an na_ontap_ndmp object
     :param kind: passes this param to MockONTAPConnection()
     :return: na_ontap_ndmp object
     """
     obj = ndmp_module()
     obj.asup_log_for_cserver = Mock(return_value=None)
     obj.server = Mock()
     obj.server.invoke_successfully = Mock()
     if kind is None:
         obj.server = MockONTAPConnection()
     else:
         obj.server = MockONTAPConnection(kind=kind, data=self.mock_ndmp)
     return obj
Exemplo n.º 20
0
 def test_mas_login_headers(self):
     args = copy.deepcopy(module_arguments)
     args.update(dict(
         nitro_user='******',
         nitro_pass='******',
         operation='mas_login',
     ))
     mock_module_instance = Mock(params=args)
     expected_headers = {
         'Content-Type': 'application/json',
     }
     module_mock = Mock(return_value=mock_module_instance)
     with patch('ansible_collections.misc.not_a_real_collection.plugins.modules.netscaler_nitro_request.AnsibleModule', module_mock):
         instance = netscaler_nitro_request.NitroAPICaller()
         self.assertDictEqual(instance._headers, expected_headers)
 def get_kerberos_realm_mock_object(kind=None):
     """
     Helper method to return an na_ontap_volume object
     :param kind: passes this param to MockONTAPConnection()
     :return: na_ontap_volume object
     """
     krbrealm_obj = my_module()
     krbrealm_obj.asup_log_for_cserver = Mock(return_value=None)
     krbrealm_obj.cluster = Mock()
     krbrealm_obj.cluster.invoke_successfully = Mock()
     if kind is None:
         krbrealm_obj.server = MockONTAPConnection()
     else:
         krbrealm_obj.server = MockONTAPConnection(kind=kind)
     return krbrealm_obj
 def test_elementsw_svip_exists(self):
     ''' svip_exists '''
     data = self.set_default_args()
     set_module_args(data)
     my_obj = my_module()
     my_obj.asup_log_for_cserver = Mock(return_value=None)
     mock_helper = Mock()
     mock_helper.get_cluster_info.return_value.cluster_info.svip = '10.10.10.10'
     if not self.onbox:
         my_obj.server = MockONTAPConnection('snapmirror',
                                             status='idle',
                                             parm='snapmirrored')
     res = my_obj.validate_elementsw_svip('10.10.10.10:/lun/1000',
                                          mock_helper)
     assert res is None
 def get_policy_group_mock_object(self, kind=None):
     """
     Helper method to return an na_ontap_volume object
     :param kind: passes this param to MockONTAPConnection()
     :return: na_ontap_volume object
     """
     policy_obj = qos_policy_group_module()
     policy_obj.asup_log_for_cserver = Mock(return_value=None)
     policy_obj.cluster = Mock()
     policy_obj.cluster.invoke_successfully = Mock()
     if kind is None:
         policy_obj.server = MockONTAPConnection()
     else:
         policy_obj.server = MockONTAPConnection(kind=kind, data=self.mock_policy_group)
     return policy_obj
 def get_role_mock_object(self, kind=None):
     """
     Helper method to return an na_ontap_user_role object
     :param kind: passes this param to MockONTAPConnection()
     :return: na_ontap_user_role object
     """
     role_obj = role_module()
     role_obj.asup_log_for_cserver = Mock(return_value=None)
     role_obj.cluster = Mock()
     role_obj.cluster.invoke_successfully = Mock()
     if kind is None:
         role_obj.server = MockONTAPConnection()
     else:
         role_obj.server = MockONTAPConnection(kind=kind,
                                               data=self.mock_role)
     return role_obj
Exemplo n.º 25
0
    def setUpClass(cls):
        class MockException(Exception):
            pass

        cls.MockException = MockException

        m = MagicMock()
        cls.cs_vserver_mock = MagicMock()
        cls.cs_vserver_mock.__class__ = MagicMock(add=Mock())
        nssrc_modules_mock = {
            'nssrc.com.citrix.netscaler.nitro.resource.config.cs':
            m,
            'nssrc.com.citrix.netscaler.nitro.resource.config.cs.csvserver':
            m,
            'nssrc.com.citrix.netscaler.nitro.resource.config.cs.csvserver.csvserver':
            m,
            'nssrc.com.citrix.netscaler.nitro.resource.config.cs.csvserver_cspolicy_binding':
            m,
            'nssrc.com.citrix.netscaler.nitro.resource.config.cs.csvserver_cspolicy_binding.csvserver_cspolicy_binding':
            m,
            'nssrc.com.citrix.netscaler.nitro.resource.config.cs.csvserver_lbvserver_binding':
            m,
            'nssrc.com.citrix.netscaler.nitro.resource.config.cs.csvserver_lbvserver_binding.csvserver_lbvserver_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
Exemplo n.º 26
0
    def test_handle_get_return_object(self):
        resource = 'lbvserver'
        args = copy.deepcopy(module_arguments)
        args.update(dict(
            nitro_user='******',
            nitro_pass='******',
            resource=resource,
        ))
        resource_data = {
            'property1': 'value1',
            'property2': 'value2',
        }
        module_mock = Mock(params=args, from_json=json.loads)
        with patch('ansible_collections.misc.not_a_real_collection.plugins.modules.netscaler_nitro_request.AnsibleModule', Mock(return_value=module_mock)):
            instance = netscaler_nitro_request.NitroAPICaller()

            data = {resource: resource_data}
            result = {
                'nitro_errorcode': 0,
                'http_response_body': json.dumps(data),
            }
            expected_result = {
                'nitro_object': resource_data
            }
            expected_result.update(result)
            instance.handle_get_return_object(result)
            self.assertDictEqual(result, expected_result)
Exemplo n.º 27
0
    def test_edit_response_data_body_in_info(self):
        args = copy.deepcopy(module_arguments)
        args.update(dict(
            nitro_user='******',
            nitro_pass='******',
        ))
        module_mock = Mock(params=args, from_json=json.loads)
        with patch('ansible_collections.misc.not_a_real_collection.plugins.modules.netscaler_nitro_request.AnsibleModule', Mock(return_value=module_mock)):
            body = {
                'errorcode': 258,
                'message': 'Numerical error 258',
                'severity': 'ERROR'
            }
            instance = netscaler_nitro_request.NitroAPICaller()
            r = None
            info = {
                'status': 200,
                'body': codecs.encode(json.dumps(body), 'utf-8'),
            }
            result = {}
            success_status = 200

            expected_result = {
                'http_response_body': json.dumps(body),
                'http_response_data': info,
            }

            nitro_data = {}
            for key, value in body.items():
                nitro_data['nitro_%s' % key] = value

            expected_result.update(nitro_data)
            instance.edit_response_data(r, info, result, success_status)
            self.assertDictEqual(result, expected_result)
Exemplo n.º 28
0
    def test_edit_response_data_actual_body_data_irrelevant(self):
        args = copy.deepcopy(module_arguments)
        args.update(dict(
            nitro_user='******',
            nitro_pass='******',
            nitro_auth_token='##DDASKLFDJ',
        ))
        module_mock = Mock(params=args, from_json=json.loads)
        with patch('ansible_collections.misc.not_a_real_collection.plugins.modules.netscaler_nitro_request.AnsibleModule', Mock(return_value=module_mock)):
            with tempfile.TemporaryFile() as r:
                actual_body = {}
                r.write(codecs.encode(json.dumps(actual_body), 'utf-8'))
                r.seek(0)

                instance = netscaler_nitro_request.NitroAPICaller()
                info = {
                    'status': 200,
                }
                result = {}
                success_status = 200

                expected_result = {
                    'http_response_body': json.dumps(actual_body),
                    'http_response_data': info,
                    'nitro_errorcode': 0,
                    'nitro_message': 'Success',
                    'nitro_severity': 'NONE',
                }

                instance.edit_response_data(r, info, result, success_status)
                self.assertDictEqual(result, expected_result)
 def test_set_elem_connection_destination(self, create_sf_connection):
     ''' test set_elem_connection for destination'''
     data = self.set_default_args()
     data['source_hostname'] = 'test_source'
     set_module_args(data)
     my_obj = my_module()
     my_obj.asup_log_for_cserver = Mock(return_value=None)
     create_sf_connection.return_value = Mock()
     if not self.onbox:
         my_obj.server = MockONTAPConnection('snapmirror',
                                             status='idle',
                                             parm='snapmirrored')
     my_obj.set_element_connection('destination')
     assert my_obj.module.params['hostname'] == data['hostname']
     assert my_obj.module.params['username'] == data['username']
     assert my_obj.module.params['password'] == data['password']
 def test_elementsw_svip_exists_negative(self):
     ''' svip_exists negative testing'''
     data = self.set_default_args()
     set_module_args(data)
     my_obj = my_module()
     my_obj.asup_log_for_cserver = Mock(return_value=None)
     mock_helper = Mock()
     mock_helper.get_cluster_info.return_value.cluster_info.svip = '10.10.10.10'
     if not self.onbox:
         my_obj.server = MockONTAPConnection('snapmirror',
                                             status='idle',
                                             parm='snapmirrored')
     with pytest.raises(AnsibleFailJson) as exc:
         my_obj.validate_elementsw_svip('10.10.10.11:/lun/1000',
                                        mock_helper)
     assert 'Error: Invalid SVIP' in exc.value.args[0]['msg']