Improve tests (#348)

* Simplify filter error tests.

* Convert set_module_args to context manager.
This commit is contained in:
Felix Fontein 2025-03-07 20:45:39 +01:00 committed by GitHub
parent 6aaead1d4a
commit be9a7ed3ad
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 234 additions and 231 deletions

View file

@ -22,7 +22,7 @@
assert:
that:
- >-
result.msg == "Unexpected end of string during escaped parameter"
"Unexpected end of string during escaped parameter" in result.msg
- name: "Test quote_argument filter"
assert:

View file

@ -34,7 +34,7 @@ class TestRouterosApiModule(ModuleTestCase):
def test_module_fail_when_required_args_missing(self):
with self.assertRaises(AnsibleFailJson) as exc:
set_module_args({})
with set_module_args({}):
self.module.main()
result = exc.exception.args[0]
@ -43,7 +43,7 @@ class TestRouterosApiModule(ModuleTestCase):
@patch('ansible_collections.community.routeros.plugins.modules.api.ROS_api_module.api_add_path', new=fake_ros_api.path)
def test_api_path(self):
with self.assertRaises(AnsibleExitJson) as exc:
set_module_args(self.config_module_args.copy())
with set_module_args(self.config_module_args.copy()):
self.module.main()
result = exc.exception.args[0]
@ -54,7 +54,7 @@ class TestRouterosApiModule(ModuleTestCase):
with self.assertRaises(AnsibleExitJson) as exc:
module_args = self.config_module_args.copy()
module_args['add'] = "name=unit_test_brige"
set_module_args(module_args)
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
@ -65,7 +65,7 @@ class TestRouterosApiModule(ModuleTestCase):
with self.assertRaises(AnsibleFailJson) as exc:
module_args = self.config_module_args.copy()
module_args['add'] = "name=unit_test_brige_exist"
set_module_args(module_args)
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
@ -77,7 +77,7 @@ class TestRouterosApiModule(ModuleTestCase):
with self.assertRaises(AnsibleExitJson) as exc:
module_args = self.config_module_args.copy()
module_args['remove'] = "*A1"
set_module_args(module_args)
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
@ -88,7 +88,7 @@ class TestRouterosApiModule(ModuleTestCase):
with self.assertRaises(AnsibleFailJson) as exc:
module_args = self.config_module_args.copy()
module_args['remove'] = "*A2"
set_module_args(module_args)
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
@ -100,7 +100,7 @@ class TestRouterosApiModule(ModuleTestCase):
with self.assertRaises(AnsibleExitJson) as exc:
module_args = self.config_module_args.copy()
module_args['cmd'] = "add name=unit_test_brige_arbitrary"
set_module_args(module_args)
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
@ -111,7 +111,7 @@ class TestRouterosApiModule(ModuleTestCase):
with self.assertRaises(AnsibleFailJson) as exc:
module_args = self.config_module_args.copy()
module_args['cmd'] = "add NONE_EXIST=unit_test_brige_arbitrary"
set_module_args(module_args)
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
@ -123,7 +123,7 @@ class TestRouterosApiModule(ModuleTestCase):
with self.assertRaises(AnsibleExitJson) as exc:
module_args = self.config_module_args.copy()
module_args['update'] = ".id=*A1 name=unit_test_brige"
set_module_args(module_args)
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
@ -134,7 +134,7 @@ class TestRouterosApiModule(ModuleTestCase):
with self.assertRaises(AnsibleFailJson) as exc:
module_args = self.config_module_args.copy()
module_args['update'] = ".id=*A2 name=unit_test_brige"
set_module_args(module_args)
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
@ -146,7 +146,7 @@ class TestRouterosApiModule(ModuleTestCase):
with self.assertRaises(AnsibleExitJson) as exc:
module_args = self.config_module_args.copy()
module_args['query'] = ".id name"
set_module_args(module_args)
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
@ -162,7 +162,7 @@ class TestRouterosApiModule(ModuleTestCase):
with self.assertRaises(AnsibleExitJson) as exc:
module_args = self.config_module_args.copy()
module_args['query'] = ".id other"
set_module_args(module_args)
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
@ -174,7 +174,7 @@ class TestRouterosApiModule(ModuleTestCase):
with self.assertRaises(AnsibleExitJson) as exc:
module_args = self.config_module_args.copy()
module_args['query'] = ".id name WHERE name == dummy_bridge_A2"
set_module_args(module_args)
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
@ -188,7 +188,7 @@ class TestRouterosApiModule(ModuleTestCase):
with self.assertRaises(AnsibleExitJson) as exc:
module_args = self.config_module_args.copy()
module_args['query'] = ".id name WHERE name != dummy_bridge_A2"
set_module_args(module_args)
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
@ -204,7 +204,7 @@ class TestRouterosApiModule(ModuleTestCase):
module_args['extended_query'] = {
'attributes': ['.id', 'name'],
}
set_module_args(module_args)
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
@ -222,7 +222,7 @@ class TestRouterosApiModule(ModuleTestCase):
module_args['extended_query'] = {
'attributes': ['.id', 'other'],
}
set_module_args(module_args)
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
@ -243,7 +243,7 @@ class TestRouterosApiModule(ModuleTestCase):
},
],
}
set_module_args(module_args)
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
@ -266,7 +266,7 @@ class TestRouterosApiModule(ModuleTestCase):
},
],
}
set_module_args(module_args)
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
@ -298,7 +298,7 @@ class TestRouterosApiModule(ModuleTestCase):
},
],
}
set_module_args(module_args)
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]

View file

@ -437,7 +437,7 @@ class TestRouterosApiFactsModule(ModuleTestCase):
def test_module_fail_when_required_args_missing(self):
with self.assertRaises(AnsibleFailJson) as exc:
set_module_args({})
with set_module_args({}):
self.module.main()
result = exc.exception.args[0]
@ -447,7 +447,7 @@ class TestRouterosApiFactsModule(ModuleTestCase):
with self.assertRaises(AnsibleFailJson) as exc:
module_args = self.config_module_args.copy()
module_args['gather_subset'] = ['!foobar']
set_module_args(module_args)
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
@ -456,7 +456,7 @@ class TestRouterosApiFactsModule(ModuleTestCase):
def test_full_run(self):
with self.assertRaises(AnsibleExitJson) as exc:
set_module_args(self.config_module_args.copy())
with set_module_args(self.config_module_args.copy()):
self.module.main()
result = exc.exception.args[0]

View file

@ -117,7 +117,7 @@ class TestRouterosApiFindAndModifyModule(ModuleTestCase):
def test_module_fail_when_required_args_missing(self):
with self.assertRaises(AnsibleFailJson) as exc:
set_module_args({})
with set_module_args({}):
self.module.main()
result = exc.exception.args[0]
@ -136,7 +136,7 @@ class TestRouterosApiFindAndModifyModule(ModuleTestCase):
'comment': 'bar',
},
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -155,7 +155,7 @@ class TestRouterosApiFindAndModifyModule(ModuleTestCase):
'comment': 'bar',
},
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -173,7 +173,7 @@ class TestRouterosApiFindAndModifyModule(ModuleTestCase):
'!comment': None,
},
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -190,7 +190,7 @@ class TestRouterosApiFindAndModifyModule(ModuleTestCase):
'!comment': 'gone',
},
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -212,7 +212,7 @@ class TestRouterosApiFindAndModifyModule(ModuleTestCase):
},
'require_matches_min': 10,
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -234,7 +234,7 @@ class TestRouterosApiFindAndModifyModule(ModuleTestCase):
},
'require_matches_min': 10,
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -256,7 +256,7 @@ class TestRouterosApiFindAndModifyModule(ModuleTestCase):
},
'require_matches_max': 1,
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -277,7 +277,7 @@ class TestRouterosApiFindAndModifyModule(ModuleTestCase):
'name': 'bam',
},
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -303,7 +303,7 @@ class TestRouterosApiFindAndModifyModule(ModuleTestCase):
'require_matches_min': 2,
'allow_no_matches': True,
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -325,7 +325,7 @@ class TestRouterosApiFindAndModifyModule(ModuleTestCase):
'values': {
},
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -349,7 +349,7 @@ class TestRouterosApiFindAndModifyModule(ModuleTestCase):
'comment': None,
},
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -374,7 +374,7 @@ class TestRouterosApiFindAndModifyModule(ModuleTestCase):
},
'_ansible_diff': True,
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -450,7 +450,7 @@ class TestRouterosApiFindAndModifyModule(ModuleTestCase):
'comment': None,
},
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -502,7 +502,7 @@ class TestRouterosApiFindAndModifyModule(ModuleTestCase):
'comment': '',
},
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -553,7 +553,7 @@ class TestRouterosApiFindAndModifyModule(ModuleTestCase):
'!comment': None,
},
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -606,7 +606,7 @@ class TestRouterosApiFindAndModifyModule(ModuleTestCase):
'!connection-state': None,
},
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]

