mirror of
https://github.com/linux-system-roles/network.git
synced 2026-07-21 18:28:54 +00:00
library: inject ArgsValidator instance instead of using instance in AnsibleUtil
This commit is contained in:
parent
adff2af90b
commit
e053286d9c
2 changed files with 15 additions and 13 deletions
|
|
@ -1972,8 +1972,6 @@ class _AnsibleUtil(RunEnvironment):
|
|||
'connections': { 'required': False, 'default': None, 'type': 'list' },
|
||||
}
|
||||
|
||||
ARGS_CONNECTIONS = ArgValidator_ListConnections()
|
||||
|
||||
def __init__(self):
|
||||
self._module = None
|
||||
self._connections = None
|
||||
|
|
@ -2020,7 +2018,7 @@ class _AnsibleUtil(RunEnvironment):
|
|||
c = self._connections
|
||||
if c is None:
|
||||
try:
|
||||
c = self.ARGS_CONNECTIONS.validate(self.params['connections'])
|
||||
c = ArgValidator_ListConnections().validate(self.params['connections'])
|
||||
except ValidationError as e:
|
||||
self.fail_json('configuration error: %s' % (e),
|
||||
warn_traceback = False)
|
||||
|
|
@ -2166,8 +2164,9 @@ AnsibleUtil = _AnsibleUtil()
|
|||
|
||||
class Cmd:
|
||||
|
||||
def __init__(self, run_env, is_check_mode = False):
|
||||
def __init__(self, run_env, connection_validator, is_check_mode = False):
|
||||
self._run_env = run_env
|
||||
self._connection_validator = connection_validator
|
||||
self._is_check_mode = is_check_mode
|
||||
self._check_mode = CheckMode.PREPARE
|
||||
|
||||
|
|
@ -2204,9 +2203,9 @@ class Cmd:
|
|||
def run(self):
|
||||
for idx, connection in enumerate(AnsibleUtil.connections):
|
||||
try:
|
||||
AnsibleUtil.ARGS_CONNECTIONS.validate_connection_one(self.validate_one_type,
|
||||
AnsibleUtil.connections,
|
||||
idx)
|
||||
self._connection_validator.validate_connection_one(self.validate_one_type,
|
||||
AnsibleUtil.connections,
|
||||
idx)
|
||||
except ValidationError as e:
|
||||
AnsibleUtil.log_fatal(idx, str(e))
|
||||
self.run_prepare()
|
||||
|
|
@ -2612,6 +2611,7 @@ if __name__ == '__main__':
|
|||
try:
|
||||
cmd = Cmd.create(ansible_util.params['provider'],
|
||||
run_env = ansible_util,
|
||||
connection_validator = ArgValidator_ListConnections(),
|
||||
is_check_mode = ansible_util.module.check_mode)
|
||||
cmd.run()
|
||||
except Exception as e:
|
||||
|
|
|
|||
|
|
@ -40,6 +40,8 @@ def pprint(msg, obj):
|
|||
if nmutil is not None and isinstance(obj, NM.Connection):
|
||||
obj.dump()
|
||||
|
||||
ARGS_CONNECTIONS = n.ArgValidator_ListConnections()
|
||||
|
||||
class TestValidator(unittest.TestCase):
|
||||
|
||||
def assertValidationError(self, v, value):
|
||||
|
|
@ -62,12 +64,12 @@ class TestValidator(unittest.TestCase):
|
|||
self.assertEqual(route_list_exp, route_list_new)
|
||||
|
||||
def do_connections_check_invalid(self, input_connections):
|
||||
self.assertValidationError(n.AnsibleUtil.ARGS_CONNECTIONS, input_connections)
|
||||
self.assertValidationError(ARGS_CONNECTIONS, input_connections)
|
||||
|
||||
def do_connections_validate_nm(self, input_connections, **kwargs):
|
||||
if not nmutil:
|
||||
return
|
||||
connections = n.AnsibleUtil.ARGS_CONNECTIONS.validate(input_connections)
|
||||
connections = ARGS_CONNECTIONS.validate(input_connections)
|
||||
for connection in connections:
|
||||
if 'type' in connection:
|
||||
connection['nm.exists'] = False
|
||||
|
|
@ -75,7 +77,7 @@ class TestValidator(unittest.TestCase):
|
|||
mode = n.ArgValidator_ListConnections.VALIDATE_ONE_MODE_INITSCRIPTS
|
||||
for idx, connection in enumerate(connections):
|
||||
try:
|
||||
n.AnsibleUtil.ARGS_CONNECTIONS.validate_connection_one(mode, connections, idx)
|
||||
ARGS_CONNECTIONS.validate_connection_one(mode, connections, idx)
|
||||
except n.ValidationError as e:
|
||||
continue
|
||||
if 'type' in connection:
|
||||
|
|
@ -104,10 +106,10 @@ class TestValidator(unittest.TestCase):
|
|||
|
||||
def do_connections_validate_ifcfg(self, input_connections, **kwargs):
|
||||
mode = n.ArgValidator_ListConnections.VALIDATE_ONE_MODE_INITSCRIPTS
|
||||
connections = n.AnsibleUtil.ARGS_CONNECTIONS.validate(input_connections)
|
||||
connections = ARGS_CONNECTIONS.validate(input_connections)
|
||||
for idx, connection in enumerate(connections):
|
||||
try:
|
||||
n.AnsibleUtil.ARGS_CONNECTIONS.validate_connection_one(mode, connections, idx)
|
||||
ARGS_CONNECTIONS.validate_connection_one(mode, connections, idx)
|
||||
except n.ValidationError as e:
|
||||
continue
|
||||
if 'type' in connection:
|
||||
|
|
@ -122,7 +124,7 @@ class TestValidator(unittest.TestCase):
|
|||
|
||||
|
||||
def do_connections_validate(self, expected_connections, input_connections, **kwargs):
|
||||
connections = n.AnsibleUtil.ARGS_CONNECTIONS.validate(input_connections)
|
||||
connections = ARGS_CONNECTIONS.validate(input_connections)
|
||||
self.assertEqual(expected_connections, connections)
|
||||
self.do_connections_validate_nm(input_connections, **kwargs)
|
||||
self.do_connections_validate_ifcfg(input_connections, **kwargs)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue