summaryrefslogtreecommitdiffstats
path: root/ansible_collections/dellemc/openmanage/tests/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'ansible_collections/dellemc/openmanage/tests/README.md')
-rw-r--r--ansible_collections/dellemc/openmanage/tests/README.md54
1 files changed, 54 insertions, 0 deletions
diff --git a/ansible_collections/dellemc/openmanage/tests/README.md b/ansible_collections/dellemc/openmanage/tests/README.md
new file mode 100644
index 00000000..f66cdd59
--- /dev/null
+++ b/ansible_collections/dellemc/openmanage/tests/README.md
@@ -0,0 +1,54 @@
+### Overview
+Dell EMC OpenManage Ansible Modules unit test scripts are located under
+ [unit](./tests/unit) directory.
+
+### Implementing the unit tests
+Any contribution must have an associated unit test. This section covers the
+ tests that need to be carried out.
+* The unit tests are required for each new resource, bug fix, or enhancement. They must cover what is being submitted.
+* The name of the test modules should start with the prefix "test_" in
+ addition to the tested module name. For example: test_ome_user
+
+### Prerequisites
+* Dell EMC OpenManage collections - to install run `ansible-galaxy collection
+ install dellemc.openmanage`
+* To run the unittest for iDRAC modules, install OpenManage Python Software Development Kit (OMSDK) using
+`pip install omsdk --upgrade` or from [Dell EMC OpenManage Python SDK](https://github.com/dell/omsdk)
+
+### Executing unit tests
+You can execute them manually by using any tool of your choice, like `pytest` or `ansible-test`.
+
+#### Executing with `ansible-test`
+* Clone [Ansible repository](https://github.com/ansible/ansible) from GitHub to local $ANSIBLE_DIR.
+* Copy `compat` directory from the cloned repository path.
+ `$ANSIBLE_DIR/test/units/` to the location of the installed Dell EMC OpenManage collection `$ANSIBLE_COLLECTIONS_PATHS/ansible_collections/dellemc/openmanage/tests/unit`.
+* Copy `utils.py` file from `$ANSIBLE_DIR/test/units/modules` tests location to the location of the installed collection `$ANSIBLE_COLLECTIONS_PATHS/ansible_collections/dellemc/openmanage/tests/unit/plugins/modules`
+* Edit the copied `utils.py` to refer the above `compat` package as below:
+```python
+ from units.compat import unittest
+
+ # Replace the above lines in utils.py as below
+
+ from ansible_collections.dellemc.openmanage.tests.unit.compat import unittest
+```
+* To install `ansible-test` requirements use
+ ```
+ ansible-test units --requirements
+ ```
+* To perform a test, run the following command
+ ```
+ ansible-test units -vvv
+ ```
+* To run any specific module use the below command,
+ ```
+ ansible-test units idrac_server_config_profile
+ ```
+See [here](https://docs.ansible.com/ansible/latest/dev_guide/testing_units.html#testing-units) for more details on unit-testing.
+
+#### Executing with `pytest`
+
+See [here](https://docs.pytest.org/en/stable/).
+
+### Acceptance criteria
+The code coverage of new module should be more than 90%.
+Execute code coverage with `pytest` as explained [here](https://pytest-cov.readthedocs.io/en/latest/reporting.html). \ No newline at end of file