From 6218b9938b523c545a7610a3c77d6a19aea81e1a Mon Sep 17 00:00:00 2001 From: Kenny Woodson Date: Thu, 19 Jan 2017 12:24:52 -0500 Subject: Adding version to lib_openshift --- .../src/test/integration/oc_route.yml | 77 ++++++++++++++++++++++ .../src/test/integration/oc_version.yml | 17 +++++ roles/lib_openshift/src/test/integration/route.yml | 58 ---------------- roles/lib_openshift/src/test/unit/oc_version.py | 70 ++++++++++++++++++++ 4 files changed, 164 insertions(+), 58 deletions(-) create mode 100755 roles/lib_openshift/src/test/integration/oc_route.yml create mode 100755 roles/lib_openshift/src/test/integration/oc_version.yml delete mode 100644 roles/lib_openshift/src/test/integration/route.yml create mode 100755 roles/lib_openshift/src/test/unit/oc_version.py (limited to 'roles/lib_openshift/src/test') diff --git a/roles/lib_openshift/src/test/integration/oc_route.yml b/roles/lib_openshift/src/test/integration/oc_route.yml new file mode 100755 index 000000000..620d5d5e7 --- /dev/null +++ b/roles/lib_openshift/src/test/integration/oc_route.yml @@ -0,0 +1,77 @@ +#!/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 + user: root + tasks: + - name: create route + oc_route: + name: 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 + name: test + namespace: default + register: routeout + - debug: var=routeout + + - assert: + that: "routeout.results[0]['metadata']['name'] == 'test'" + msg: get route failed + + - name: delete route + oc_route: + state: absent + name: test + namespace: default + register: routeout + - debug: var=routeout + + - assert: + that: "routeout.results.returncode == 0" + msg: delete route failed + + - name: create route + oc_route: + name: 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 + + - name: create route noop + oc_route: + name: 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/integration/route.yml b/roles/lib_openshift/src/test/integration/route.yml deleted file mode 100644 index 6a96b334f..000000000 --- a/roles/lib_openshift/src/test/integration/route.yml +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/bin/ansible-playbook -# ./route.yml -M ../../../library -e "cli_master_test=$OPENSHIFT_MASTER ---- -- hosts: "{{ cli_master_test }}" - gather_facts: no - user: root - tasks: - - name: create route - oc_route: - name: test - namespace: test - tls_termination: edge - cert_content: testing cert - cacert_content: testing cacert - service_name: test - host: test.example - register: routeout - - debug: var=routeout - - - name: get route - oc_route: - state: list - name: test - namespace: default - register: routeout - - debug: var=routeout - - - name: delete route - oc_route: - state: absent - name: test - namespace: default - register: routeout - - debug: var=routeout - - - name: create route - oc_route: - name: test - namespace: test - tls_termination: edge - cert_content: testing cert - cacert_content: testing cacert - service_name: test - host: test.example - register: routeout - - debug: var=routeout - - - name: create route noop - oc_route: - name: test - namespace: test - tls_termination: edge - cert_content: testing cert - cacert_content: testing cacert - service_name: test - host: test.example - register: routeout - - debug: var=routeout 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() -- cgit v1.2.3