summaryrefslogtreecommitdiffstats
path: root/roles/lib_openshift/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'roles/lib_openshift/src/test')
-rwxr-xr-xroles/lib_openshift/src/test/generate-and-run-tests.sh54
-rwxr-xr-xroles/lib_openshift/src/test/integration/oadm_manage_node.yml27
-rwxr-xr-xroles/lib_openshift/src/test/integration/oc_label.yml59
-rwxr-xr-xroles/lib_openshift/src/test/integration/oc_service.yml2
-rwxr-xr-xroles/lib_openshift/src/test/unit/oadm_manage_node.py15
-rwxr-xr-xroles/lib_openshift/src/test/unit/oc_label.py14
-rwxr-xr-xroles/lib_openshift/src/test/unit/oc_scale.py21
-rwxr-xr-xroles/lib_openshift/src/test/unit/oc_secret.py38
-rwxr-xr-xroles/lib_openshift/src/test/unit/oc_service.py14
-rwxr-xr-xroles/lib_openshift/src/test/unit/oc_serviceaccount.py7
-rwxr-xr-xroles/lib_openshift/src/test/unit/oc_serviceaccount_secret.py24
-rwxr-xr-xroles/lib_openshift/src/test/unit/oc_version.py7
12 files changed, 213 insertions, 69 deletions
diff --git a/roles/lib_openshift/src/test/generate-and-run-tests.sh b/roles/lib_openshift/src/test/generate-and-run-tests.sh
new file mode 100755
index 000000000..cd7571372
--- /dev/null
+++ b/roles/lib_openshift/src/test/generate-and-run-tests.sh
@@ -0,0 +1,54 @@
+#!/bin/bash -e
+
+
+if [ $# -ne 1 ] ; then
+ echo "Usage: $(basename $0) <master name>"
+ exit 1
+fi
+
+MASTER=$1
+
+
+
+# Put us in the same dir as the script.
+cd $(dirname $0)
+
+
+echo
+echo "Running lib_utils generate-and-run-tests.sh"
+echo "-------------------------------------------"
+../../../lib_utils/src/test/generate-and-run-tests.sh
+
+
+echo
+echo "Running lib_openshift generate"
+echo "------------------------------"
+../generate.py
+
+
+echo
+echo "Running lib_openshift Unit Tests"
+echo "----------------------------"
+cd unit
+
+for test in *.py; do
+ echo
+ echo "--------------------------------------------------------------------------------"
+ echo
+ echo "Running $test..."
+ ./$test
+done
+
+
+echo
+echo "Running lib_openshift Integration Tests"
+echo "-----------------------------------"
+cd ../integration
+
+for test in *.yml; do
+ echo
+ echo "--------------------------------------------------------------------------------"
+ echo
+ echo "Running $test..."
+ ./$test -vvv -e cli_master_test="$MASTER"
+done
diff --git a/roles/lib_openshift/src/test/integration/oadm_manage_node.yml b/roles/lib_openshift/src/test/integration/oadm_manage_node.yml
index 69a701b17..3ee13a409 100755
--- a/roles/lib_openshift/src/test/integration/oadm_manage_node.yml
+++ b/roles/lib_openshift/src/test/integration/oadm_manage_node.yml
@@ -1,40 +1,51 @@
#!/usr/bin/ansible-playbook --module-path=../../../library/
-# ./oadm_manage_node.yml -M ../../../library -e "cli_master_test=$OPENSHIFT_MASTER cli_node_test=$OPENSHIFT_NODE
+#
+# ./oadm_manage_node.yml -e "cli_master_test=$OPENSHIFT_MASTER
---
- hosts: "{{ cli_master_test }}"
gather_facts: no
user: root
tasks:
+ - name: get list of nodes
+ oc_obj:
+ state: list
+ kind: node
+ register: obj_out
+
+ - name: Set the node to work with
+ set_fact:
+ node_to_test: "{{ obj_out['results']['results'][0]['items'][0]['metadata']['name'] }}"
+
- name: list pods from a node
oadm_manage_node:
list_pods: True
node:
- - "{{ cli_node_test }}"
+ - "{{ node_to_test }}"
register: podout
- debug: var=podout
- assert:
- that: "'{{ cli_node_test }}' in podout.results.nodes"
+ that: "'{{ node_to_test }}' in podout.results.nodes"
msg: Pod data was not returned
- name: set node to unschedulable
oadm_manage_node:
schedulable: False
node:
- - "{{ cli_node_test }}"
+ - "{{ node_to_test }}"
register: nodeout
- debug: var=nodeout
- name: assert that schedulable=False
assert:
that: nodeout.results.nodes[0]['schedulable'] == False
- msg: "{{ cli_node_test }} schedulable set to True"
+ msg: "{{ node_to_test }} schedulable set to True"
- name: get node scheduable
oc_obj:
kind: node
state: list
- name: "{{ cli_node_test }}"
+ name: "{{ node_to_test }}"
namespace: None
register: nodeout
@@ -48,11 +59,11 @@
oadm_manage_node:
schedulable: True
node:
- - "{{ cli_node_test }}"
+ - "{{ node_to_test }}"
register: nodeout
- debug: var=nodeout
- name: assert that schedulable=False
assert:
that: nodeout.results.nodes[0]['schedulable']
- msg: "{{ cli_node_test }} schedulable set to False"
+ msg: "{{ node_to_test }} schedulable set to False"
diff --git a/roles/lib_openshift/src/test/integration/oc_label.yml b/roles/lib_openshift/src/test/integration/oc_label.yml
index ce9bc25bb..b4e721407 100755
--- a/roles/lib_openshift/src/test/integration/oc_label.yml
+++ b/roles/lib_openshift/src/test/integration/oc_label.yml
@@ -1,5 +1,7 @@
#!/usr/bin/ansible-playbook --module-path=../../../library/
-# ./oc_label.yml -e "cli_master_test=$OPENSHIFT_MASTER -e "cli_node_test=ip-172-0-31-1.ec2"
+#
+# ./oc_label.yml -e "cli_master_test=$OPENSHIFT_MASTER
+#
---
- hosts: "{{ cli_master_test }}"
gather_facts: no
@@ -15,16 +17,25 @@
msg: "{{ item }} not defined"
when: "{{ item }} is not defined"
with_items:
- - cli_node_test # openshift node to be used to add/remove labels to
- cli_master_test # ansible inventory instance to run playbook against
tasks:
+ - name: get list of nodes
+ oc_obj:
+ state: list
+ kind: node
+ register: obj_out
+
+ - name: Set the node to work with
+ set_fact:
+ node_to_test: "{{ obj_out['results']['results'][0]['items'][0]['metadata']['name'] }}"
+
- name: delete test labels (start from known starting position)
oc_label:
state: absent
namespace: "{{ def_namespace }}"
kind: "{{ def_kind }}"
- name: "{{ cli_node_test }}"
+ name: "{{ node_to_test }}"
labels:
- key: testlabel2
- key: testlabel3
@@ -34,7 +45,7 @@
state: list
namespace: "{{ def_namespace }}"
kind: "{{ def_kind }}"
- name: "{{ cli_node_test }}"
+ name: "{{ node_to_test }}"
register: original_labels
- name: assert that testlabel2 and testlabel3 test labels don't exist
assert:
@@ -47,7 +58,7 @@
state: add
namespace: "{{ def_namespace }}"
kind: "{{ def_kind }}"
- name: "{{ cli_node_test }}"
+ name: "{{ node_to_test }}"
labels:
- key: testlabel2
value: "yes"
@@ -62,7 +73,7 @@
state: list
namespace: "{{ def_namespace }}"
kind: "{{ def_kind }}"
- name: "{{ cli_node_test }}"
+ name: "{{ node_to_test }}"
register: label_out
- name: assert that testlabel2 label actually added
assert:
@@ -75,7 +86,7 @@
state: add
namespace: "{{ def_namespace }}"
kind: "{{ def_kind }}"
- name: "{{ cli_node_test }}"
+ name: "{{ node_to_test }}"
labels:
- key: testlabel2
value: "yes"
@@ -90,7 +101,7 @@
state: add
namespace: "{{ def_namespace }}"
kind: "{{ def_kind }}"
- name: "{{ cli_node_test }}"
+ name: "{{ node_to_test }}"
labels:
- key: testlabel2
value: "different"
@@ -105,7 +116,7 @@
state: list
namespace: "{{ def_namespace }}"
kind: "{{ def_kind }}"
- name: "{{ cli_node_test }}"
+ name: "{{ node_to_test }}"
register: label_out
- name: assert that testlabel2 label actually modified
assert:
@@ -118,7 +129,7 @@
state: absent
namespace: "{{ def_namespace }}"
kind: "{{ def_kind }}"
- name: "{{ cli_node_test }}"
+ name: "{{ node_to_test }}"
labels:
- key: testlabelnone
register: label_out
@@ -132,7 +143,7 @@
state: absent
namespace: "{{ def_namespace }}"
kind: "{{ def_kind }}"
- name: "{{ cli_node_test }}"
+ name: "{{ node_to_test }}"
labels:
- key: testlabel2
register: label_out
@@ -146,7 +157,7 @@
state: absent
namespace: "{{ def_namespace }}"
kind: "{{ def_kind }}"
- name: "{{ cli_node_test }}"
+ name: "{{ node_to_test }}"
labels:
- key: testlabel2
register: label_out
@@ -160,7 +171,7 @@
state: list
namespace: "{{ def_namespace }}"
kind: "{{ def_kind }}"
- name: "{{ cli_node_test }}"
+ name: "{{ node_to_test }}"
register: label_out
- name: assert label actually deleted
assert:
@@ -172,7 +183,7 @@
state: add
namespace: "{{ def_namespace }}"
kind: "{{ def_kind }}"
- name: "{{ cli_node_test }}"
+ name: "{{ node_to_test }}"
labels:
- key: testlabel2
value: "yes"
@@ -189,7 +200,7 @@
state: list
namespace: "{{ def_namespace }}"
kind: "{{ def_kind }}"
- name: "{{ cli_node_test }}"
+ name: "{{ node_to_test }}"
register: label_out
- name: assert that both labels actually exist
assert:
@@ -204,7 +215,7 @@
state: absent
namespace: "{{ def_namespace }}"
kind: "{{ def_kind }}"
- name: "{{ cli_node_test }}"
+ name: "{{ node_to_test }}"
labels:
- key: testlabel2
- key: testlabel3
@@ -219,7 +230,7 @@
state: absent
namespace: "{{ def_namespace }}"
kind: "{{ def_kind }}"
- name: "{{ cli_node_test }}"
+ name: "{{ node_to_test }}"
labels:
- key: testlabel2
- key: testlabel3
@@ -237,7 +248,7 @@
state: present
namespace: "{{ def_namespace }}"
kind: "{{ def_kind }}"
- name: "{{ cli_node_test }}"
+ name: "{{ node_to_test }}"
labels: "{{ original_labels_as_key_value_list }}"
register: label_out
- name: assert that no changes are made when current list matches existing list
@@ -250,7 +261,7 @@
state: present
namespace: "{{ def_namespace }}"
kind: "{{ def_kind }}"
- name: "{{ cli_node_test }}"
+ name: "{{ node_to_test }}"
labels: "{{ original_labels_as_key_value_list + [{'key': 'testlabel2', 'value': 'yes'}] }}"
register: label_out
- name: assert that changes were made
@@ -263,7 +274,7 @@
state: list
namespace: "{{ def_namespace }}"
kind: "{{ def_kind }}"
- name: "{{ cli_node_test }}"
+ name: "{{ node_to_test }}"
register: label_out
- name: asssert that new label was actually added
assert:
@@ -276,7 +287,7 @@
state: present
namespace: "{{ def_namespace }}"
kind: "{{ def_kind }}"
- name: "{{ cli_node_test }}"
+ name: "{{ node_to_test }}"
labels: "{{ original_labels_as_key_value_list + [{'key': 'testlabel2', 'value': 'different'}]}}"
register: label_out
- name: assert that changes were made when existing key's value is changed
@@ -289,7 +300,7 @@
state: list
namespace: "{{ def_namespace }}"
kind: "{{ def_kind }}"
- name: "{{ cli_node_test }}"
+ name: "{{ node_to_test }}"
register: label_out
- name: asssert that changed label was actually changed
assert:
@@ -302,7 +313,7 @@
state: present
namespace: "{{ def_namespace }}"
kind: "{{ def_kind }}"
- name: "{{ cli_node_test }}"
+ name: "{{ node_to_test }}"
labels: "{{ original_labels_as_key_value_list }}"
register: label_out
- name: assert that changes were made
@@ -315,7 +326,7 @@
state: list
namespace: "{{ def_namespace }}"
kind: "{{ def_kind }}"
- name: "{{ cli_node_test }}"
+ name: "{{ node_to_test }}"
register: label_out
- name: asssert that present-removed actually removed
assert:
diff --git a/roles/lib_openshift/src/test/integration/oc_service.yml b/roles/lib_openshift/src/test/integration/oc_service.yml
index 616694382..3eb6facef 100755
--- a/roles/lib_openshift/src/test/integration/oc_service.yml
+++ b/roles/lib_openshift/src/test/integration/oc_service.yml
@@ -123,6 +123,6 @@
- assert:
that:
- svc_out.changed == False
- - svc_out.results.returncode == 1
+ - svc_out.results.returncode == 0
- "'not found' in svc_out.results.stderr"
msg: service get failed
diff --git a/roles/lib_openshift/src/test/unit/oadm_manage_node.py b/roles/lib_openshift/src/test/unit/oadm_manage_node.py
index 8fd6f9c55..b0786dfac 100755
--- a/roles/lib_openshift/src/test/unit/oadm_manage_node.py
+++ b/roles/lib_openshift/src/test/unit/oadm_manage_node.py
@@ -35,8 +35,9 @@ class ManageNodeTest(unittest.TestCase):
''' setup method will create a file and set to known configuration '''
pass
+ @mock.patch('oadm_manage_node.Utils.create_tmpfile_copy')
@mock.patch('oadm_manage_node.ManageNode.openshift_cmd')
- def test_list_pods(self, mock_openshift_cmd):
+ def test_list_pods(self, mock_openshift_cmd, mock_tmpfile_copy):
''' Testing a get '''
params = {'node': ['ip-172-31-49-140.ec2.internal'],
'schedulable': None,
@@ -106,6 +107,10 @@ class ManageNodeTest(unittest.TestCase):
"returncode": 0}
]
+ mock_tmpfile_copy.side_effect = [
+ '/tmp/mocked_kubeconfig',
+ ]
+
results = ManageNode.run_ansible(params, False)
# returned a single node
@@ -113,8 +118,9 @@ class ManageNodeTest(unittest.TestCase):
# returned 2 pods
self.assertTrue(len(results['results']['nodes']['ip-172-31-49-140.ec2.internal']) == 2)
+ @mock.patch('oadm_manage_node.Utils.create_tmpfile_copy')
@mock.patch('oadm_manage_node.ManageNode.openshift_cmd')
- def test_schedulable_false(self, mock_openshift_cmd):
+ def test_schedulable_false(self, mock_openshift_cmd, mock_tmpfile_copy):
''' Testing a get '''
params = {'node': ['ip-172-31-49-140.ec2.internal'],
'schedulable': False,
@@ -162,6 +168,11 @@ class ManageNodeTest(unittest.TestCase):
"results": "NAME STATUS AGE\n" +
"ip-172-31-49-140.ec2.internal Ready,SchedulingDisabled 5h\n",
"returncode": 0}]
+
+ mock_tmpfile_copy.side_effect = [
+ '/tmp/mocked_kubeconfig',
+ ]
+
results = ManageNode.run_ansible(params, False)
self.assertTrue(results['changed'])
diff --git a/roles/lib_openshift/src/test/unit/oc_label.py b/roles/lib_openshift/src/test/unit/oc_label.py
index 3f7162070..3176987b0 100755
--- a/roles/lib_openshift/src/test/unit/oc_label.py
+++ b/roles/lib_openshift/src/test/unit/oc_label.py
@@ -35,8 +35,9 @@ class OCLabelTest(unittest.TestCase):
''' setup method will create a file and set to known configuration '''
pass
+ @mock.patch('oc_label.Utils.create_tmpfile_copy')
@mock.patch('oc_label.OCLabel._run')
- def test_state_list(self, mock_cmd):
+ def test_state_list(self, mock_cmd, mock_tmpfile_copy):
''' Testing a label list '''
params = {'name': 'default',
'namespace': 'default',
@@ -82,13 +83,18 @@ class OCLabelTest(unittest.TestCase):
(0, ns, ''),
]
+ mock_tmpfile_copy.side_effect = [
+ '/tmp/mocked_kubeconfig',
+ ]
+
results = OCLabel.run_ansible(params, False)
self.assertFalse(results['changed'])
self.assertTrue(results['results']['labels'] == [{'storage_pv_quota': 'False'}])
+ @mock.patch('oc_label.Utils.create_tmpfile_copy')
@mock.patch('oc_label.OCLabel._run')
- def test_state_present(self, mock_cmd):
+ def test_state_present(self, mock_cmd, mock_tmpfile_copy):
''' Testing a label list '''
params = {'name': 'default',
'namespace': 'default',
@@ -171,6 +177,10 @@ class OCLabelTest(unittest.TestCase):
(0, ns1, ''),
]
+ mock_tmpfile_copy.side_effect = [
+ '/tmp/mocked_kubeconfig',
+ ]
+
results = OCLabel.run_ansible(params, False)
self.assertTrue(results['changed'])
diff --git a/roles/lib_openshift/src/test/unit/oc_scale.py b/roles/lib_openshift/src/test/unit/oc_scale.py
index d8d5a231f..f15eb164d 100755
--- a/roles/lib_openshift/src/test/unit/oc_scale.py
+++ b/roles/lib_openshift/src/test/unit/oc_scale.py
@@ -35,8 +35,9 @@ class OCScaleTest(unittest.TestCase):
''' setup method will create a file and set to known configuration '''
pass
+ @mock.patch('oc_scale.Utils.create_tmpfile_copy')
@mock.patch('oc_scale.OCScale.openshift_cmd')
- def test_state_list(self, mock_openshift_cmd):
+ def test_state_list(self, mock_openshift_cmd, mock_tmpfile_copy):
''' Testing a get '''
params = {'name': 'router',
'namespace': 'default',
@@ -70,13 +71,18 @@ class OCScaleTest(unittest.TestCase):
'results': dc,
'returncode': 0}]
+ mock_tmpfile_copy.side_effect = [
+ '/tmp/mocked_kubeconfig',
+ ]
+
results = OCScale.run_ansible(params, False)
self.assertFalse(results['changed'])
self.assertEqual(results['result'][0], 2)
+ @mock.patch('oc_scale.Utils.create_tmpfile_copy')
@mock.patch('oc_scale.OCScale.openshift_cmd')
- def test_scale(self, mock_openshift_cmd):
+ def test_scale(self, mock_openshift_cmd, mock_tmpfile_copy):
''' Testing a get '''
params = {'name': 'router',
'namespace': 'default',
@@ -114,13 +120,18 @@ class OCScaleTest(unittest.TestCase):
'returncode': 0}
]
+ mock_tmpfile_copy.side_effect = [
+ '/tmp/mocked_kubeconfig',
+ ]
+
results = OCScale.run_ansible(params, False)
self.assertFalse(results['changed'])
self.assertEqual(results['result'][0], 3)
+ @mock.patch('oc_scale.Utils.create_tmpfile_copy')
@mock.patch('oc_scale.OCScale.openshift_cmd')
- def test_no_dc_scale(self, mock_openshift_cmd):
+ def test_no_dc_scale(self, mock_openshift_cmd, mock_tmpfile_copy):
''' Testing a get '''
params = {'name': 'not_there',
'namespace': 'default',
@@ -138,6 +149,10 @@ class OCScaleTest(unittest.TestCase):
'stdout': ""},
]
+ mock_tmpfile_copy.side_effect = [
+ '/tmp/mocked_kubeconfig',
+ ]
+
results = OCScale.run_ansible(params, False)
self.assertTrue(results['failed'])
diff --git a/roles/lib_openshift/src/test/unit/oc_secret.py b/roles/lib_openshift/src/test/unit/oc_secret.py
index 835918b95..645aac82b 100755
--- a/roles/lib_openshift/src/test/unit/oc_secret.py
+++ b/roles/lib_openshift/src/test/unit/oc_secret.py
@@ -35,8 +35,10 @@ class OCSecretTest(unittest.TestCase):
''' setup method will create a file and set to known configuration '''
pass
- @mock.patch('oc_secret.OCSecret.openshift_cmd')
- def test_adding_a_secret(self, mock_openshift_cmd):
+ @mock.patch('oc_secret.Utils.create_tmpfile_copy')
+ @mock.patch('oc_secret.Utils._write')
+ @mock.patch('oc_secret.OCSecret._run')
+ def test_adding_a_secret(self, mock_cmd, mock_write, mock_tmpfile_copy):
''' Testing adding a secret '''
# Arrange
@@ -45,10 +47,10 @@ class OCSecretTest(unittest.TestCase):
params = {
'state': 'present',
'namespace': 'default',
- 'name': 'secretname',
+ 'name': 'testsecretname',
'contents': [{
'path': "/tmp/somesecret.json",
- 'data': "{'one': 1, 'two': 2, 'three', 3}",
+ 'data': "{'one': 1, 'two': 2, 'three': 3}",
}],
'decode': False,
'kubeconfig': '/etc/origin/master/admin.kubeconfig',
@@ -58,17 +60,13 @@ class OCSecretTest(unittest.TestCase):
}
# Return values of our mocked function call. These get returned once per call.
- mock_openshift_cmd.side_effect = [
- {
- "cmd": "/usr/bin/oc get secrets -o json secretname",
- "results": "",
- "returncode": 0,
- }, # oc output for first call to openshift_cmd (oc secrets get)
- {
- "cmd": "/usr/bin/oc secrets new secretname somesecret.json=/tmp/somesecret.json",
- "results": "",
- "returncode": 0,
- }, # oc output for second call to openshift_cmd (oc secrets new)
+ mock_cmd.side_effect = [
+ (1, '', 'Error from server: secrets "testsecretname" not found'),
+ (0, 'secret/testsecretname', ''),
+ ]
+
+ mock_tmpfile_copy.side_effect = [
+ '/tmp/mocked_kubeconfig',
]
# Act
@@ -80,9 +78,13 @@ class OCSecretTest(unittest.TestCase):
self.assertEqual(results['state'], 'present')
# Making sure our mock was called as we expected
- mock_openshift_cmd.assert_has_calls([
- mock.call(['get', 'secrets', 'secretname', '-o', 'json'], output=True),
- mock.call(['secrets', 'new', 'secretname', 'somesecret.json=/tmp/somesecret.json']),
+ mock_cmd.assert_has_calls([
+ mock.call(['oc', '-n', 'default', 'get', 'secrets', 'testsecretname', '-o', 'json'], None),
+ mock.call(['oc', '-n', 'default', 'secrets', 'new', 'testsecretname', mock.ANY], None),
+ ])
+
+ mock_write.assert_has_calls([
+ mock.call(mock.ANY, "{'one': 1, 'two': 2, 'three': 3}"),
])
def tearDown(self):
diff --git a/roles/lib_openshift/src/test/unit/oc_service.py b/roles/lib_openshift/src/test/unit/oc_service.py
index 69f7dd49c..4a845e9f3 100755
--- a/roles/lib_openshift/src/test/unit/oc_service.py
+++ b/roles/lib_openshift/src/test/unit/oc_service.py
@@ -36,8 +36,9 @@ class OCServiceTest(unittest.TestCase):
''' setup method will create a file and set to known configuration '''
pass
+ @mock.patch('oc_service.Utils.create_tmpfile_copy')
@mock.patch('oc_service.OCService._run')
- def test_state_list(self, mock_cmd):
+ def test_state_list(self, mock_cmd, mock_tmpfile_copy):
''' Testing a get '''
params = {'name': 'router',
'namespace': 'default',
@@ -108,13 +109,18 @@ class OCServiceTest(unittest.TestCase):
(0, service, '')
]
+ mock_tmpfile_copy.side_effect = [
+ '/tmp/mocked_kubeconfig',
+ ]
+
results = OCService.run_ansible(params, False)
self.assertFalse(results['changed'])
self.assertEqual(results['results']['results'][0]['metadata']['name'], 'router')
+ @mock.patch('oc_service.Utils.create_tmpfile_copy')
@mock.patch('oc_service.OCService._run')
- def test_create(self, mock_cmd):
+ def test_create(self, mock_cmd, mock_tmpfile_copy):
''' Testing a create service '''
params = {'name': 'router',
'namespace': 'default',
@@ -191,6 +197,10 @@ class OCServiceTest(unittest.TestCase):
(0, service, '')
]
+ mock_tmpfile_copy.side_effect = [
+ '/tmp/mocked_kubeconfig',
+ ]
+
results = OCService.run_ansible(params, False)
self.assertTrue(results['changed'])
diff --git a/roles/lib_openshift/src/test/unit/oc_serviceaccount.py b/roles/lib_openshift/src/test/unit/oc_serviceaccount.py
index dab751bb9..256b569eb 100755
--- a/roles/lib_openshift/src/test/unit/oc_serviceaccount.py
+++ b/roles/lib_openshift/src/test/unit/oc_serviceaccount.py
@@ -35,8 +35,9 @@ class OCServiceAccountTest(unittest.TestCase):
''' setup method will create a file and set to known configuration '''
pass
+ @mock.patch('oc_serviceaccount.Utils.create_tmpfile_copy')
@mock.patch('oc_serviceaccount.OCServiceAccount._run')
- def test_adding_a_serviceaccount(self, mock_cmd):
+ def test_adding_a_serviceaccount(self, mock_cmd, mock_tmpfile_copy):
''' Testing adding a serviceaccount '''
# Arrange
@@ -90,6 +91,10 @@ class OCServiceAccountTest(unittest.TestCase):
(0, valid_result_json, ''),
]
+ mock_tmpfile_copy.side_effect = [
+ '/tmp/mocked_kubeconfig',
+ ]
+
# Act
results = OCServiceAccount.run_ansible(params, False)
diff --git a/roles/lib_openshift/src/test/unit/oc_serviceaccount_secret.py b/roles/lib_openshift/src/test/unit/oc_serviceaccount_secret.py
index 342da961b..4d555d412 100755
--- a/roles/lib_openshift/src/test/unit/oc_serviceaccount_secret.py
+++ b/roles/lib_openshift/src/test/unit/oc_serviceaccount_secret.py
@@ -35,9 +35,10 @@ class OCServiceAccountSecretTest(unittest.TestCase):
''' setup method will create a file and set to known configuration '''
pass
+ @mock.patch('oc_serviceaccount_secret.Utils.create_tmpfile_copy')
@mock.patch('oc_serviceaccount_secret.Yedit._write')
@mock.patch('oc_serviceaccount_secret.OCServiceAccountSecret._run')
- def test_adding_a_secret_to_a_serviceaccount(self, mock_cmd, mock_write):
+ def test_adding_a_secret_to_a_serviceaccount(self, mock_cmd, mock_write, mock_tmpfile_copy):
''' Testing adding a secret to a service account '''
# Arrange
@@ -137,6 +138,10 @@ metadata:
(0, oc_get_sa_after, ''), # Fourth call to the mock
]
+ mock_tmpfile_copy.side_effect = [
+ '/tmp/mocked_kubeconfig',
+ ]
+
# Act
results = OCServiceAccountSecret.run_ansible(params, False)
@@ -149,18 +154,19 @@ metadata:
mock_cmd.assert_has_calls([
mock.call(['oc', '-n', 'default', 'get', 'sa', 'builder', '-o', 'json'], None),
mock.call(['oc', '-n', 'default', 'get', 'sa', 'builder', '-o', 'json'], None),
- mock.call(['oc', '-n', 'default', 'replace', '-f', '/tmp/builder'], None),
+ mock.call(['oc', '-n', 'default', 'replace', '-f', mock.ANY], None),
mock.call(['oc', '-n', 'default', 'get', 'sa', 'builder', '-o', 'json'], None)
])
mock_write.assert_has_calls([
- mock.call('/tmp/builder', builder_yaml_file)
+ mock.call(mock.ANY, builder_yaml_file)
])
+ @mock.patch('oc_serviceaccount_secret.Utils.create_tmpfile_copy')
@mock.patch('oc_serviceaccount_secret.Yedit._write')
@mock.patch('oc_serviceaccount_secret.OCServiceAccountSecret._run')
- def test_removing_a_secret_to_a_serviceaccount(self, mock_cmd, mock_write):
- ''' Testing adding a secret to a service account '''
+ def test_removing_a_secret_to_a_serviceaccount(self, mock_cmd, mock_write, mock_tmpfile_copy):
+ ''' Testing removing a secret to a service account '''
# Arrange
@@ -229,6 +235,10 @@ metadata:
(0, 'serviceaccount "builder" replaced', ''), # Third call to the mock
]
+ mock_tmpfile_copy.side_effect = [
+ '/tmp/mocked_kubeconfig',
+ ]
+
# Act
results = OCServiceAccountSecret.run_ansible(params, False)
@@ -241,11 +251,11 @@ metadata:
mock_cmd.assert_has_calls([
mock.call(['oc', '-n', 'default', 'get', 'sa', 'builder', '-o', 'json'], None),
mock.call(['oc', '-n', 'default', 'get', 'sa', 'builder', '-o', 'json'], None),
- mock.call(['oc', '-n', 'default', 'replace', '-f', '/tmp/builder'], None),
+ mock.call(['oc', '-n', 'default', 'replace', '-f', mock.ANY], None),
])
mock_write.assert_has_calls([
- mock.call('/tmp/builder', builder_yaml_file)
+ mock.call(mock.ANY, builder_yaml_file)
])
def tearDown(self):
diff --git a/roles/lib_openshift/src/test/unit/oc_version.py b/roles/lib_openshift/src/test/unit/oc_version.py
index f927948be..67dea415b 100755
--- a/roles/lib_openshift/src/test/unit/oc_version.py
+++ b/roles/lib_openshift/src/test/unit/oc_version.py
@@ -35,8 +35,9 @@ class OCVersionTest(unittest.TestCase):
''' setup method will create a file and set to known configuration '''
pass
+ @mock.patch('oc_version.Utils.create_tmpfile_copy')
@mock.patch('oc_version.OCVersion.openshift_cmd')
- def test_get(self, mock_openshift_cmd):
+ def test_get(self, mock_openshift_cmd, mock_tmpfile_copy):
''' Testing a get '''
params = {'kubeconfig': '/etc/origin/master/admin.kubeconfig',
'state': 'list',
@@ -52,6 +53,10 @@ class OCVersionTest(unittest.TestCase):
"returncode": 0}
]
+ mock_tmpfile_copy.side_effect = [
+ '/tmp/mocked_kubeconfig',
+ ]
+
results = OCVersion.run_ansible(params)
self.assertFalse(results['changed'])