summaryrefslogtreecommitdiff
path: root/test/units/modules/network/icx/icx_module.py
diff options
context:
space:
mode:
authorsushma-alethea <52454757+sushma-alethea@users.noreply.github.com>2019-07-31 20:01:41 +0530
committerGanesh Nalawade <ganesh634@gmail.com>2019-07-31 20:01:41 +0530
commitf2cb44633aad25e8668997e088139ed5354c6f3d (patch)
tree90fe2f3eb842415fb3bc0a94358836ca0310dc17 /test/units/modules/network/icx/icx_module.py
parent58a53fe0ebc80e2c663010729e634a8ad1e16495 (diff)
downloadansible-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.py93
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