mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-22 04:40:22 -07:00
Netscaler various fixes (#34800)
* Add default lb vserver option in netscaler_cs_vserver Add documentation for ssl_certkey option in netscaler_cs_vserver * Add options for gracefully disabling netscaler_server * Add "state" suboption for netscaler_servicegroup servicemembers Fix servicemember modification algorithm in netscaler_servicegroup Fix monitorbindings modification algorithm in netscaler_servicegroup
This commit is contained in:
parent
3df2561405
commit
b1a8f3b3d3
6 changed files with 245 additions and 33 deletions
|
@ -45,6 +45,8 @@ class TestNetscalerCSVserverModule(TestModule):
|
|||
'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,
|
||||
|
|
|
@ -177,6 +177,7 @@ class TestNetscalerServerModule(TestModule):
|
|||
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
|
||||
|
@ -203,6 +204,7 @@ class TestNetscalerServerModule(TestModule):
|
|||
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=0))
|
||||
):
|
||||
self.module = netscaler_server
|
||||
|
@ -230,6 +232,7 @@ class TestNetscalerServerModule(TestModule):
|
|||
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
|
||||
|
@ -284,12 +287,48 @@ class TestNetscalerServerModule(TestModule):
|
|||
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')
|
||||
|
||||
def test_disable_server_graceful(self):
|
||||
set_module_args(dict(
|
||||
nitro_user='user',
|
||||
nitro_pass='pass',
|
||||
nsip='1.1.1.1',
|
||||
state='present',
|
||||
disabled=True,
|
||||
graceful=True
|
||||
))
|
||||
from ansible.modules.network.netscaler import netscaler_server
|
||||
|
||||
client_mock = Mock()
|
||||
|
||||
m = Mock(return_value=client_mock)
|
||||
|
||||
server_proxy_mock = Mock()
|
||||
|
||||
d = {
|
||||
'graceful': True,
|
||||
'delay': 20,
|
||||
}
|
||||
with patch.multiple(
|
||||
'ansible.modules.network.netscaler.netscaler_server',
|
||||
nitro_exception=self.MockException,
|
||||
get_nitro_client=m,
|
||||
diff_list=Mock(return_value=d),
|
||||
get_immutables_intersection=Mock(return_value=[]),
|
||||
server_exists=Mock(side_effect=[True, True]),
|
||||
ConfigProxy=Mock(return_value=server_proxy_mock),
|
||||
do_state_change=Mock(return_value=Mock(errorcode=0))
|
||||
):
|
||||
self.module = netscaler_server
|
||||
result = self.exited()
|
||||
self.assertEqual(d, {}, 'Graceful disable options were not discarded from the diff_list with the actual object')
|
||||
|
||||
def test_new_server_execution_flow(self):
|
||||
set_module_args(dict(
|
||||
nitro_user='user',
|
||||
|
|
|
@ -161,12 +161,15 @@ class TestNetscalerServicegroupModule(TestModule):
|
|||
m = MagicMock(return_value=servicegroup_proxy_mock)
|
||||
servicegroup_exists_mock = Mock(side_effect=[False, True])
|
||||
|
||||
servicegroup_servicegroupmember_binding_mock = Mock(count=Mock(return_value=0))
|
||||
|
||||
with patch.multiple(
|
||||
'ansible.modules.network.netscaler.netscaler_servicegroup',
|
||||
ConfigProxy=m,
|
||||
servicegroup_exists=servicegroup_exists_mock,
|
||||
servicemembers_identical=Mock(side_effect=[False, True]),
|
||||
do_state_change=Mock(return_value=Mock(errorcode=0)),
|
||||
servicegroup_servicegroupmember_binding=servicegroup_servicegroupmember_binding_mock,
|
||||
nitro_exception=self.MockException,
|
||||
):
|
||||
self.module = netscaler_servicegroup
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue