diff options
author | sushma-alethea <52454757+sushma-alethea@users.noreply.github.com> | 2019-07-31 20:01:41 +0530 |
---|---|---|
committer | Ganesh Nalawade <ganesh634@gmail.com> | 2019-07-31 20:01:41 +0530 |
commit | f2cb44633aad25e8668997e088139ed5354c6f3d (patch) | |
tree | 90fe2f3eb842415fb3bc0a94358836ca0310dc17 /test/units/modules/network/icx/icx_module.py | |
parent | 58a53fe0ebc80e2c663010729e634a8ad1e16495 (diff) | |
download | ansible-f2cb44633aad25e8668997e088139ed5354c6f3d.tar.gz |
Modules to manage ICX devices (#58969)
* new module
* new terminal
* new terminal
* new cliconf
* cliconf
* icx cliconf
* icx_cliconf
* icx test units module
* icx units module
* icx banner unit test
* PR changes resolved
* changes resolved
* Changes Resolved
* check_running_config changes resolved
* added notes
* removed icx rst
* new commit
* new changes
* deleted icx rst
* icx .rst
* modified platform_index.rst
* modified platform_index.rst
* changes resolved
* PR comments resolved
* Update platform_index.rst
PR comment resolved
Diffstat (limited to 'test/units/modules/network/icx/icx_module.py')
-rw-r--r-- | test/units/modules/network/icx/icx_module.py | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/test/units/modules/network/icx/icx_module.py b/test/units/modules/network/icx/icx_module.py new file mode 100644 index 0000000000..f3f9e92f2a --- /dev/null +++ b/test/units/modules/network/icx/icx_module.py @@ -0,0 +1,93 @@ +# Copyright: (c) 2019, Ansible Project +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +from __future__ import (absolute_import, division, print_function) +__metaclass__ = type + +import os +import json + +from units.modules.utils import AnsibleExitJson, AnsibleFailJson, ModuleTestCase + + +fixture_path = os.path.join(os.path.dirname(__file__), 'fixtures') +fixture_data = {} + + +def load_fixture(name): + path = os.path.join(fixture_path, name) + + if path in fixture_data: + return fixture_data[path] + + with open(path) as f: + data = f.read() + + try: + data = json.loads(data) + except Exception: + pass + + fixture_data[path] = data + return data + + +class TestICXModule(ModuleTestCase): + ENV_ICX_USE_DIFF = True + + def set_running_config(self): + self.ENV_ICX_USE_DIFF = self.get_running_config() + + def get_running_config(self, compare=None): + if compare is not None: + diff = compare + elif os.environ.get('ANSIBLE_CHECK_ICX_RUNNING_CONFIG') is not None: + if os.environ.get('ANSIBLE_CHECK_ICX_RUNNING_CONFIG') == 'False': + diff = False + else: + diff = True + else: + diff = True + return diff + + def execute_module(self, failed=False, changed=False, commands=None, sort=True, defaults=False, fields=None): + + self.load_fixtures(commands) + + if failed: + result = self.failed() + self.assertTrue(result['failed'], result) + else: + result = self.changed(changed) + self.assertEqual(result['changed'], changed, result) + + if commands is not None: + if sort: + self.assertEqual(sorted(commands), sorted(result['commands'])) + else: + self.assertEqual(commands, result['commands'], result['commands']) + + if fields is not None: + for key in fields: + if fields.get(key) is not None: + self.assertEqual(fields.get(key), result.get(key)) + + return result + + def failed(self): + with self.assertRaises(AnsibleFailJson) as exc: + self.module.main() + + result = exc.exception.args[0] + self.assertTrue(result['failed'], result) + return result + + def changed(self, changed=False): + with self.assertRaises(AnsibleExitJson) as exc: + self.module.main() + + result = exc.exception.args[0] + self.assertEqual(result['changed'], changed, result) + return result + + def load_fixtures(self, commands=None): + pass |