diff options
Diffstat (limited to 'roles/lib_openshift/src/test')
-rwxr-xr-x[-rw-r--r--] | roles/lib_openshift/src/test/integration/oc_route.yml (renamed from roles/lib_openshift/src/test/integration/route.yml) | 29 | ||||
-rwxr-xr-x | roles/lib_openshift/src/test/integration/oc_version.yml | 17 | ||||
-rwxr-xr-x | roles/lib_openshift/src/test/unit/oc_version.py | 70 |
3 files changed, 111 insertions, 5 deletions
diff --git a/roles/lib_openshift/src/test/integration/route.yml b/roles/lib_openshift/src/test/integration/oc_route.yml index 6a96b334f..620d5d5e7 100644..100755 --- a/roles/lib_openshift/src/test/integration/route.yml +++ b/roles/lib_openshift/src/test/integration/oc_route.yml @@ -1,5 +1,5 @@ -#!/usr/bin/ansible-playbook -# ./route.yml -M ../../../library -e "cli_master_test=$OPENSHIFT_MASTER +#!/usr/bin/ansible-playbook --module-path=../../../library/ +# ./oc_route.yml -M ../../../library -e "cli_master_test=$OPENSHIFT_MASTER --- - hosts: "{{ cli_master_test }}" gather_facts: no @@ -8,15 +8,20 @@ - name: create route oc_route: name: test - namespace: test + namespace: default tls_termination: edge cert_content: testing cert cacert_content: testing cacert + key_content: key content service_name: test host: test.example register: routeout - debug: var=routeout + - assert: + that: "routeout.results.results[0]['metadata']['name'] == 'test'" + msg: route create failed + - name: get route oc_route: state: list @@ -25,6 +30,10 @@ register: routeout - debug: var=routeout + - assert: + that: "routeout.results[0]['metadata']['name'] == 'test'" + msg: get route failed + - name: delete route oc_route: state: absent @@ -33,13 +42,18 @@ register: routeout - debug: var=routeout + - assert: + that: "routeout.results.returncode == 0" + msg: delete route failed + - name: create route oc_route: name: test - namespace: test + namespace: default tls_termination: edge cert_content: testing cert cacert_content: testing cacert + key_content: testing key service_name: test host: test.example register: routeout @@ -48,11 +62,16 @@ - name: create route noop oc_route: name: test - namespace: test + namespace: default tls_termination: edge cert_content: testing cert cacert_content: testing cacert + key_content: testing key service_name: test host: test.example register: routeout - debug: var=routeout + + - assert: + that: "routeout.changed == False" + msg: Route create not idempotent diff --git a/roles/lib_openshift/src/test/integration/oc_version.yml b/roles/lib_openshift/src/test/integration/oc_version.yml new file mode 100755 index 000000000..52336d8da --- /dev/null +++ b/roles/lib_openshift/src/test/integration/oc_version.yml @@ -0,0 +1,17 @@ +#!/usr/bin/ansible-playbook --module-path=../../../library/ +# ./oc_version.yml -e "cli_master_test=$OPENSHIFT_MASTER +--- +- hosts: "{{ cli_master_test }}" + gather_facts: no + user: root + tasks: + - name: Get openshift version + oc_version: + register: versionout + + - debug: var=versionout + + - assert: + that: + - "'oc_numeric' in versionout.results.keys()" + msg: "Did not find 'oc_numeric' in version results." diff --git a/roles/lib_openshift/src/test/unit/oc_version.py b/roles/lib_openshift/src/test/unit/oc_version.py new file mode 100755 index 000000000..8d9128187 --- /dev/null +++ b/roles/lib_openshift/src/test/unit/oc_version.py @@ -0,0 +1,70 @@ +#!/usr/bin/env python2 +''' + Unit tests for oc version +''' +# To run +# python -m unittest version +# +# . +# Ran 1 test in 0.597s +# +# OK + +import os +import sys +import unittest + +# Removing invalid variable names for tests so that I can +# keep them brief +# pylint: disable=invalid-name,no-name-in-module +# Disable import-error b/c our libraries aren't loaded in jenkins +# pylint: disable=import-error,wrong-import-position +# place class in our python path +module_path = os.path.join('/'.join(os.path.realpath(__file__).split('/')[:-4]), 'library') # noqa: E501 +sys.path.insert(0, module_path) +from oc_version import OCVersion # noqa: E402 + + +# pylint: disable=unused-argument +def oc_cmd_mock(cmd, oadm=False, output=False, output_type='json', input_data=None): + '''mock command for openshift_cmd''' + version = '''oc v3.4.0.39 +kubernetes v1.4.0+776c994 +features: Basic-Auth GSSAPI Kerberos SPNEGO + +Server https://internal.api.opstest.openshift.com +openshift v3.4.0.39 +kubernetes v1.4.0+776c994 +''' + if 'version' in cmd: + return {'stderr': None, + 'stdout': version, + 'returncode': 0, + 'results': version, + 'cmd': cmd} + + +class OCVersionTest(unittest.TestCase): + ''' + Test class for OCVersion + ''' + + def setUp(self): + ''' setup method will create a file and set to known configuration ''' + self.oc_ver = OCVersion(None, False) + self.oc_ver.openshift_cmd = oc_cmd_mock + + def test_get(self): + ''' Testing a get ''' + results = self.oc_ver.get() + self.assertEqual(results['oc_short'], '3.4') + self.assertEqual(results['oc_numeric'], '3.4.0.39') + self.assertEqual(results['kubernetes_numeric'], '1.4.0') + + def tearDown(self): + '''TearDown method''' + pass + + +if __name__ == "__main__": + unittest.main() |