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,8 +34,8 @@ class TestRouterosApiModule(ModuleTestCase):
def test_module_fail_when_required_args_missing(self):
with self.assertRaises(AnsibleFailJson) as exc:
set_module_args({})
self.module.main()
with set_module_args({}):
self.module.main()
result = exc.exception.args[0]
self.assertEqual(result['failed'], True)
@ -43,8 +43,8 @@ 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())
self.module.main()
with set_module_args(self.config_module_args.copy()):
self.module.main()
result = exc.exception.args[0]
self.assertEqual(result['changed'], False)
@ -54,8 +54,8 @@ 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)
self.module.main()
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
self.assertEqual(result['changed'], True)
@ -65,8 +65,8 @@ 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)
self.module.main()
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
self.assertEqual(result['failed'], True)
@ -77,8 +77,8 @@ 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)
self.module.main()
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
self.assertEqual(result['changed'], True)
@ -88,8 +88,8 @@ 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)
self.module.main()
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
self.assertEqual(result['failed'], True)
@ -100,8 +100,8 @@ 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)
self.module.main()
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
self.assertEqual(result['changed'], False)
@ -111,8 +111,8 @@ 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)
self.module.main()
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
self.assertEqual(result['failed'], True)
@ -123,8 +123,8 @@ 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)
self.module.main()
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
self.assertEqual(result['changed'], True)
@ -134,8 +134,8 @@ 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)
self.module.main()
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
self.assertEqual(result['failed'], True)
@ -146,8 +146,8 @@ 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)
self.module.main()
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
self.assertEqual(result['changed'], False)
@ -162,8 +162,8 @@ 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)
self.module.main()
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
self.assertEqual(result['changed'], False)
@ -174,8 +174,8 @@ 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)
self.module.main()
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
self.assertEqual(result['changed'], False)
@ -188,8 +188,8 @@ 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)
self.module.main()
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
self.assertEqual(result['changed'], False)
@ -204,8 +204,8 @@ class TestRouterosApiModule(ModuleTestCase):
module_args['extended_query'] = {
'attributes': ['.id', 'name'],
}
set_module_args(module_args)
self.module.main()
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
self.assertEqual(result['changed'], False)
@ -222,8 +222,8 @@ class TestRouterosApiModule(ModuleTestCase):
module_args['extended_query'] = {
'attributes': ['.id', 'other'],
}
set_module_args(module_args)
self.module.main()
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
self.assertEqual(result['changed'], False)
@ -243,8 +243,8 @@ class TestRouterosApiModule(ModuleTestCase):
},
],
}
set_module_args(module_args)
self.module.main()
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
self.assertEqual(result['changed'], False)
@ -266,8 +266,8 @@ class TestRouterosApiModule(ModuleTestCase):
},
],
}
set_module_args(module_args)
self.module.main()
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
self.assertEqual(result['changed'], False)
@ -298,8 +298,8 @@ class TestRouterosApiModule(ModuleTestCase):
},
],
}
set_module_args(module_args)
self.module.main()
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
self.assertEqual(result['changed'], False)

View file

@ -437,8 +437,8 @@ class TestRouterosApiFactsModule(ModuleTestCase):
def test_module_fail_when_required_args_missing(self):
with self.assertRaises(AnsibleFailJson) as exc:
set_module_args({})
self.module.main()
with set_module_args({}):
self.module.main()
result = exc.exception.args[0]
self.assertEqual(result['failed'], True)
@ -447,8 +447,8 @@ 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)
self.module.main()
with set_module_args(module_args):
self.module.main()
result = exc.exception.args[0]
self.assertEqual(result['failed'], True)
@ -456,8 +456,8 @@ class TestRouterosApiFactsModule(ModuleTestCase):
def test_full_run(self):
with self.assertRaises(AnsibleExitJson) as exc:
set_module_args(self.config_module_args.copy())
self.module.main()
with set_module_args(self.config_module_args.copy()):
self.module.main()
result = exc.exception.args[0]
self.assertEqual(result['changed'], False)

View file

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

View file

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

View file

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

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']))
result = self.execute_module(changed=True)
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']))
result = self.execute_module(changed=True)
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))
self.execute_module(changed=True)
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))
self.execute_module(failed=True)
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))
self.execute_module(failed=True)
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'))
self.execute_module(changed=True)
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'))
self.execute_module(changed=True)
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'))
self.execute_module(failed=True)
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))
self.execute_module(changed=True)
with set_module_args(dict(commands=['/system package print'], wait_for=wait_for)):
self.execute_module(changed=True)

View file

@ -39,8 +39,8 @@ class TestRouterosFactsModule(TestRouterosModule):
self.run_commands.side_effect = load_from_file
def test_facts_default(self):
set_module_args(dict(gather_subset='default'))
result = self.execute_module()
with set_module_args(dict(gather_subset='default')):
result = self.execute_module()
self.assertEqual(
result['ansible_facts']['ansible_net_hostname'], 'MikroTik'
)
@ -61,8 +61,8 @@ class TestRouterosFactsModule(TestRouterosModule):
)
def test_facts_hardware(self):
set_module_args(dict(gather_subset='hardware'))
result = self.execute_module()
with set_module_args(dict(gather_subset='hardware')):
result = self.execute_module()
self.assertEqual(
result['ansible_facts']['ansible_net_spacefree_mb'], 64921.6
)
@ -77,8 +77,8 @@ class TestRouterosFactsModule(TestRouterosModule):
)
def test_facts_config(self):
set_module_args(dict(gather_subset='config'))
result = self.execute_module()
with set_module_args(dict(gather_subset='config')):
result = self.execute_module()
self.assertIsInstance(
result['ansible_facts']['ansible_net_config'], str
)
@ -88,8 +88,8 @@ class TestRouterosFactsModule(TestRouterosModule):
)
def test_facts_interfaces(self):
set_module_args(dict(gather_subset='interfaces'))
result = self.execute_module()
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,8 +118,8 @@ class TestRouterosFactsModule(TestRouterosModule):
self.assertEqual(result, None)
def test_facts_routing(self):
set_module_args(dict(gather_subset='routing'))
result = self.execute_module()
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):