View file

@ -41,7 +41,7 @@ class TestRouterosApiInfoModule(ModuleTestCase):
def test_module_fail_when_required_args_missing(self):
with self.assertRaises(AnsibleFailJson) as exc:
set_module_args({})
with set_module_args({}):
self.module.main()
result = exc.exception.args[0]
@ -53,7 +53,7 @@ class TestRouterosApiInfoModule(ModuleTestCase):
args.update({
'path': 'something invalid'
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -68,7 +68,7 @@ class TestRouterosApiInfoModule(ModuleTestCase):
args.update({
'path': 'ip dns static'
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -93,7 +93,7 @@ class TestRouterosApiInfoModule(ModuleTestCase):
args.update({
'path': 'caps-man aaa',
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -122,7 +122,7 @@ class TestRouterosApiInfoModule(ModuleTestCase):
'path': 'caps-man aaa',
'hide_defaults': False,
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -155,7 +155,7 @@ class TestRouterosApiInfoModule(ModuleTestCase):
'path': 'caps-man aaa',
'unfiltered': True,
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -189,7 +189,7 @@ class TestRouterosApiInfoModule(ModuleTestCase):
'path': 'ip firewall filter',
'handle_disabled': 'exclamation',
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -278,7 +278,7 @@ class TestRouterosApiInfoModule(ModuleTestCase):
'path': 'ip firewall filter',
'handle_disabled': 'null-value',
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -367,7 +367,7 @@ class TestRouterosApiInfoModule(ModuleTestCase):
'path': 'ip firewall filter',
'handle_disabled': 'omit',
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -402,7 +402,7 @@ class TestRouterosApiInfoModule(ModuleTestCase):
'handle_disabled': 'omit',
'include_dynamic': True,
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -460,7 +460,7 @@ class TestRouterosApiInfoModule(ModuleTestCase):
'path': 'interface list',
'handle_disabled': 'omit',
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -513,7 +513,7 @@ class TestRouterosApiInfoModule(ModuleTestCase):
'handle_disabled': 'omit',
'include_builtin': True,
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -605,7 +605,7 @@ class TestRouterosApiInfoModule(ModuleTestCase):
'path': 'ip dhcp-server lease',
'handle_disabled': 'omit',
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -688,7 +688,7 @@ class TestRouterosApiInfoModule(ModuleTestCase):
args.update({
'path': 'interface gre',
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -776,7 +776,7 @@ class TestRouterosApiInfoModule(ModuleTestCase):
'handle_disabled': 'omit',
'hide_defaults': False,
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -847,7 +847,7 @@ class TestRouterosApiInfoModule(ModuleTestCase):
'handle_disabled': 'omit',
'restrict': [],
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -899,7 +899,7 @@ class TestRouterosApiInfoModule(ModuleTestCase):
'values': ['forward'],
}],
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -970,7 +970,7 @@ class TestRouterosApiInfoModule(ModuleTestCase):
},
],
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]

View file

@ -318,7 +318,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
def test_module_fail_when_required_args_missing(self):
with self.assertRaises(AnsibleFailJson) as exc:
set_module_args({})
with set_module_args({}):
self.module.main()
result = exc.exception.args[0]
@ -331,7 +331,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
'path': 'something invalid',
'data': [],
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -348,7 +348,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
'foo': 'bar',
}],
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -366,7 +366,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
'!comment': None,
}],
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -383,7 +383,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
'!disabled': None,
}],
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -400,7 +400,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
'!comment': 'foo',
}],
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -416,7 +416,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
'name': None,
}],
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -432,7 +432,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
'interface': 'eth0',
}],
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -448,7 +448,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
'address': '192.168.88.1',
}],
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -466,7 +466,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
'address': '192.168.88.1',
}],
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -498,7 +498,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
},
],
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -533,7 +533,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
'handle_absent_entries': 'remove',
'handle_entries_content': 'remove',
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -556,7 +556,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
},
],
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -591,7 +591,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
},
],
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -656,7 +656,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
},
],
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -722,7 +722,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
],
'_ansible_check_mode': True,
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -785,7 +785,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
'handle_absent_entries': 'remove',
'handle_entries_content': 'remove',
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -844,7 +844,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
'handle_entries_content': 'remove',
'_ansible_check_mode': True,
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -903,7 +903,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
'handle_absent_entries': 'remove',
'handle_entries_content': 'remove',
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -963,7 +963,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
'handle_entries_content': 'remove',
'_ansible_check_mode': True,
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -1017,7 +1017,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
'handle_absent_entries': 'remove',
'handle_entries_content': 'remove',
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -1077,7 +1077,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
'handle_entries_content': 'remove',
'_ansible_check_mode': True,
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -1128,7 +1128,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
'handle_absent_entries': 'remove',
'handle_entries_content': 'remove',
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -1164,7 +1164,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
'handle_entries_content': 'remove',
'_ansible_check_mode': True,
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -1212,7 +1212,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
'handle_entries_content': 'remove',
'ensure_order': True,
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -1285,7 +1285,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
'ensure_order': True,
'_ansible_check_mode': True,
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -1340,7 +1340,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
},
],
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -1363,7 +1363,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
],
'handle_entries_content': 'remove',
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -1386,7 +1386,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
},
],
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -1426,7 +1426,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
],
'_ansible_check_mode': True,
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -1466,7 +1466,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
],
'handle_entries_content': 'remove',
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -1507,7 +1507,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
'handle_entries_content': 'remove',
'_ansible_check_mode': True,
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -1551,7 +1551,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
},
],
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -1587,7 +1587,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
'handle_absent_entries': 'remove',
'handle_entries_content': 'remove',
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -1621,7 +1621,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
'handle_absent_entries': 'remove',
'handle_entries_content': 'remove',
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -1676,7 +1676,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
'handle_entries_content': 'remove',
'_ansible_check_mode': True,
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -1729,7 +1729,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
'handle_entries_content': 'remove',
'ensure_order': True,
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -1785,7 +1785,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
'ensure_order': True,
'_ansible_check_mode': True,
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -1847,7 +1847,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
'handle_entries_content': 'remove',
'ensure_order': True,
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -1879,7 +1879,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
'handle_entries_content': 'remove',
'ensure_order': True,
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -1911,7 +1911,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
'handle_entries_content': 'remove',
'ensure_order': True,
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -1969,7 +1969,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
'handle_absent_entries': 'remove',
'ensure_order': True,
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]
@ -2005,7 +2005,7 @@ class TestRouterosApiModifyModule(ModuleTestCase):
'handle_absent_entries': 'remove',
'ensure_order': True,
})
set_module_args(args)
with set_module_args(args):
self.module.main()
result = exc.exception.args[0]

View file

@ -47,54 +47,54 @@ class TestRouterosCommandModule(TestRouterosModule):
self.run_commands.side_effect = load_from_file
def test_command_simple(self):
set_module_args(dict(commands=['/system resource print']))
with set_module_args(dict(commands=['/system resource print'])):
result = self.execute_module(changed=True)
self.assertEqual(len(result['stdout']), 1)
self.assertTrue('platform: "MikroTik"' in result['stdout'][0])
def test_command_multiple(self):
set_module_args(dict(commands=['/system resource print', '/system resource print']))
with set_module_args(dict(commands=['/system resource print', '/system resource print'])):
result = self.execute_module(changed=True)
self.assertEqual(len(result['stdout']), 2)
self.assertTrue('platform: "MikroTik"' in result['stdout'][0])
def test_command_wait_for(self):
wait_for = 'result[0] contains "MikroTik"'
set_module_args(dict(commands=['/system resource print'], wait_for=wait_for))
with set_module_args(dict(commands=['/system resource print'], wait_for=wait_for)):
self.execute_module(changed=True)
def test_command_wait_for_fails(self):
wait_for = 'result[0] contains "test string"'
set_module_args(dict(commands=['/system resource print'], wait_for=wait_for))
with set_module_args(dict(commands=['/system resource print'], wait_for=wait_for)):
self.execute_module(failed=True)
self.assertEqual(self.run_commands.call_count, 10)
def test_command_retries(self):
wait_for = 'result[0] contains "test string"'
set_module_args(dict(commands=['/system resource print'], wait_for=wait_for, retries=2))
with set_module_args(dict(commands=['/system resource print'], wait_for=wait_for, retries=2)):
self.execute_module(failed=True)
self.assertEqual(self.run_commands.call_count, 2)
def test_command_match_any(self):
wait_for = ['result[0] contains "MikroTik"',
'result[0] contains "test string"']
set_module_args(dict(commands=['/system resource print'], wait_for=wait_for, match='any'))
with set_module_args(dict(commands=['/system resource print'], wait_for=wait_for, match='any')):
self.execute_module(changed=True)
def test_command_match_all(self):
wait_for = ['result[0] contains "MikroTik"',
'result[0] contains "RB1100"']
set_module_args(dict(commands=['/system resource print'], wait_for=wait_for, match='all'))
with set_module_args(dict(commands=['/system resource print'], wait_for=wait_for, match='all')):
self.execute_module(changed=True)
def test_command_match_all_failure(self):
wait_for = ['result[0] contains "MikroTik"',
'result[0] contains "test string"']
commands = ['/system resource print', '/system resource print']
set_module_args(dict(commands=commands, wait_for=wait_for, match='all'))
with set_module_args(dict(commands=commands, wait_for=wait_for, match='all')):
self.execute_module(failed=True)
def test_command_wait_for_2(self):
wait_for = 'result[0] contains "wireless"'
set_module_args(dict(commands=['/system package print'], wait_for=wait_for))
with set_module_args(dict(commands=['/system package print'], wait_for=wait_for)):
self.execute_module(changed=True)

View file

@ -39,7 +39,7 @@ class TestRouterosFactsModule(TestRouterosModule):
self.run_commands.side_effect = load_from_file
def test_facts_default(self):
set_module_args(dict(gather_subset='default'))
with set_module_args(dict(gather_subset='default')):
result = self.execute_module()
self.assertEqual(
result['ansible_facts']['ansible_net_hostname'], 'MikroTik'
@ -61,7 +61,7 @@ class TestRouterosFactsModule(TestRouterosModule):
)
def test_facts_hardware(self):
set_module_args(dict(gather_subset='hardware'))
with set_module_args(dict(gather_subset='hardware')):
result = self.execute_module()
self.assertEqual(
result['ansible_facts']['ansible_net_spacefree_mb'], 64921.6
@ -77,7 +77,7 @@ class TestRouterosFactsModule(TestRouterosModule):
)
def test_facts_config(self):
set_module_args(dict(gather_subset='config'))
with set_module_args(dict(gather_subset='config')):
result = self.execute_module()
self.assertIsInstance(
result['ansible_facts']['ansible_net_config'], str
@ -88,7 +88,7 @@ class TestRouterosFactsModule(TestRouterosModule):
)
def test_facts_interfaces(self):
set_module_args(dict(gather_subset='interfaces'))
with set_module_args(dict(gather_subset='interfaces')):
result = self.execute_module()
self.assertIn(
result['ansible_facts']['ansible_net_all_ipv4_addresses'][0], ['10.37.129.3', '10.37.0.0', '192.168.88.1']
@ -118,7 +118,7 @@ class TestRouterosFactsModule(TestRouterosModule):
self.assertEqual(result, None)
def test_facts_routing(self):
set_module_args(dict(gather_subset='routing'))
with set_module_args(dict(gather_subset='routing')):
result = self.execute_module()
self.assertIn(
result['ansible_facts']['ansible_net_bgp_peer']['iBGP_BRAS.TYRMA']['name'], ['iBGP_BRAS.TYRMA']

View file

@ -5,6 +5,7 @@
from __future__ import absolute_import, division, print_function
__metaclass__ = type
import contextlib as _contextlib
import json
from ansible_collections.community.routeros.tests.unit.compat import unittest
@ -13,14 +14,16 @@ from ansible.module_utils import basic
from ansible.module_utils.common.text.converters import to_bytes
@_contextlib.contextmanager
def set_module_args(args):
if '_ansible_remote_tmp' not in args:
args['_ansible_remote_tmp'] = '/tmp'
if '_ansible_keep_remote_files' not in args:
args['_ansible_keep_remote_files'] = False
args = json.dumps({'ANSIBLE_MODULE_ARGS': args})
basic._ANSIBLE_ARGS = to_bytes(args)
serialized_args = to_bytes(json.dumps({'ANSIBLE_MODULE_ARGS': args}))
with patch.object(basic, '_ANSIBLE_ARGS', serialized_args):
yield
class AnsibleExitJson(Exception):