summaryrefslogtreecommitdiffstats
path: root/roles/lib_openshift/src/test
diff options
context:
space:
mode:
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-xroles/lib_openshift/src/test/integration/oc_version.yml17
-rwxr-xr-xroles/lib_openshift/src/test/unit/oc_version.py70
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()