mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-22 04:40:22 -07:00
Adds refactors for more f5 modules (#34824)
The main patch is to remove the traceback generating code. There are other small fixes that were made in addition to doing that. * Removed re-def of cleanup_tokens. * Changed parameter args to be keywords. * Changed imports to include new module_util locations. * Imports also include developing (sideband) module_util locations. * Changed to using F5Client and plain AnsibleModule to prevent tracebacks caused by missing libraries. * Removed init and update methods from most Parameter classes (optimization) as its now included in module_utils. * Changed module and module param references to take into account the new self.module arg. * Minor bug fixes made during this refactor.
This commit is contained in:
parent
0e4e7de000
commit
a10aee0fc3
28 changed files with 1327 additions and 1593 deletions
|
@ -0,0 +1,42 @@
|
|||
{
|
||||
"kind": "tm:sys:file:ssl-cert:ssl-certstate",
|
||||
"name": "ocsp.example.com.crt",
|
||||
"partition": "Common",
|
||||
"fullPath": "/Common/ocsp.example.com.crt",
|
||||
"generation": 548,
|
||||
"selfLink": "https://localhost/mgmt/tm/sys/file/ssl-cert/~Common~ocsp.example.com.crt?ver=13.0.0",
|
||||
"certValidationOptions": [
|
||||
"ocsp"
|
||||
],
|
||||
"certificateKeyCurveName": "none",
|
||||
"certificateKeySize": 4096,
|
||||
"checksum": "SHA1:2113:b84ae5ed7e236b35206b2ff61289df9547d5afa3",
|
||||
"createTime": "2017-10-25T20:56:09Z",
|
||||
"createdBy": "admin",
|
||||
"expirationDate": 1545199767,
|
||||
"expirationString": "Dec 19 06:09:27 2018 GMT",
|
||||
"isBundle": "false",
|
||||
"issuer": "CN=Alice Ltd Intermediate CA,OU=Alice Ltd Certificate Authority,O=Alice Ltd,ST=England,C=GB",
|
||||
"issuerCert": "/Common/intermediate.crt",
|
||||
"issuerCertReference": {
|
||||
"link": "https://localhost/mgmt/tm/sys/file/ssl-cert/~Common~intermediate.crt?ver=13.0.0"
|
||||
},
|
||||
"keyType": "rsa-public",
|
||||
"lastUpdateTime": "2017-10-25T20:56:09Z",
|
||||
"mode": 33188,
|
||||
"revision": 1,
|
||||
"serialNumber": "4096",
|
||||
"size": 2113,
|
||||
"sourcePath": "file:///var/config/rest/downloads/ocsp.example.com.crt",
|
||||
"subject": "CN=ocsp.example.com,OU=Alice Ltd Certificate Authority,O=Alice Ltd,ST=England,C=GB",
|
||||
"updatedBy": "admin",
|
||||
"version": 3,
|
||||
"bundleCertificatesReference": {
|
||||
"link": "https://localhost/mgmt/tm/sys/file/ssl-cert/~Common~ocsp.example.com.crt/bundle-certificates?ver=13.0.0",
|
||||
"isSubcollection": true
|
||||
},
|
||||
"certValidatorsReference": {
|
||||
"link": "https://localhost/mgmt/tm/sys/file/ssl-cert/~Common~ocsp.example.com.crt/cert-validators?ver=13.0.0",
|
||||
"isSubcollection": true
|
||||
}
|
||||
}
|
|
@ -18,15 +18,15 @@ if sys.version_info < (2, 7):
|
|||
from ansible.compat.tests import unittest
|
||||
from ansible.compat.tests.mock import Mock
|
||||
from ansible.compat.tests.mock import patch
|
||||
from ansible.module_utils.f5_utils import AnsibleF5Client
|
||||
from ansible.module_utils.f5_utils import F5ModuleError
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
|
||||
try:
|
||||
from library.bigip_pool import ApiParameters
|
||||
from library.bigip_pool import ModuleParameters
|
||||
from library.bigip_pool import ModuleManager
|
||||
from library.bigip_pool import ArgumentSpec
|
||||
from ansible.module_utils.f5_utils import iControlUnexpectedHTTPError
|
||||
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:
|
||||
|
@ -34,7 +34,8 @@ except ImportError:
|
|||
from ansible.modules.network.f5.bigip_pool import ModuleParameters
|
||||
from ansible.modules.network.f5.bigip_pool import ModuleManager
|
||||
from ansible.modules.network.f5.bigip_pool import ArgumentSpec
|
||||
from ansible.module_utils.f5_utils import iControlUnexpectedHTTPError
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
from ansible.module_utils.network.f5.common import iControlUnexpectedHTTPError
|
||||
from units.modules.utils import set_module_args
|
||||
except ImportError:
|
||||
raise SkipTest("F5 Ansible modules require the f5-sdk Python library")
|
||||
|
@ -72,7 +73,7 @@ class TestParameters(unittest.TestCase):
|
|||
service_down_action='drop'
|
||||
)
|
||||
|
||||
p = ModuleParameters(args)
|
||||
p = ModuleParameters(params=args)
|
||||
assert p.monitor_type == 'm_of_n'
|
||||
assert p.quorum == 1
|
||||
assert p.monitors == 'min 1 of { /Common/Fake /Common/Fake2 }'
|
||||
|
@ -88,7 +89,7 @@ class TestParameters(unittest.TestCase):
|
|||
serviceDownAction='drop'
|
||||
)
|
||||
|
||||
p = ApiParameters(args)
|
||||
p = ApiParameters(params=args)
|
||||
assert p.monitors == '/Common/Fake and /Common/Fake2'
|
||||
assert p.slow_ramp_time == 200
|
||||
assert p.reselect_tries == 5
|
||||
|
@ -99,7 +100,7 @@ class TestParameters(unittest.TestCase):
|
|||
lb_method='obscure_hyphenated_fake_method',
|
||||
)
|
||||
with pytest.raises(F5ModuleError):
|
||||
p = ModuleParameters(args)
|
||||
p = ModuleParameters(params=args)
|
||||
assert p.lb_method == 'foo'
|
||||
|
||||
def test_unknown_api_lb_method(self):
|
||||
|
@ -107,12 +108,10 @@ class TestParameters(unittest.TestCase):
|
|||
loadBalancingMode='obscure_hypenated_fake_method'
|
||||
)
|
||||
with pytest.raises(F5ModuleError):
|
||||
p = ApiParameters(args)
|
||||
p = ApiParameters(params=args)
|
||||
assert p.lb_method == 'foo'
|
||||
|
||||
|
||||
@patch('ansible.module_utils.f5_utils.AnsibleF5Client._get_mgmt_root',
|
||||
return_value=True)
|
||||
class TestManager(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
|
@ -132,13 +131,12 @@ class TestManager(unittest.TestCase):
|
|||
user='admin'
|
||||
))
|
||||
|
||||
client = AnsibleF5Client(
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
|
||||
mm = ModuleManager(client)
|
||||
mm = ModuleManager(module=module)
|
||||
mm.create_on_device = Mock(return_value=True)
|
||||
mm.exists = Mock(return_value=False)
|
||||
|
||||
|
@ -163,13 +161,12 @@ class TestManager(unittest.TestCase):
|
|||
user='admin'
|
||||
))
|
||||
|
||||
client = AnsibleF5Client(
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
|
||||
mm = ModuleManager(client)
|
||||
mm = ModuleManager(module=module)
|
||||
mm.create_on_device = Mock(return_value=True)
|
||||
mm.exists = Mock(return_value=False)
|
||||
|
||||
|
@ -191,13 +188,12 @@ class TestManager(unittest.TestCase):
|
|||
user='admin'
|
||||
))
|
||||
|
||||
client = AnsibleF5Client(
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
|
||||
mm = ModuleManager(client)
|
||||
mm = ModuleManager(module=module)
|
||||
mm.create_on_device = Mock(return_value=True)
|
||||
mm.exists = Mock(return_value=False)
|
||||
|
||||
|
@ -220,13 +216,12 @@ class TestManager(unittest.TestCase):
|
|||
user='admin'
|
||||
))
|
||||
|
||||
client = AnsibleF5Client(
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
|
||||
mm = ModuleManager(client)
|
||||
mm = ModuleManager(module=module)
|
||||
mm.create_on_device = Mock(return_value=True)
|
||||
mm.exists = Mock(return_value=False)
|
||||
|
||||
|
@ -247,13 +242,12 @@ class TestManager(unittest.TestCase):
|
|||
user='admin'
|
||||
))
|
||||
|
||||
client = AnsibleF5Client(
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
|
||||
mm = ModuleManager(client)
|
||||
mm = ModuleManager(module=module)
|
||||
mm.create_on_device = Mock(return_value=True)
|
||||
mm.exists = Mock(return_value=False)
|
||||
|
||||
|
@ -276,13 +270,12 @@ class TestManager(unittest.TestCase):
|
|||
user='admin'
|
||||
))
|
||||
|
||||
client = AnsibleF5Client(
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
|
||||
mm = ModuleManager(client)
|
||||
mm = ModuleManager(module=module)
|
||||
mm.create_on_device = Mock(return_value=True)
|
||||
mm.exists = Mock(return_value=False)
|
||||
|
||||
|
@ -304,14 +297,13 @@ class TestManager(unittest.TestCase):
|
|||
user='admin'
|
||||
))
|
||||
|
||||
client = AnsibleF5Client(
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
mm = ModuleManager(client)
|
||||
mm = ModuleManager(module=module)
|
||||
|
||||
current = ApiParameters(load_fixture('load_ltm_pool.json'))
|
||||
current = ApiParameters(params=load_fixture('load_ltm_pool.json'))
|
||||
|
||||
mm.update_on_device = Mock(return_value=True)
|
||||
mm.exists = Mock(return_value=True)
|
||||
|
@ -332,13 +324,12 @@ class TestManager(unittest.TestCase):
|
|||
user='admin'
|
||||
))
|
||||
|
||||
client = AnsibleF5Client(
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
|
||||
mm = ModuleManager(client)
|
||||
mm = ModuleManager(module=module)
|
||||
mm.create_on_device = Mock(return_value=True)
|
||||
mm.exists = Mock(return_value=False)
|
||||
|
||||
|
@ -360,13 +351,12 @@ class TestManager(unittest.TestCase):
|
|||
user='admin'
|
||||
))
|
||||
|
||||
client = AnsibleF5Client(
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
|
||||
mm = ModuleManager(client)
|
||||
mm = ModuleManager(module=module)
|
||||
mm.create_on_device = Mock(return_value=True)
|
||||
mm.exists = Mock(return_value=False)
|
||||
|
||||
|
@ -388,13 +378,12 @@ class TestManager(unittest.TestCase):
|
|||
user='admin'
|
||||
))
|
||||
|
||||
client = AnsibleF5Client(
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
|
||||
mm = ModuleManager(client)
|
||||
mm = ModuleManager(module=module)
|
||||
mm.create_on_device = Mock(return_value=True)
|
||||
mm.exists = Mock(return_value=False)
|
||||
|
||||
|
@ -417,13 +406,12 @@ class TestManager(unittest.TestCase):
|
|||
user='admin'
|
||||
))
|
||||
|
||||
client = AnsibleF5Client(
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
|
||||
mm = ModuleManager(client)
|
||||
mm = ModuleManager(module=module)
|
||||
mm.create_on_device = Mock(return_value=True)
|
||||
mm.exists = Mock(return_value=False)
|
||||
|
||||
|
@ -443,13 +431,12 @@ class TestManager(unittest.TestCase):
|
|||
user='admin'
|
||||
))
|
||||
|
||||
client = AnsibleF5Client(
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
|
||||
mm = ModuleManager(client)
|
||||
mm = ModuleManager(module=module)
|
||||
mm.create_on_device = Mock(return_value=True)
|
||||
mm.exists = Mock(return_value=False)
|
||||
|
||||
|
|
|
@ -18,14 +18,15 @@ if sys.version_info < (2, 7):
|
|||
from ansible.compat.tests import unittest
|
||||
from ansible.compat.tests.mock import Mock
|
||||
from ansible.compat.tests.mock import patch
|
||||
from ansible.module_utils.f5_utils import AnsibleF5Client
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
|
||||
try:
|
||||
from library.bigip_profile_client_ssl import ModuleParameters
|
||||
from library.bigip_profile_client_ssl import ApiParameters
|
||||
from library.bigip_profile_client_ssl import ModuleManager
|
||||
from library.bigip_profile_client_ssl import ArgumentSpec
|
||||
from ansible.module_utils.f5_utils import iControlUnexpectedHTTPError
|
||||
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:
|
||||
|
@ -33,7 +34,8 @@ except ImportError:
|
|||
from ansible.modules.network.f5.bigip_profile_client_ssl import ApiParameters
|
||||
from ansible.modules.network.f5.bigip_profile_client_ssl import ModuleManager
|
||||
from ansible.modules.network.f5.bigip_profile_client_ssl import ArgumentSpec
|
||||
from ansible.module_utils.f5_utils import iControlUnexpectedHTTPError
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
from ansible.module_utils.network.f5.common import iControlUnexpectedHTTPError
|
||||
from units.modules.utils import set_module_args
|
||||
except ImportError:
|
||||
raise SkipTest("F5 Ansible modules require the f5-sdk Python library")
|
||||
|
@ -75,20 +77,18 @@ class TestParameters(unittest.TestCase):
|
|||
]
|
||||
)
|
||||
|
||||
p = ModuleParameters(args)
|
||||
p = ModuleParameters(params=args)
|
||||
assert p.name == 'foo'
|
||||
assert p.parent == '/Common/bar'
|
||||
assert p.ciphers == '!SSLv3:!SSLv2:ECDHE+AES-GCM+SHA256:ECDHE-RSA-AES128-CBC-SHA'
|
||||
|
||||
def test_api_parameters(self):
|
||||
args = load_fixture('load_ltm_profile_clientssl.json')
|
||||
p = ApiParameters(args)
|
||||
p = ApiParameters(params=args)
|
||||
assert p.name == 'foo'
|
||||
assert p.ciphers == 'DEFAULT'
|
||||
|
||||
|
||||
@patch('ansible.module_utils.f5_utils.AnsibleF5Client._get_mgmt_root',
|
||||
return_value=True)
|
||||
class TestManager(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
|
@ -112,12 +112,11 @@ class TestManager(unittest.TestCase):
|
|||
user='admin'
|
||||
))
|
||||
|
||||
client = AnsibleF5Client(
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
mm = ModuleManager(client)
|
||||
mm = ModuleManager(module=module)
|
||||
|
||||
# Override methods to force specific logic in the module to happen
|
||||
mm.exists = Mock(return_value=False)
|
||||
|
|
|
@ -17,20 +17,22 @@ if sys.version_info < (2, 7):
|
|||
from ansible.compat.tests import unittest
|
||||
from ansible.compat.tests.mock import Mock
|
||||
from ansible.compat.tests.mock import patch
|
||||
from ansible.module_utils.f5_utils import AnsibleF5Client
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
|
||||
try:
|
||||
from library.bigip_provision import Parameters
|
||||
from library.bigip_provision import ModuleManager
|
||||
from library.bigip_provision import ArgumentSpec
|
||||
from ansible.module_utils.f5_utils import iControlUnexpectedHTTPError
|
||||
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_provision import Parameters
|
||||
from ansible.modules.network.f5.bigip_provision import ModuleManager
|
||||
from ansible.modules.network.f5.bigip_provision import ArgumentSpec
|
||||
from ansible.module_utils.f5_utils import iControlUnexpectedHTTPError
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
from ansible.module_utils.network.f5.common import iControlUnexpectedHTTPError
|
||||
from units.modules.utils import set_module_args
|
||||
except ImportError:
|
||||
raise SkipTest("F5 Ansible modules require the f5-sdk Python library")
|
||||
|
@ -65,12 +67,10 @@ class TestParameters(unittest.TestCase):
|
|||
server='localhost',
|
||||
user='admin'
|
||||
)
|
||||
p = Parameters(args)
|
||||
p = Parameters(params=args)
|
||||
assert p.module == 'gtm'
|
||||
|
||||
|
||||
@patch('ansible.module_utils.f5_utils.AnsibleF5Client._get_mgmt_root',
|
||||
return_value=True)
|
||||
class TestManager(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
|
@ -93,12 +93,11 @@ class TestManager(unittest.TestCase):
|
|||
level='none'
|
||||
)
|
||||
)
|
||||
client = AnsibleF5Client(
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
mm = ModuleManager(client)
|
||||
mm = ModuleManager(module=module)
|
||||
|
||||
# Override methods to force specific logic in the module to happen
|
||||
mm.update_on_device = Mock(return_value=True)
|
||||
|
@ -130,9 +129,8 @@ class TestManager(unittest.TestCase):
|
|||
))
|
||||
|
||||
with patch('ansible.module_utils.basic.AnsibleModule.fail_json') as mo:
|
||||
AnsibleF5Client(
|
||||
AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
)
|
||||
mo.assert_not_called()
|
||||
|
|
|
@ -17,7 +17,7 @@ if sys.version_info < (2, 7):
|
|||
from ansible.compat.tests import unittest
|
||||
from ansible.compat.tests.mock import Mock
|
||||
from ansible.compat.tests.mock import patch
|
||||
from ansible.module_utils.f5_utils import AnsibleF5Client
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
|
||||
try:
|
||||
from library.bigip_qkview import Parameters
|
||||
|
@ -25,7 +25,8 @@ try:
|
|||
from library.bigip_qkview import MadmLocationManager
|
||||
from library.bigip_qkview import BulkLocationManager
|
||||
from library.bigip_qkview import ArgumentSpec
|
||||
from ansible.module_utils.f5_utils import iControlUnexpectedHTTPError
|
||||
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:
|
||||
|
@ -34,7 +35,8 @@ except ImportError:
|
|||
from ansible.modules.network.f5.bigip_qkview import MadmLocationManager
|
||||
from ansible.modules.network.f5.bigip_qkview import BulkLocationManager
|
||||
from ansible.modules.network.f5.bigip_qkview import ArgumentSpec
|
||||
from ansible.module_utils.f5_utils import iControlUnexpectedHTTPError
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
from ansible.module_utils.network.f5.common import iControlUnexpectedHTTPError
|
||||
from units.modules.utils import set_module_args
|
||||
except ImportError:
|
||||
raise SkipTest("F5 Ansible modules require the f5-sdk Python library")
|
||||
|
@ -73,7 +75,7 @@ class TestParameters(unittest.TestCase):
|
|||
exclude=['audit', 'secure'],
|
||||
dest='/tmp/foo.qkview'
|
||||
)
|
||||
p = Parameters(args)
|
||||
p = Parameters(params=args)
|
||||
assert p.filename == 'foo.qkview'
|
||||
assert p.asm_request_log is None
|
||||
assert p.max_file_size == '-s 1024'
|
||||
|
@ -89,12 +91,10 @@ class TestParameters(unittest.TestCase):
|
|||
args = dict(
|
||||
asm_request_log=True,
|
||||
)
|
||||
p = Parameters(args)
|
||||
p = Parameters(params=args)
|
||||
assert p.asm_request_log == '-o asm-request-log'
|
||||
|
||||
|
||||
@patch('ansible.module_utils.f5_utils.AnsibleF5Client._get_mgmt_root',
|
||||
return_value=True)
|
||||
class TestMadmLocationManager(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
|
@ -108,14 +108,13 @@ class TestMadmLocationManager(unittest.TestCase):
|
|||
password='password'
|
||||
))
|
||||
|
||||
client = AnsibleF5Client(
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
|
||||
# Override methods in the specific type of manager
|
||||
tm = MadmLocationManager(client)
|
||||
tm = MadmLocationManager(module=module, params=module.params)
|
||||
tm.exists = Mock(return_value=False)
|
||||
tm.execute_on_device = Mock(return_value=True)
|
||||
tm._move_qkview_to_download = Mock(return_value=True)
|
||||
|
@ -123,7 +122,7 @@ class TestMadmLocationManager(unittest.TestCase):
|
|||
tm._delete_qkview = Mock(return_value=True)
|
||||
|
||||
# Override methods to force specific logic in the module to happen
|
||||
mm = ModuleManager(client)
|
||||
mm = ModuleManager(module=module)
|
||||
mm.is_version_less_than_14 = Mock(return_value=True)
|
||||
mm.get_manager = Mock(return_value=tm)
|
||||
|
||||
|
@ -134,8 +133,6 @@ class TestMadmLocationManager(unittest.TestCase):
|
|||
assert results['changed'] is False
|
||||
|
||||
|
||||
@patch('ansible.module_utils.f5_utils.AnsibleF5Client._get_mgmt_root',
|
||||
return_value=True)
|
||||
class TestBulkLocationManager(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
|
@ -149,14 +146,13 @@ class TestBulkLocationManager(unittest.TestCase):
|
|||
password='password'
|
||||
))
|
||||
|
||||
client = AnsibleF5Client(
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
|
||||
# Override methods in the specific type of manager
|
||||
tm = BulkLocationManager(client)
|
||||
tm = BulkLocationManager(module=module, params=module.params)
|
||||
tm.exists = Mock(return_value=False)
|
||||
tm.execute_on_device = Mock(return_value=True)
|
||||
tm._move_qkview_to_download = Mock(return_value=True)
|
||||
|
@ -164,7 +160,7 @@ class TestBulkLocationManager(unittest.TestCase):
|
|||
tm._delete_qkview = Mock(return_value=True)
|
||||
|
||||
# Override methods to force specific logic in the module to happen
|
||||
mm = ModuleManager(client)
|
||||
mm = ModuleManager(module=module)
|
||||
mm.is_version_less_than_14 = Mock(return_value=False)
|
||||
mm.get_manager = Mock(return_value=tm)
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ if sys.version_info < (2, 7):
|
|||
from ansible.compat.tests import unittest
|
||||
from ansible.compat.tests.mock import Mock
|
||||
from ansible.compat.tests.mock import patch
|
||||
from ansible.module_utils.f5_utils import AnsibleF5Client
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
|
||||
try:
|
||||
from library.bigip_remote_syslog import Parameters
|
||||
|
@ -25,7 +25,8 @@ try:
|
|||
from library.bigip_remote_syslog import ArgumentSpec
|
||||
from library.bigip_remote_syslog import HAS_F5SDK
|
||||
from library.bigip_remote_syslog import HAS_NETADDR
|
||||
from ansible.module_utils.f5_utils import iControlUnexpectedHTTPError
|
||||
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:
|
||||
|
@ -34,7 +35,8 @@ except ImportError:
|
|||
from ansible.modules.network.f5.bigip_remote_syslog import ArgumentSpec
|
||||
from ansible.modules.network.f5.bigip_remote_syslog import HAS_F5SDK
|
||||
from ansible.modules.network.f5.bigip_remote_syslog import HAS_NETADDR
|
||||
from ansible.module_utils.f5_utils import iControlUnexpectedHTTPError
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
from ansible.module_utils.network.f5.common import iControlUnexpectedHTTPError
|
||||
from units.modules.utils import set_module_args
|
||||
except ImportError:
|
||||
raise SkipTest("F5 Ansible modules require the f5-sdk Python library")
|
||||
|
@ -73,7 +75,7 @@ class TestParameters(unittest.TestCase):
|
|||
local_ip='1.1.1.1'
|
||||
)
|
||||
|
||||
p = Parameters(args)
|
||||
p = Parameters(params=args)
|
||||
assert p.remote_host == '10.10.10.10'
|
||||
assert p.remote_port == 514
|
||||
assert p.local_ip == '1.1.1.1'
|
||||
|
@ -90,12 +92,10 @@ class TestParameters(unittest.TestCase):
|
|||
]
|
||||
)
|
||||
|
||||
p = Parameters(args)
|
||||
p = Parameters(params=args)
|
||||
assert len(p.remoteServers) == 1
|
||||
|
||||
|
||||
@patch('ansible.module_utils.f5_utils.AnsibleF5Client._get_mgmt_root',
|
||||
return_value=True)
|
||||
class TestManager(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
|
@ -109,14 +109,13 @@ class TestManager(unittest.TestCase):
|
|||
user='admin'
|
||||
))
|
||||
|
||||
client = AnsibleF5Client(
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
|
||||
# Override methods in the specific type of manager
|
||||
mm = ModuleManager(client)
|
||||
mm = ModuleManager(module=module)
|
||||
mm.exists = Mock(side_effect=[False, True])
|
||||
mm.update_on_device = Mock(return_value=True)
|
||||
|
||||
|
@ -132,15 +131,14 @@ class TestManager(unittest.TestCase):
|
|||
user='admin'
|
||||
))
|
||||
|
||||
current = Parameters(load_fixture('load_tm_sys_syslog.json'))
|
||||
client = AnsibleF5Client(
|
||||
current = Parameters(params=load_fixture('load_tm_sys_syslog.json'))
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
|
||||
# Override methods in the specific type of manager
|
||||
mm = ModuleManager(client)
|
||||
mm = ModuleManager(module=module)
|
||||
mm.exists = Mock(return_value=True)
|
||||
mm.read_current_from_device = Mock(return_value=current)
|
||||
|
||||
|
@ -157,15 +155,14 @@ class TestManager(unittest.TestCase):
|
|||
user='admin'
|
||||
))
|
||||
|
||||
current = Parameters(load_fixture('load_tm_sys_syslog.json'))
|
||||
client = AnsibleF5Client(
|
||||
current = Parameters(params=load_fixture('load_tm_sys_syslog.json'))
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
|
||||
# Override methods in the specific type of manager
|
||||
mm = ModuleManager(client)
|
||||
mm = ModuleManager(module=module)
|
||||
mm.exists = Mock(return_value=True)
|
||||
mm.read_current_from_device = Mock(return_value=current)
|
||||
mm.update_on_device = Mock(return_value=True)
|
||||
|
@ -184,15 +181,14 @@ class TestManager(unittest.TestCase):
|
|||
user='admin'
|
||||
))
|
||||
|
||||
current = Parameters(load_fixture('load_tm_sys_syslog.json'))
|
||||
client = AnsibleF5Client(
|
||||
current = Parameters(params=load_fixture('load_tm_sys_syslog.json'))
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
|
||||
# Override methods in the specific type of manager
|
||||
mm = ModuleManager(client)
|
||||
mm = ModuleManager(module=module)
|
||||
mm.exists = Mock(return_value=True)
|
||||
mm.read_current_from_device = Mock(return_value=current)
|
||||
mm.update_on_device = Mock(return_value=True)
|
||||
|
|
|
@ -18,15 +18,15 @@ if sys.version_info < (2, 7):
|
|||
from ansible.compat.tests import unittest
|
||||
from ansible.compat.tests.mock import Mock
|
||||
from ansible.compat.tests.mock import patch
|
||||
from ansible.module_utils.f5_utils import AnsibleF5Client
|
||||
from ansible.module_utils.f5_utils import F5ModuleError
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
|
||||
try:
|
||||
from library.bigip_security_port_list import ApiParameters
|
||||
from library.bigip_security_port_list import ModuleParameters
|
||||
from library.bigip_security_port_list import ModuleManager
|
||||
from library.bigip_security_port_list import ArgumentSpec
|
||||
from ansible.module_utils.f5_utils import iControlUnexpectedHTTPError
|
||||
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:
|
||||
|
@ -35,7 +35,8 @@ except ImportError:
|
|||
from ansible.modules.network.f5.bigip_security_port_list import ModuleParameters
|
||||
from ansible.modules.network.f5.bigip_security_port_list import ModuleManager
|
||||
from ansible.modules.network.f5.bigip_security_port_list import ArgumentSpec
|
||||
from ansible.module_utils.f5_utils import iControlUnexpectedHTTPError
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
from ansible.module_utils.network.f5.common import iControlUnexpectedHTTPError
|
||||
from units.modules.utils import set_module_args
|
||||
except ImportError:
|
||||
raise SkipTest("F5 Ansible modules require the f5-sdk Python library")
|
||||
|
@ -72,7 +73,7 @@ class TestParameters(unittest.TestCase):
|
|||
port_lists=['/Common/foo', 'foo']
|
||||
)
|
||||
|
||||
p = ModuleParameters(args)
|
||||
p = ModuleParameters(params=args)
|
||||
assert p.name == 'foo'
|
||||
assert p.description == 'this is a description'
|
||||
assert len(p.ports) == 4
|
||||
|
@ -82,7 +83,7 @@ class TestParameters(unittest.TestCase):
|
|||
def test_api_parameters(self):
|
||||
args = load_fixture('load_security_port_list_1.json')
|
||||
|
||||
p = ApiParameters(args)
|
||||
p = ApiParameters(params=args)
|
||||
assert len(p.ports) == 4
|
||||
assert len(p.port_ranges) == 3
|
||||
assert len(p.port_lists) == 1
|
||||
|
@ -91,8 +92,6 @@ class TestParameters(unittest.TestCase):
|
|||
assert p.port_lists[0] == '/Common/_sys_self_allow_tcp_defaults'
|
||||
|
||||
|
||||
@patch('ansible.module_utils.f5_utils.AnsibleF5Client._get_mgmt_root',
|
||||
return_value=True)
|
||||
class TestManager(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
|
@ -105,17 +104,16 @@ class TestManager(unittest.TestCase):
|
|||
ports=[1, 2, 3, 4],
|
||||
port_ranges=['10-20', '30-40', '50-60'],
|
||||
port_lists=['/Common/foo', 'foo'],
|
||||
password='passsword',
|
||||
password='password',
|
||||
server='localhost',
|
||||
user='admin'
|
||||
))
|
||||
|
||||
client = AnsibleF5Client(
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
mm = ModuleManager(client)
|
||||
mm = ModuleManager(module=module)
|
||||
|
||||
# Override methods to force specific logic in the module to happen
|
||||
mm.exists = Mock(side_effect=[False, True])
|
||||
|
|
|
@ -18,15 +18,15 @@ if sys.version_info < (2, 7):
|
|||
from ansible.compat.tests import unittest
|
||||
from ansible.compat.tests.mock import Mock
|
||||
from ansible.compat.tests.mock import patch
|
||||
from ansible.module_utils.f5_utils import AnsibleF5Client
|
||||
from ansible.module_utils.f5_utils import F5ModuleError
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
|
||||
try:
|
||||
from library.bigip_selfip import Parameters
|
||||
from library.bigip_selfip import ApiParameters
|
||||
from library.bigip_selfip import ModuleManager
|
||||
from library.bigip_selfip import ArgumentSpec
|
||||
from ansible.module_utils.f5_utils import iControlUnexpectedHTTPError
|
||||
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:
|
||||
|
@ -34,7 +34,8 @@ except ImportError:
|
|||
from ansible.modules.network.f5.bigip_selfip import ApiParameters
|
||||
from ansible.modules.network.f5.bigip_selfip import ModuleManager
|
||||
from ansible.modules.network.f5.bigip_selfip import ArgumentSpec
|
||||
from ansible.module_utils.f5_utils import iControlUnexpectedHTTPError
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
from ansible.module_utils.network.f5.common import iControlUnexpectedHTTPError
|
||||
from units.modules.utils import set_module_args
|
||||
except ImportError:
|
||||
raise SkipTest("F5 Ansible modules require the f5-sdk Python library")
|
||||
|
@ -78,9 +79,9 @@ class TestParameters(unittest.TestCase):
|
|||
traffic_group='traffic-group-local-only',
|
||||
vlan='net1'
|
||||
)
|
||||
p = Parameters(args)
|
||||
p = Parameters(params=args)
|
||||
assert p.address == '10.10.10.10%1/24'
|
||||
assert p.allow_service == set(['tcp:80', 'udp:53', 'gre:0'])
|
||||
assert p.allow_service == ['gre:0', 'tcp:80', 'udp:53']
|
||||
assert p.name == 'net1'
|
||||
assert p.netmask == 24
|
||||
assert p.route_domain == 1
|
||||
|
@ -95,9 +96,9 @@ class TestParameters(unittest.TestCase):
|
|||
'grp'
|
||||
]
|
||||
)
|
||||
p = Parameters(args)
|
||||
p = Parameters(params=args)
|
||||
with pytest.raises(F5ModuleError) as ex:
|
||||
assert p.allow_service == set(['tcp:80', 'udp:53', 'grp'])
|
||||
assert p.allow_service == ['grp', 'tcp:80', 'udp:53']
|
||||
assert 'The provided protocol' in str(ex)
|
||||
|
||||
def test_api_parameters(self):
|
||||
|
@ -113,9 +114,9 @@ class TestParameters(unittest.TestCase):
|
|||
trafficGroup='/Common/traffic-group-local-only',
|
||||
vlan='net1'
|
||||
)
|
||||
p = ApiParameters(args)
|
||||
p = ApiParameters(params=args)
|
||||
assert p.address == '10.10.10.10%1/24'
|
||||
assert p.allow_service == set(['tcp:80', 'udp:53', 'gre'])
|
||||
assert p.allow_service == ['gre', 'tcp:80', 'udp:53']
|
||||
assert p.name == 'net1'
|
||||
assert p.netmask == 24
|
||||
assert p.route_domain == 1
|
||||
|
@ -123,8 +124,6 @@ class TestParameters(unittest.TestCase):
|
|||
assert p.vlan == '/Common/net1'
|
||||
|
||||
|
||||
@patch('ansible.module_utils.f5_utils.AnsibleF5Client._get_mgmt_root',
|
||||
return_value=True)
|
||||
class TestManager(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
|
@ -150,12 +149,11 @@ class TestManager(unittest.TestCase):
|
|||
user='admin'
|
||||
))
|
||||
|
||||
client = AnsibleF5Client(
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
mm = ModuleManager(client)
|
||||
mm = ModuleManager(module=module)
|
||||
|
||||
# Override methods to force specific logic in the module to happen
|
||||
mm.exists = Mock(side_effect=[False, True])
|
||||
|
@ -185,14 +183,13 @@ class TestManager(unittest.TestCase):
|
|||
user='admin'
|
||||
))
|
||||
|
||||
current = ApiParameters(load_fixture('load_tm_net_self.json'))
|
||||
current = ApiParameters(params=load_fixture('load_tm_net_self.json'))
|
||||
|
||||
client = AnsibleF5Client(
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
mm = ModuleManager(client)
|
||||
mm = ModuleManager(module=module)
|
||||
|
||||
# Override methods to force specific logic in the module to happen
|
||||
mm.exists = Mock(side_effect=[True, True])
|
||||
|
|
|
@ -17,20 +17,22 @@ if sys.version_info < (2, 7):
|
|||
from ansible.compat.tests import unittest
|
||||
from ansible.compat.tests.mock import Mock
|
||||
from ansible.compat.tests.mock import patch
|
||||
from ansible.module_utils.f5_utils import AnsibleF5Client
|
||||
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 ansible.module_utils.f5_utils import iControlUnexpectedHTTPError
|
||||
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_snat_pool import Parameters
|
||||
from ansible.modules.network.f5.bigip_snat_pool import ModuleManager
|
||||
from ansible.modules.network.f5.bigip_snat_pool import ArgumentSpec
|
||||
from ansible.module_utils.f5_utils import iControlUnexpectedHTTPError
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
from ansible.module_utils.network.f5.common import iControlUnexpectedHTTPError
|
||||
from units.modules.utils import set_module_args
|
||||
except ImportError:
|
||||
raise SkipTest("F5 Ansible modules require the f5-sdk Python library")
|
||||
|
@ -65,7 +67,7 @@ class TestParameters(unittest.TestCase):
|
|||
members=['10.10.10.10', '20.20.20.20'],
|
||||
partition='Common'
|
||||
)
|
||||
p = Parameters(args)
|
||||
p = Parameters(params=args)
|
||||
assert p.name == 'my-snat-pool'
|
||||
assert p.state == 'present'
|
||||
assert len(p.members) == 2
|
||||
|
@ -76,14 +78,12 @@ class TestParameters(unittest.TestCase):
|
|||
args = dict(
|
||||
members=['/Common/10.10.10.10', '/foo/20.20.20.20']
|
||||
)
|
||||
p = Parameters(args)
|
||||
p = Parameters(params=args)
|
||||
assert len(p.members) == 2
|
||||
assert '/Common/10.10.10.10' in p.members
|
||||
assert '/Common/20.20.20.20' in p.members
|
||||
|
||||
|
||||
@patch('ansible.module_utils.f5_utils.AnsibleF5Client._get_mgmt_root',
|
||||
return_value=True)
|
||||
class TestManager(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
|
@ -99,12 +99,11 @@ class TestManager(unittest.TestCase):
|
|||
user='admin'
|
||||
))
|
||||
|
||||
client = AnsibleF5Client(
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
mm = ModuleManager(client)
|
||||
mm = ModuleManager(module=module)
|
||||
|
||||
# Override methods to force specific logic in the module to happen
|
||||
mm.exists = Mock(side_effect=[False, True])
|
||||
|
@ -127,14 +126,13 @@ class TestManager(unittest.TestCase):
|
|||
user='admin'
|
||||
))
|
||||
|
||||
current = Parameters(load_fixture('load_ltm_snatpool.json'))
|
||||
current = Parameters(params=load_fixture('load_ltm_snatpool.json'))
|
||||
|
||||
client = AnsibleF5Client(
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
mm = ModuleManager(client)
|
||||
mm = ModuleManager(module=module)
|
||||
|
||||
# Override methods to force specific logic in the module to happen
|
||||
mm.exists = Mock(side_effect=[True, True])
|
||||
|
@ -154,14 +152,13 @@ class TestManager(unittest.TestCase):
|
|||
user='admin'
|
||||
))
|
||||
|
||||
current = Parameters(load_fixture('load_ltm_snatpool.json'))
|
||||
current = Parameters(params=load_fixture('load_ltm_snatpool.json'))
|
||||
|
||||
client = AnsibleF5Client(
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
mm = ModuleManager(client)
|
||||
mm = ModuleManager(module=module)
|
||||
|
||||
# Override methods to force specific logic in the module to happen
|
||||
mm.read_current_from_device = Mock(return_value=current)
|
||||
|
|
|
@ -17,20 +17,22 @@ if sys.version_info < (2, 7):
|
|||
from ansible.compat.tests import unittest
|
||||
from ansible.compat.tests.mock import Mock
|
||||
from ansible.compat.tests.mock import patch
|
||||
from ansible.module_utils.f5_utils import AnsibleF5Client
|
||||
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 ansible.module_utils.f5_utils import iControlUnexpectedHTTPError
|
||||
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 ModuleManager
|
||||
from ansible.modules.network.f5.bigip_snmp import ArgumentSpec
|
||||
from ansible.module_utils.f5_utils import iControlUnexpectedHTTPError
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
from ansible.module_utils.network.f5.common import iControlUnexpectedHTTPError
|
||||
from units.modules.utils import set_module_args
|
||||
except ImportError:
|
||||
raise SkipTest("F5 Ansible modules require the f5-sdk Python library")
|
||||
|
@ -69,7 +71,7 @@ class TestParameters(unittest.TestCase):
|
|||
server='localhost',
|
||||
user='admin'
|
||||
)
|
||||
p = Parameters(args)
|
||||
p = Parameters(params=args)
|
||||
assert p.agent_status_traps == 'enabled'
|
||||
assert p.agent_authentication_traps == 'enabled'
|
||||
assert p.device_warning_traps == 'enabled'
|
||||
|
@ -85,7 +87,7 @@ class TestParameters(unittest.TestCase):
|
|||
server='localhost',
|
||||
user='admin'
|
||||
)
|
||||
p = Parameters(args)
|
||||
p = Parameters(params=args)
|
||||
assert p.agent_status_traps == 'disabled'
|
||||
assert p.agent_authentication_traps == 'disabled'
|
||||
assert p.device_warning_traps == 'disabled'
|
||||
|
@ -98,7 +100,7 @@ class TestParameters(unittest.TestCase):
|
|||
sysLocation='Lunar orbit',
|
||||
sysContact='Alice@foo.org',
|
||||
)
|
||||
p = Parameters(args)
|
||||
p = Parameters(params=args)
|
||||
assert p.agent_status_traps == 'enabled'
|
||||
assert p.agent_authentication_traps == 'enabled'
|
||||
assert p.device_warning_traps == 'enabled'
|
||||
|
@ -111,14 +113,12 @@ class TestParameters(unittest.TestCase):
|
|||
authTrap='disabled',
|
||||
bigipTraps='disabled',
|
||||
)
|
||||
p = Parameters(args)
|
||||
p = Parameters(params=args)
|
||||
assert p.agent_status_traps == 'disabled'
|
||||
assert p.agent_authentication_traps == 'disabled'
|
||||
assert p.device_warning_traps == 'disabled'
|
||||
|
||||
|
||||
@patch('ansible.module_utils.f5_utils.AnsibleF5Client._get_mgmt_root',
|
||||
return_value=True)
|
||||
class TestManager(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
|
@ -140,12 +140,11 @@ class TestManager(unittest.TestCase):
|
|||
)
|
||||
)
|
||||
|
||||
client = AnsibleF5Client(
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
mm = ModuleManager(client)
|
||||
mm = ModuleManager(module=module)
|
||||
|
||||
# Override methods to force specific logic in the module to happen
|
||||
mm.update_on_device = Mock(return_value=True)
|
||||
|
|
|
@ -18,7 +18,7 @@ from ansible.compat.tests import unittest
|
|||
from ansible.compat.tests.mock import Mock
|
||||
from ansible.compat.tests.mock import patch
|
||||
from ansible.compat.tests.mock import DEFAULT
|
||||
from ansible.module_utils.f5_utils import AnsibleF5Client
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
|
||||
try:
|
||||
from library.bigip_snmp_trap import NetworkedParameters
|
||||
|
@ -27,7 +27,8 @@ try:
|
|||
from library.bigip_snmp_trap import NetworkedManager
|
||||
from library.bigip_snmp_trap import NonNetworkedManager
|
||||
from library.bigip_snmp_trap import ArgumentSpec
|
||||
from ansible.module_utils.f5_utils import iControlUnexpectedHTTPError
|
||||
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:
|
||||
|
@ -37,7 +38,8 @@ except ImportError:
|
|||
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 ArgumentSpec
|
||||
from ansible.module_utils.f5_utils import iControlUnexpectedHTTPError
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
from ansible.module_utils.network.f5.common import iControlUnexpectedHTTPError
|
||||
from units.modules.utils import set_module_args
|
||||
except ImportError:
|
||||
raise SkipTest("F5 Ansible modules require the f5-sdk Python library")
|
||||
|
@ -77,7 +79,7 @@ class TestParameters(unittest.TestCase):
|
|||
server='localhost',
|
||||
user='admin'
|
||||
)
|
||||
p = NetworkedParameters(args)
|
||||
p = NetworkedParameters(params=args)
|
||||
assert p.name == 'foo'
|
||||
assert p.snmp_version == '1'
|
||||
assert p.community == 'public'
|
||||
|
@ -97,7 +99,7 @@ class TestParameters(unittest.TestCase):
|
|||
server='localhost',
|
||||
user='admin'
|
||||
)
|
||||
p = NonNetworkedParameters(args)
|
||||
p = NonNetworkedParameters(params=args)
|
||||
assert p.name == 'foo'
|
||||
assert p.snmp_version == '1'
|
||||
assert p.community == 'public'
|
||||
|
@ -114,7 +116,7 @@ class TestParameters(unittest.TestCase):
|
|||
version=1,
|
||||
port=1000
|
||||
)
|
||||
p = NetworkedParameters(args)
|
||||
p = NetworkedParameters(params=args)
|
||||
assert p.name == 'foo'
|
||||
assert p.snmp_version == '1'
|
||||
assert p.community == 'public'
|
||||
|
@ -123,8 +125,6 @@ class TestParameters(unittest.TestCase):
|
|||
assert p.network == 'other'
|
||||
|
||||
|
||||
@patch('ansible.module_utils.f5_utils.AnsibleF5Client._get_mgmt_root',
|
||||
return_value=True)
|
||||
class TestManager(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
|
@ -143,14 +143,13 @@ class TestManager(unittest.TestCase):
|
|||
user='admin'
|
||||
))
|
||||
|
||||
client = AnsibleF5Client(
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
|
||||
# Override methods to force specific logic in the module to happen
|
||||
mm = ModuleManager(client)
|
||||
mm = ModuleManager(module=module)
|
||||
mm.is_version_non_networked = Mock(return_value=False)
|
||||
|
||||
patches = dict(
|
||||
|
@ -178,14 +177,13 @@ class TestManager(unittest.TestCase):
|
|||
user='admin'
|
||||
))
|
||||
|
||||
client = AnsibleF5Client(
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
|
||||
# Override methods to force specific logic in the module to happen
|
||||
mm = ModuleManager(client)
|
||||
mm = ModuleManager(module=module)
|
||||
mm.is_version_non_networked = Mock(return_value=True)
|
||||
|
||||
patches = dict(
|
||||
|
|
|
@ -17,14 +17,15 @@ if sys.version_info < (2, 7):
|
|||
from ansible.compat.tests import unittest
|
||||
from ansible.compat.tests.mock import Mock
|
||||
from ansible.compat.tests.mock import patch
|
||||
from ansible.module_utils.f5_utils import AnsibleF5Client
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
|
||||
try:
|
||||
from library.bigip_software_update import ApiParameters
|
||||
from library.bigip_software_update import ModuleParameters
|
||||
from library.bigip_software_update import ModuleManager
|
||||
from library.bigip_software_update import ArgumentSpec
|
||||
from ansible.module_utils.f5_utils import iControlUnexpectedHTTPError
|
||||
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:
|
||||
|
@ -32,7 +33,8 @@ except ImportError:
|
|||
from ansible.modules.network.f5.bigip_software_update import ModuleParameters
|
||||
from ansible.modules.network.f5.bigip_software_update import ModuleManager
|
||||
from ansible.modules.network.f5.bigip_software_update import ArgumentSpec
|
||||
from ansible.module_utils.f5_utils import iControlUnexpectedHTTPError
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
from ansible.module_utils.network.f5.common import iControlUnexpectedHTTPError
|
||||
from units.modules.utils import set_module_args
|
||||
except ImportError:
|
||||
raise SkipTest("F5 Ansible modules require the f5-sdk Python library")
|
||||
|
@ -65,7 +67,7 @@ class TestParameters(unittest.TestCase):
|
|||
auto_check=True,
|
||||
frequency="daily"
|
||||
)
|
||||
p = ModuleParameters(args)
|
||||
p = ModuleParameters(params=args)
|
||||
assert p.auto_check == 'enabled'
|
||||
assert p.frequency == 'daily'
|
||||
|
||||
|
@ -74,13 +76,11 @@ class TestParameters(unittest.TestCase):
|
|||
autoCheck="enabled",
|
||||
frequency="daily"
|
||||
)
|
||||
p = ApiParameters(args)
|
||||
p = ApiParameters(params=args)
|
||||
assert p.auto_check == 'enabled'
|
||||
assert p.frequency == 'daily'
|
||||
|
||||
|
||||
@patch('ansible.module_utils.f5_utils.AnsibleF5Client._get_mgmt_root',
|
||||
return_value=True)
|
||||
class TestManager(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
|
@ -98,14 +98,13 @@ class TestManager(unittest.TestCase):
|
|||
|
||||
# Configure the parameters that would be returned by querying the
|
||||
# remote device
|
||||
current = ApiParameters(load_fixture('load_sys_software_update.json'))
|
||||
current = ApiParameters(params=load_fixture('load_sys_software_update.json'))
|
||||
|
||||
client = AnsibleF5Client(
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
mm = ModuleManager(client)
|
||||
mm = ModuleManager(module=module)
|
||||
|
||||
# Override methods to force specific logic in the module to happen
|
||||
mm.update_on_device = Mock(return_value=True)
|
||||
|
|
|
@ -17,26 +17,26 @@ if sys.version_info < (2, 7):
|
|||
from ansible.compat.tests import unittest
|
||||
from ansible.compat.tests.mock import Mock
|
||||
from ansible.compat.tests.mock import patch
|
||||
from ansible.module_utils.f5_utils import AnsibleF5Client
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
|
||||
try:
|
||||
from library.bigip_ssl_certificate import ArgumentSpec
|
||||
from library.bigip_ssl_certificate import KeyParameters
|
||||
from library.bigip_ssl_certificate import CertParameters
|
||||
from library.bigip_ssl_certificate import CertificateManager
|
||||
from library.bigip_ssl_certificate import ApiParameters
|
||||
from library.bigip_ssl_certificate import ModuleParameters
|
||||
from library.bigip_ssl_certificate import ModuleManager
|
||||
from library.bigip_ssl_certificate import HAS_F5SDK
|
||||
from library.bigip_ssl_certificate import KeyManager
|
||||
from ansible.module_utils.f5_utils import iControlUnexpectedHTTPError
|
||||
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_ssl_certificate import ArgumentSpec
|
||||
from ansible.modules.network.f5.bigip_ssl_certificate import KeyParameters
|
||||
from ansible.modules.network.f5.bigip_ssl_certificate import CertParameters
|
||||
from ansible.modules.network.f5.bigip_ssl_certificate import CertificateManager
|
||||
from ansible.modules.network.f5.bigip_ssl_certificate import ApiParameters
|
||||
from ansible.modules.network.f5.bigip_ssl_certificate import ModuleParameters
|
||||
from ansible.modules.network.f5.bigip_ssl_certificate import ModuleManager
|
||||
from ansible.modules.network.f5.bigip_ssl_certificate import HAS_F5SDK
|
||||
from ansible.modules.network.f5.bigip_ssl_certificate import KeyManager
|
||||
from ansible.module_utils.f5_utils import iControlUnexpectedHTTPError
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
from ansible.module_utils.network.f5.common import iControlUnexpectedHTTPError
|
||||
from units.modules.utils import set_module_args
|
||||
except ImportError:
|
||||
raise SkipTest("F5 Ansible modules require the f5-sdk Python library")
|
||||
|
@ -64,33 +64,10 @@ def load_fixture(name):
|
|||
|
||||
|
||||
class TestParameters(unittest.TestCase):
|
||||
def test_module_parameters_key(self):
|
||||
key_content = load_fixture('create_insecure_key1.key')
|
||||
args = dict(
|
||||
key_content=key_content,
|
||||
name="cert1",
|
||||
partition="Common",
|
||||
state="present",
|
||||
password='password',
|
||||
server='localhost',
|
||||
user='admin'
|
||||
)
|
||||
p = KeyParameters(args)
|
||||
assert p.name == 'cert1'
|
||||
assert p.key_filename == 'cert1.key'
|
||||
assert '-----BEGIN RSA PRIVATE KEY-----' in p.key_content
|
||||
assert '-----END RSA PRIVATE KEY-----' in p.key_content
|
||||
assert p.key_checksum == '91bdddcf0077e2bb2a0258aae2ae3117be392e83'
|
||||
assert p.state == 'present'
|
||||
assert p.user == 'admin'
|
||||
assert p.server == 'localhost'
|
||||
assert p.password == 'password'
|
||||
assert p.partition == 'Common'
|
||||
|
||||
def test_module_parameters_cert(self):
|
||||
cert_content = load_fixture('create_insecure_cert1.crt')
|
||||
args = dict(
|
||||
cert_content=cert_content,
|
||||
content=cert_content,
|
||||
name="cert1",
|
||||
partition="Common",
|
||||
state="present",
|
||||
|
@ -98,22 +75,33 @@ class TestParameters(unittest.TestCase):
|
|||
server='localhost',
|
||||
user='admin'
|
||||
)
|
||||
p = CertParameters(args)
|
||||
p = ModuleParameters(params=args)
|
||||
assert p.name == 'cert1'
|
||||
assert p.cert_filename == 'cert1.crt'
|
||||
assert 'Signature Algorithm' in p.cert_content
|
||||
assert '-----BEGIN CERTIFICATE-----' in p.cert_content
|
||||
assert '-----END CERTIFICATE-----' in p.cert_content
|
||||
assert p.cert_checksum == '1e55aa57ee166a380e756b5aa4a835c5849490fe'
|
||||
assert p.filename == 'cert1.crt'
|
||||
assert 'Signature Algorithm' in p.content
|
||||
assert '-----BEGIN CERTIFICATE-----' in p.content
|
||||
assert '-----END CERTIFICATE-----' in p.content
|
||||
assert p.checksum == '1e55aa57ee166a380e756b5aa4a835c5849490fe'
|
||||
assert p.state == 'present'
|
||||
assert p.user == 'admin'
|
||||
assert p.server == 'localhost'
|
||||
assert p.password == 'password'
|
||||
assert p.partition == 'Common'
|
||||
|
||||
def test_module_issuer_cert_key(self):
|
||||
args = dict(
|
||||
issuer_cert='foo',
|
||||
partition="Common",
|
||||
)
|
||||
p = ModuleParameters(params=args)
|
||||
assert p.issuer_cert == '/Common/foo.crt'
|
||||
|
||||
def test_api_issuer_cert_key(self):
|
||||
args = load_fixture('load_sys_file_ssl_cert_with_issuer_cert.json')
|
||||
p = ApiParameters(params=args)
|
||||
assert p.issuer_cert == '/Common/intermediate.crt'
|
||||
|
||||
|
||||
@patch('ansible.module_utils.f5_utils.AnsibleF5Client._get_mgmt_root',
|
||||
return_value=True)
|
||||
class TestCertificateManager(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
|
@ -122,111 +110,47 @@ class TestCertificateManager(unittest.TestCase):
|
|||
def test_import_certificate_and_key_no_key_passphrase(self, *args):
|
||||
set_module_args(dict(
|
||||
name='foo',
|
||||
cert_content=load_fixture('cert1.crt'),
|
||||
key_content=load_fixture('cert1.key'),
|
||||
content=load_fixture('cert1.crt'),
|
||||
state='present',
|
||||
password='password',
|
||||
server='localhost',
|
||||
user='admin'
|
||||
))
|
||||
|
||||
client = AnsibleF5Client(
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
|
||||
# Override methods in the specific type of manager
|
||||
cm = CertificateManager(client)
|
||||
cm.exists = Mock(side_effect=[False, True])
|
||||
cm.create_on_device = Mock(return_value=True)
|
||||
mm = ModuleManager(module=module)
|
||||
mm.exists = Mock(side_effect=[False, True])
|
||||
mm.create_on_device = Mock(return_value=True)
|
||||
|
||||
results = cm.exec_module()
|
||||
results = mm.exec_module()
|
||||
|
||||
assert results['changed'] is True
|
||||
|
||||
def test_import_certificate_chain(self, *args):
|
||||
set_module_args(dict(
|
||||
name='foo',
|
||||
cert_content=load_fixture('chain1.crt'),
|
||||
content=load_fixture('chain1.crt'),
|
||||
state='present',
|
||||
password='password',
|
||||
server='localhost',
|
||||
user='admin'
|
||||
))
|
||||
|
||||
client = AnsibleF5Client(
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
|
||||
# Override methods in the specific type of manager
|
||||
cm = CertificateManager(client)
|
||||
cm.exists = Mock(side_effect=[False, True])
|
||||
cm.create_on_device = Mock(return_value=True)
|
||||
mm = ModuleManager(module=module)
|
||||
mm.exists = Mock(side_effect=[False, True])
|
||||
mm.create_on_device = Mock(return_value=True)
|
||||
|
||||
results = cm.exec_module()
|
||||
|
||||
assert results['changed'] is True
|
||||
|
||||
|
||||
@patch('ansible.module_utils.f5_utils.AnsibleF5Client._get_mgmt_root',
|
||||
return_value=True)
|
||||
class TestKeyManager(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
self.spec = ArgumentSpec()
|
||||
|
||||
def test_import_certificate_and_key_no_key_passphrase(self, *args):
|
||||
set_module_args(dict(
|
||||
name='foo',
|
||||
cert_content=load_fixture('cert1.crt'),
|
||||
key_content=load_fixture('cert1.key'),
|
||||
state='present',
|
||||
password='password',
|
||||
server='localhost',
|
||||
user='admin'
|
||||
))
|
||||
|
||||
client = AnsibleF5Client(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
)
|
||||
|
||||
# Override methods in the specific type of manager
|
||||
cm = KeyManager(client)
|
||||
cm.exists = Mock(side_effect=[False, True])
|
||||
cm.create_on_device = Mock(return_value=True)
|
||||
|
||||
results = cm.exec_module()
|
||||
|
||||
assert results['changed'] is True
|
||||
|
||||
def test_update_certificate_new_certificate_and_key_password_protected_key(self, *args):
|
||||
set_module_args(dict(
|
||||
name='foo',
|
||||
cert_content=load_fixture('cert2.crt'),
|
||||
key_content=load_fixture('cert2.key'),
|
||||
state='present',
|
||||
passphrase='keypass',
|
||||
password='password',
|
||||
server='localhost',
|
||||
user='admin'
|
||||
))
|
||||
|
||||
client = AnsibleF5Client(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
)
|
||||
|
||||
# Override methods in the specific type of manager
|
||||
cm = KeyManager(client)
|
||||
cm.exists = Mock(side_effect=[False, True])
|
||||
cm.create_on_device = Mock(return_value=True)
|
||||
|
||||
results = cm.exec_module()
|
||||
results = mm.exec_module()
|
||||
|
||||
assert results['changed'] is True
|
||||
|
|
|
@ -17,14 +17,15 @@ if sys.version_info < (2, 7):
|
|||
from ansible.compat.tests import unittest
|
||||
from ansible.compat.tests.mock import Mock
|
||||
from ansible.compat.tests.mock import patch
|
||||
from ansible.module_utils.f5_utils import AnsibleF5Client
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
|
||||
try:
|
||||
from library.bigip_ssl_key import ArgumentSpec
|
||||
from library.bigip_ssl_key import Parameters
|
||||
from library.bigip_ssl_key import ModuleManager
|
||||
from library.bigip_ssl_key import HAS_F5SDK
|
||||
from ansible.module_utils.f5_utils import iControlUnexpectedHTTPError
|
||||
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:
|
||||
|
@ -32,7 +33,8 @@ except ImportError:
|
|||
from ansible.modules.network.f5.bigip_ssl_key import Parameters
|
||||
from ansible.modules.network.f5.bigip_ssl_key import ModuleManager
|
||||
from ansible.modules.network.f5.bigip_ssl_key import HAS_F5SDK
|
||||
from ansible.module_utils.f5_utils import iControlUnexpectedHTTPError
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
from ansible.module_utils.network.f5.common import iControlUnexpectedHTTPError
|
||||
from units.modules.utils import set_module_args
|
||||
except ImportError:
|
||||
raise SkipTest("F5 Ansible modules require the f5-sdk Python library")
|
||||
|
@ -71,7 +73,7 @@ class TestParameters(unittest.TestCase):
|
|||
server='localhost',
|
||||
user='admin'
|
||||
)
|
||||
p = Parameters(args)
|
||||
p = Parameters(params=args)
|
||||
assert p.name == 'cert1'
|
||||
assert p.key_filename == 'cert1.key'
|
||||
assert '-----BEGIN RSA PRIVATE KEY-----' in p.content
|
||||
|
@ -84,8 +86,6 @@ class TestParameters(unittest.TestCase):
|
|||
assert p.partition == 'Common'
|
||||
|
||||
|
||||
@patch('ansible.module_utils.f5_utils.AnsibleF5Client._get_mgmt_root',
|
||||
return_value=True)
|
||||
class TestModuleManager(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
|
@ -101,14 +101,13 @@ class TestModuleManager(unittest.TestCase):
|
|||
user='admin'
|
||||
))
|
||||
|
||||
client = AnsibleF5Client(
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
f5_product_name=self.spec.f5_product_name
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
)
|
||||
|
||||
# Override methods in the specific type of manager
|
||||
cm = ModuleManager(client)
|
||||
cm = ModuleManager(module=module)
|
||||
cm.exists = Mock(side_effect=[False, True])
|
||||
cm.create_on_device = Mock(return_value=True)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue