mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-05 21:02:48 +00:00
Fixes coding conventions, adds a small feature (#39211)
Fixes some coding conventions and adds allowed_addresses to bigip_snmp_trap.
This commit is contained in:
@@ -21,10 +21,10 @@ from ansible.compat.tests.mock import patch
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
|
||||
try:
|
||||
from library.bigip_selfip import ApiParameters
|
||||
from library.bigip_selfip import ModuleParameters
|
||||
from library.bigip_selfip import ModuleManager
|
||||
from library.bigip_selfip import ArgumentSpec
|
||||
from library.modules.bigip_selfip import ApiParameters
|
||||
from library.modules.bigip_selfip import ModuleParameters
|
||||
from library.modules.bigip_selfip import ModuleManager
|
||||
from library.modules.bigip_selfip import ArgumentSpec
|
||||
from library.module_utils.network.f5.common import F5ModuleError
|
||||
from library.module_utils.network.f5.common import iControlUnexpectedHTTPError
|
||||
from test.unit.modules.utils import set_module_args
|
||||
|
||||
@@ -20,9 +20,9 @@ from ansible.compat.tests.mock import patch
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
|
||||
try:
|
||||
from library.bigip_snat_pool import Parameters
|
||||
from library.bigip_snat_pool import ModuleManager
|
||||
from library.bigip_snat_pool import ArgumentSpec
|
||||
from library.modules.bigip_snat_pool import Parameters
|
||||
from library.modules.bigip_snat_pool import ModuleManager
|
||||
from library.modules.bigip_snat_pool import ArgumentSpec
|
||||
from library.module_utils.network.f5.common import F5ModuleError
|
||||
from library.module_utils.network.f5.common import iControlUnexpectedHTTPError
|
||||
from test.unit.modules.utils import set_module_args
|
||||
|
||||
@@ -20,15 +20,17 @@ from ansible.compat.tests.mock import patch
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
|
||||
try:
|
||||
from library.bigip_snmp import Parameters
|
||||
from library.bigip_snmp import ModuleManager
|
||||
from library.bigip_snmp import ArgumentSpec
|
||||
from library.modules.bigip_snmp import ApiParameters
|
||||
from library.modules.bigip_snmp import ModuleParameters
|
||||
from library.modules.bigip_snmp import ModuleManager
|
||||
from library.modules.bigip_snmp import ArgumentSpec
|
||||
from library.module_utils.network.f5.common import F5ModuleError
|
||||
from library.module_utils.network.f5.common import iControlUnexpectedHTTPError
|
||||
from test.unit.modules.utils import set_module_args
|
||||
except ImportError:
|
||||
try:
|
||||
from ansible.modules.network.f5.bigip_snmp import Parameters
|
||||
from ansible.modules.network.f5.bigip_snmp import ApiParameters
|
||||
from ansible.modules.network.f5.bigip_snmp import ModuleParameters
|
||||
from ansible.modules.network.f5.bigip_snmp import ModuleManager
|
||||
from ansible.modules.network.f5.bigip_snmp import ArgumentSpec
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
@@ -71,7 +73,7 @@ class TestParameters(unittest.TestCase):
|
||||
server='localhost',
|
||||
user='admin'
|
||||
)
|
||||
p = Parameters(params=args)
|
||||
p = ModuleParameters(params=args)
|
||||
assert p.agent_status_traps == 'enabled'
|
||||
assert p.agent_authentication_traps == 'enabled'
|
||||
assert p.device_warning_traps == 'enabled'
|
||||
@@ -87,7 +89,7 @@ class TestParameters(unittest.TestCase):
|
||||
server='localhost',
|
||||
user='admin'
|
||||
)
|
||||
p = Parameters(params=args)
|
||||
p = ModuleParameters(params=args)
|
||||
assert p.agent_status_traps == 'disabled'
|
||||
assert p.agent_authentication_traps == 'disabled'
|
||||
assert p.device_warning_traps == 'disabled'
|
||||
@@ -100,7 +102,7 @@ class TestParameters(unittest.TestCase):
|
||||
sysLocation='Lunar orbit',
|
||||
sysContact='Alice@foo.org',
|
||||
)
|
||||
p = Parameters(params=args)
|
||||
p = ApiParameters(params=args)
|
||||
assert p.agent_status_traps == 'enabled'
|
||||
assert p.agent_authentication_traps == 'enabled'
|
||||
assert p.device_warning_traps == 'enabled'
|
||||
@@ -113,7 +115,7 @@ class TestParameters(unittest.TestCase):
|
||||
authTrap='disabled',
|
||||
bigipTraps='disabled',
|
||||
)
|
||||
p = Parameters(params=args)
|
||||
p = ApiParameters(params=args)
|
||||
assert p.agent_status_traps == 'disabled'
|
||||
assert p.agent_authentication_traps == 'disabled'
|
||||
assert p.device_warning_traps == 'disabled'
|
||||
@@ -134,7 +136,7 @@ class TestManager(unittest.TestCase):
|
||||
|
||||
# Configure the parameters that would be returned by querying the
|
||||
# remote device
|
||||
current = Parameters(
|
||||
current = ApiParameters(
|
||||
params=dict(
|
||||
agent_status_traps='disabled'
|
||||
)
|
||||
@@ -154,3 +156,108 @@ class TestManager(unittest.TestCase):
|
||||
|
||||
assert results['changed'] is True
|
||||
assert results['agent_status_traps'] == 'enabled'
|
||||
|
||||
def test_update_allowed_addresses(self, *args):
|
||||
set_module_args(dict(
|
||||
allowed_addresses=[
|
||||
'127.0.0.0/8',
|
||||
'10.10.10.10',
|
||||
'foo',
|
||||
'baz.foo.com'
|
||||
],
|
||||
password='passsword',
|
||||
server='localhost',
|
||||
user='admin'
|
||||
))
|
||||
|
||||
# Configure the parameters that would be returned by querying the
|
||||
# remote device
|
||||
current = ApiParameters(
|
||||
params=dict(
|
||||
allowed_addresses=['127.0.0.0/8']
|
||||
)
|
||||
)
|
||||
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
mm = ModuleManager(module=module)
|
||||
|
||||
# Override methods to force specific logic in the module to happen
|
||||
mm.update_on_device = Mock(return_value=True)
|
||||
mm.read_current_from_device = Mock(return_value=current)
|
||||
|
||||
results = mm.exec_module()
|
||||
|
||||
assert results['changed'] is True
|
||||
assert len(results['allowed_addresses']) == 4
|
||||
assert results['allowed_addresses'] == [
|
||||
'10.10.10.10', '127.0.0.0/8', 'baz.foo.com', 'foo'
|
||||
]
|
||||
|
||||
def test_update_allowed_addresses_default(self, *args):
|
||||
set_module_args(dict(
|
||||
allowed_addresses=[
|
||||
'default'
|
||||
],
|
||||
password='passsword',
|
||||
server='localhost',
|
||||
user='admin'
|
||||
))
|
||||
|
||||
# Configure the parameters that would be returned by querying the
|
||||
# remote device
|
||||
current = ApiParameters(
|
||||
params=dict(
|
||||
allowed_addresses=['10.0.0.0']
|
||||
)
|
||||
)
|
||||
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
mm = ModuleManager(module=module)
|
||||
|
||||
# Override methods to force specific logic in the module to happen
|
||||
mm.update_on_device = Mock(return_value=True)
|
||||
mm.read_current_from_device = Mock(return_value=current)
|
||||
|
||||
results = mm.exec_module()
|
||||
|
||||
assert results['changed'] is True
|
||||
assert len(results['allowed_addresses']) == 1
|
||||
assert results['allowed_addresses'] == ['127.0.0.0/8']
|
||||
|
||||
def test_update_allowed_addresses_empty(self, *args):
|
||||
set_module_args(dict(
|
||||
allowed_addresses=[''],
|
||||
password='passsword',
|
||||
server='localhost',
|
||||
user='admin'
|
||||
))
|
||||
|
||||
# Configure the parameters that would be returned by querying the
|
||||
# remote device
|
||||
current = ApiParameters(
|
||||
params=dict(
|
||||
allowed_addresses=['10.0.0.0']
|
||||
)
|
||||
)
|
||||
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
mm = ModuleManager(module=module)
|
||||
|
||||
# Override methods to force specific logic in the module to happen
|
||||
mm.update_on_device = Mock(return_value=True)
|
||||
mm.read_current_from_device = Mock(return_value=current)
|
||||
|
||||
results = mm.exec_module()
|
||||
|
||||
assert results['changed'] is True
|
||||
assert len(results['allowed_addresses']) == 1
|
||||
assert results['allowed_addresses'] == ['127.0.0.0/8']
|
||||
|
||||
@@ -21,22 +21,22 @@ from ansible.compat.tests.mock import DEFAULT
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
|
||||
try:
|
||||
from library.bigip_snmp_trap import NetworkedParameters
|
||||
from library.bigip_snmp_trap import NonNetworkedParameters
|
||||
from library.bigip_snmp_trap import ModuleManager
|
||||
from library.bigip_snmp_trap import NetworkedManager
|
||||
from library.bigip_snmp_trap import NonNetworkedManager
|
||||
from library.bigip_snmp_trap import ArgumentSpec
|
||||
from library.modules.bigip_snmp_trap import V2Parameters
|
||||
from library.modules.bigip_snmp_trap import V1Parameters
|
||||
from library.modules.bigip_snmp_trap import ModuleManager
|
||||
from library.modules.bigip_snmp_trap import V2Manager
|
||||
from library.modules.bigip_snmp_trap import V1Manager
|
||||
from library.modules.bigip_snmp_trap import ArgumentSpec
|
||||
from library.module_utils.network.f5.common import F5ModuleError
|
||||
from library.module_utils.network.f5.common import iControlUnexpectedHTTPError
|
||||
from test.unit.modules.utils import set_module_args
|
||||
except ImportError:
|
||||
try:
|
||||
from ansible.modules.network.f5.bigip_snmp_trap import NetworkedParameters
|
||||
from ansible.modules.network.f5.bigip_snmp_trap import NonNetworkedParameters
|
||||
from ansible.modules.network.f5.bigip_snmp_trap import V2Parameters
|
||||
from ansible.modules.network.f5.bigip_snmp_trap import V1Parameters
|
||||
from ansible.modules.network.f5.bigip_snmp_trap import ModuleManager
|
||||
from ansible.modules.network.f5.bigip_snmp_trap import NetworkedManager
|
||||
from ansible.modules.network.f5.bigip_snmp_trap import NonNetworkedManager
|
||||
from ansible.modules.network.f5.bigip_snmp_trap import V2Manager
|
||||
from ansible.modules.network.f5.bigip_snmp_trap import V1Manager
|
||||
from ansible.modules.network.f5.bigip_snmp_trap import ArgumentSpec
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
from ansible.module_utils.network.f5.common import iControlUnexpectedHTTPError
|
||||
@@ -79,7 +79,7 @@ class TestParameters(unittest.TestCase):
|
||||
server='localhost',
|
||||
user='admin'
|
||||
)
|
||||
p = NetworkedParameters(params=args)
|
||||
p = V2Parameters(params=args)
|
||||
assert p.name == 'foo'
|
||||
assert p.snmp_version == '1'
|
||||
assert p.community == 'public'
|
||||
@@ -99,7 +99,7 @@ class TestParameters(unittest.TestCase):
|
||||
server='localhost',
|
||||
user='admin'
|
||||
)
|
||||
p = NonNetworkedParameters(params=args)
|
||||
p = V1Parameters(params=args)
|
||||
assert p.name == 'foo'
|
||||
assert p.snmp_version == '1'
|
||||
assert p.community == 'public'
|
||||
@@ -116,7 +116,7 @@ class TestParameters(unittest.TestCase):
|
||||
version=1,
|
||||
port=1000
|
||||
)
|
||||
p = NetworkedParameters(params=args)
|
||||
p = V2Parameters(params=args)
|
||||
assert p.name == 'foo'
|
||||
assert p.snmp_version == '1'
|
||||
assert p.community == 'public'
|
||||
@@ -149,17 +149,18 @@ class TestManager(unittest.TestCase):
|
||||
)
|
||||
|
||||
# Override methods to force specific logic in the module to happen
|
||||
mm = ModuleManager(module=module)
|
||||
mm.is_version_non_networked = Mock(return_value=False)
|
||||
m0 = ModuleManager(module=module)
|
||||
m0.is_version_without_network = Mock(return_value=False)
|
||||
m0.is_version_with_default_network = Mock(return_value=True)
|
||||
|
||||
patches = dict(
|
||||
create_on_device=DEFAULT,
|
||||
exists=DEFAULT
|
||||
)
|
||||
with patch.multiple(NetworkedManager, **patches) as mo:
|
||||
with patch.multiple(V2Manager, **patches) as mo:
|
||||
mo['create_on_device'].side_effect = Mock(return_value=True)
|
||||
mo['exists'].side_effect = Mock(return_value=False)
|
||||
results = mm.exec_module()
|
||||
results = m0.exec_module()
|
||||
|
||||
assert results['changed'] is True
|
||||
assert results['port'] == 1000
|
||||
@@ -183,17 +184,17 @@ class TestManager(unittest.TestCase):
|
||||
)
|
||||
|
||||
# Override methods to force specific logic in the module to happen
|
||||
mm = ModuleManager(module=module)
|
||||
mm.is_version_non_networked = Mock(return_value=True)
|
||||
m0 = ModuleManager(module=module)
|
||||
m0.is_version_without_network = Mock(return_value=True)
|
||||
|
||||
patches = dict(
|
||||
create_on_device=DEFAULT,
|
||||
exists=DEFAULT
|
||||
)
|
||||
with patch.multiple(NonNetworkedManager, **patches) as mo:
|
||||
with patch.multiple(V1Manager, **patches) as mo:
|
||||
mo['create_on_device'].side_effect = Mock(return_value=True)
|
||||
mo['exists'].side_effect = Mock(return_value=False)
|
||||
results = mm.exec_module()
|
||||
results = m0.exec_module()
|
||||
|
||||
assert results['changed'] is True
|
||||
assert results['port'] == 1000
|
||||
|
||||
Reference in New Issue
Block a user