Browse Source

Merge pull request #3290 from kwoodson/tmp_admin_kubeconfig

Added tmpfile for kubeconfig. Fixed tests.
Scott Dodson 8 years ago
parent
commit
bf1b4def44

+ 13 - 2
roles/lib_openshift/library/oadm_manage_node.py

@@ -731,7 +731,7 @@ class OpenShiftCLI(object):
         ''' Constructor for OpenshiftCLI '''
         self.namespace = namespace
         self.verbose = verbose
-        self.kubeconfig = kubeconfig
+        self.kubeconfig = Utils.create_tmpfile_copy(kubeconfig)
         self.all_namespaces = all_namespaces
 
     # Pylint allows only 5 arguments to be passed.
@@ -1017,7 +1017,18 @@ class Utils(object):
         return tmp
 
     @staticmethod
-    def create_tmpfile(prefix=None):
+    def create_tmpfile_copy(inc_file):
+        '''create a temporary copy of a file'''
+        tmpfile = Utils.create_tmpfile('lib_openshift-')
+        Utils._write(tmpfile, open(inc_file).read())
+
+        # Cleanup the tmpfile
+        atexit.register(Utils.cleanup, [tmpfile])
+
+        return tmpfile
+
+    @staticmethod
+    def create_tmpfile(prefix='tmp'):
         ''' Generates and returns a temporary file name '''
 
         with tempfile.NamedTemporaryFile(prefix=prefix, delete=False) as tmp:

+ 13 - 2
roles/lib_openshift/library/oc_edit.py

@@ -759,7 +759,7 @@ class OpenShiftCLI(object):
         ''' Constructor for OpenshiftCLI '''
         self.namespace = namespace
         self.verbose = verbose
-        self.kubeconfig = kubeconfig
+        self.kubeconfig = Utils.create_tmpfile_copy(kubeconfig)
         self.all_namespaces = all_namespaces
 
     # Pylint allows only 5 arguments to be passed.
@@ -1045,7 +1045,18 @@ class Utils(object):
         return tmp
 
     @staticmethod
-    def create_tmpfile(prefix=None):
+    def create_tmpfile_copy(inc_file):
+        '''create a temporary copy of a file'''
+        tmpfile = Utils.create_tmpfile('lib_openshift-')
+        Utils._write(tmpfile, open(inc_file).read())
+
+        # Cleanup the tmpfile
+        atexit.register(Utils.cleanup, [tmpfile])
+
+        return tmpfile
+
+    @staticmethod
+    def create_tmpfile(prefix='tmp'):
         ''' Generates and returns a temporary file name '''
 
         with tempfile.NamedTemporaryFile(prefix=prefix, delete=False) as tmp:

+ 13 - 2
roles/lib_openshift/library/oc_label.py

@@ -735,7 +735,7 @@ class OpenShiftCLI(object):
         ''' Constructor for OpenshiftCLI '''
         self.namespace = namespace
         self.verbose = verbose
-        self.kubeconfig = kubeconfig
+        self.kubeconfig = Utils.create_tmpfile_copy(kubeconfig)
         self.all_namespaces = all_namespaces
 
     # Pylint allows only 5 arguments to be passed.
@@ -1021,7 +1021,18 @@ class Utils(object):
         return tmp
 
     @staticmethod
-    def create_tmpfile(prefix=None):
+    def create_tmpfile_copy(inc_file):
+        '''create a temporary copy of a file'''
+        tmpfile = Utils.create_tmpfile('lib_openshift-')
+        Utils._write(tmpfile, open(inc_file).read())
+
+        # Cleanup the tmpfile
+        atexit.register(Utils.cleanup, [tmpfile])
+
+        return tmpfile
+
+    @staticmethod
+    def create_tmpfile(prefix='tmp'):
         ''' Generates and returns a temporary file name '''
 
         with tempfile.NamedTemporaryFile(prefix=prefix, delete=False) as tmp:

+ 13 - 2
roles/lib_openshift/library/oc_obj.py

@@ -738,7 +738,7 @@ class OpenShiftCLI(object):
         ''' Constructor for OpenshiftCLI '''
         self.namespace = namespace
         self.verbose = verbose
-        self.kubeconfig = kubeconfig
+        self.kubeconfig = Utils.create_tmpfile_copy(kubeconfig)
         self.all_namespaces = all_namespaces
 
     # Pylint allows only 5 arguments to be passed.
@@ -1024,7 +1024,18 @@ class Utils(object):
         return tmp
 
     @staticmethod
-    def create_tmpfile(prefix=None):
+    def create_tmpfile_copy(inc_file):
+        '''create a temporary copy of a file'''
+        tmpfile = Utils.create_tmpfile('lib_openshift-')
+        Utils._write(tmpfile, open(inc_file).read())
+
+        # Cleanup the tmpfile
+        atexit.register(Utils.cleanup, [tmpfile])
+
+        return tmpfile
+
+    @staticmethod
+    def create_tmpfile(prefix='tmp'):
         ''' Generates and returns a temporary file name '''
 
         with tempfile.NamedTemporaryFile(prefix=prefix, delete=False) as tmp:

+ 13 - 2
roles/lib_openshift/library/oc_route.py

@@ -763,7 +763,7 @@ class OpenShiftCLI(object):
         ''' Constructor for OpenshiftCLI '''
         self.namespace = namespace
         self.verbose = verbose
-        self.kubeconfig = kubeconfig
+        self.kubeconfig = Utils.create_tmpfile_copy(kubeconfig)
         self.all_namespaces = all_namespaces
 
     # Pylint allows only 5 arguments to be passed.
@@ -1049,7 +1049,18 @@ class Utils(object):
         return tmp
 
     @staticmethod
-    def create_tmpfile(prefix=None):
+    def create_tmpfile_copy(inc_file):
+        '''create a temporary copy of a file'''
+        tmpfile = Utils.create_tmpfile('lib_openshift-')
+        Utils._write(tmpfile, open(inc_file).read())
+
+        # Cleanup the tmpfile
+        atexit.register(Utils.cleanup, [tmpfile])
+
+        return tmpfile
+
+    @staticmethod
+    def create_tmpfile(prefix='tmp'):
         ''' Generates and returns a temporary file name '''
 
         with tempfile.NamedTemporaryFile(prefix=prefix, delete=False) as tmp:

+ 13 - 2
roles/lib_openshift/library/oc_scale.py

@@ -713,7 +713,7 @@ class OpenShiftCLI(object):
         ''' Constructor for OpenshiftCLI '''
         self.namespace = namespace
         self.verbose = verbose
-        self.kubeconfig = kubeconfig
+        self.kubeconfig = Utils.create_tmpfile_copy(kubeconfig)
         self.all_namespaces = all_namespaces
 
     # Pylint allows only 5 arguments to be passed.
@@ -999,7 +999,18 @@ class Utils(object):
         return tmp
 
     @staticmethod
-    def create_tmpfile(prefix=None):
+    def create_tmpfile_copy(inc_file):
+        '''create a temporary copy of a file'''
+        tmpfile = Utils.create_tmpfile('lib_openshift-')
+        Utils._write(tmpfile, open(inc_file).read())
+
+        # Cleanup the tmpfile
+        atexit.register(Utils.cleanup, [tmpfile])
+
+        return tmpfile
+
+    @staticmethod
+    def create_tmpfile(prefix='tmp'):
         ''' Generates and returns a temporary file name '''
 
         with tempfile.NamedTemporaryFile(prefix=prefix, delete=False) as tmp:

+ 13 - 2
roles/lib_openshift/library/oc_secret.py

@@ -759,7 +759,7 @@ class OpenShiftCLI(object):
         ''' Constructor for OpenshiftCLI '''
         self.namespace = namespace
         self.verbose = verbose
-        self.kubeconfig = kubeconfig
+        self.kubeconfig = Utils.create_tmpfile_copy(kubeconfig)
         self.all_namespaces = all_namespaces
 
     # Pylint allows only 5 arguments to be passed.
@@ -1045,7 +1045,18 @@ class Utils(object):
         return tmp
 
     @staticmethod
-    def create_tmpfile(prefix=None):
+    def create_tmpfile_copy(inc_file):
+        '''create a temporary copy of a file'''
+        tmpfile = Utils.create_tmpfile('lib_openshift-')
+        Utils._write(tmpfile, open(inc_file).read())
+
+        # Cleanup the tmpfile
+        atexit.register(Utils.cleanup, [tmpfile])
+
+        return tmpfile
+
+    @staticmethod
+    def create_tmpfile(prefix='tmp'):
         ''' Generates and returns a temporary file name '''
 
         with tempfile.NamedTemporaryFile(prefix=prefix, delete=False) as tmp:

+ 13 - 2
roles/lib_openshift/library/oc_service.py

@@ -765,7 +765,7 @@ class OpenShiftCLI(object):
         ''' Constructor for OpenshiftCLI '''
         self.namespace = namespace
         self.verbose = verbose
-        self.kubeconfig = kubeconfig
+        self.kubeconfig = Utils.create_tmpfile_copy(kubeconfig)
         self.all_namespaces = all_namespaces
 
     # Pylint allows only 5 arguments to be passed.
@@ -1051,7 +1051,18 @@ class Utils(object):
         return tmp
 
     @staticmethod
-    def create_tmpfile(prefix=None):
+    def create_tmpfile_copy(inc_file):
+        '''create a temporary copy of a file'''
+        tmpfile = Utils.create_tmpfile('lib_openshift-')
+        Utils._write(tmpfile, open(inc_file).read())
+
+        # Cleanup the tmpfile
+        atexit.register(Utils.cleanup, [tmpfile])
+
+        return tmpfile
+
+    @staticmethod
+    def create_tmpfile(prefix='tmp'):
         ''' Generates and returns a temporary file name '''
 
         with tempfile.NamedTemporaryFile(prefix=prefix, delete=False) as tmp:

+ 13 - 2
roles/lib_openshift/library/oc_serviceaccount.py

@@ -711,7 +711,7 @@ class OpenShiftCLI(object):
         ''' Constructor for OpenshiftCLI '''
         self.namespace = namespace
         self.verbose = verbose
-        self.kubeconfig = kubeconfig
+        self.kubeconfig = Utils.create_tmpfile_copy(kubeconfig)
         self.all_namespaces = all_namespaces
 
     # Pylint allows only 5 arguments to be passed.
@@ -997,7 +997,18 @@ class Utils(object):
         return tmp
 
     @staticmethod
-    def create_tmpfile(prefix=None):
+    def create_tmpfile_copy(inc_file):
+        '''create a temporary copy of a file'''
+        tmpfile = Utils.create_tmpfile('lib_openshift-')
+        Utils._write(tmpfile, open(inc_file).read())
+
+        # Cleanup the tmpfile
+        atexit.register(Utils.cleanup, [tmpfile])
+
+        return tmpfile
+
+    @staticmethod
+    def create_tmpfile(prefix='tmp'):
         ''' Generates and returns a temporary file name '''
 
         with tempfile.NamedTemporaryFile(prefix=prefix, delete=False) as tmp:

+ 13 - 2
roles/lib_openshift/library/oc_serviceaccount_secret.py

@@ -711,7 +711,7 @@ class OpenShiftCLI(object):
         ''' Constructor for OpenshiftCLI '''
         self.namespace = namespace
         self.verbose = verbose
-        self.kubeconfig = kubeconfig
+        self.kubeconfig = Utils.create_tmpfile_copy(kubeconfig)
         self.all_namespaces = all_namespaces
 
     # Pylint allows only 5 arguments to be passed.
@@ -997,7 +997,18 @@ class Utils(object):
         return tmp
 
     @staticmethod
-    def create_tmpfile(prefix=None):
+    def create_tmpfile_copy(inc_file):
+        '''create a temporary copy of a file'''
+        tmpfile = Utils.create_tmpfile('lib_openshift-')
+        Utils._write(tmpfile, open(inc_file).read())
+
+        # Cleanup the tmpfile
+        atexit.register(Utils.cleanup, [tmpfile])
+
+        return tmpfile
+
+    @staticmethod
+    def create_tmpfile(prefix='tmp'):
         ''' Generates and returns a temporary file name '''
 
         with tempfile.NamedTemporaryFile(prefix=prefix, delete=False) as tmp:

+ 13 - 2
roles/lib_openshift/library/oc_version.py

@@ -683,7 +683,7 @@ class OpenShiftCLI(object):
         ''' Constructor for OpenshiftCLI '''
         self.namespace = namespace
         self.verbose = verbose
-        self.kubeconfig = kubeconfig
+        self.kubeconfig = Utils.create_tmpfile_copy(kubeconfig)
         self.all_namespaces = all_namespaces
 
     # Pylint allows only 5 arguments to be passed.
@@ -969,7 +969,18 @@ class Utils(object):
         return tmp
 
     @staticmethod
-    def create_tmpfile(prefix=None):
+    def create_tmpfile_copy(inc_file):
+        '''create a temporary copy of a file'''
+        tmpfile = Utils.create_tmpfile('lib_openshift-')
+        Utils._write(tmpfile, open(inc_file).read())
+
+        # Cleanup the tmpfile
+        atexit.register(Utils.cleanup, [tmpfile])
+
+        return tmpfile
+
+    @staticmethod
+    def create_tmpfile(prefix='tmp'):
         ''' Generates and returns a temporary file name '''
 
         with tempfile.NamedTemporaryFile(prefix=prefix, delete=False) as tmp:

+ 13 - 2
roles/lib_openshift/src/lib/base.py

@@ -20,7 +20,7 @@ class OpenShiftCLI(object):
         ''' Constructor for OpenshiftCLI '''
         self.namespace = namespace
         self.verbose = verbose
-        self.kubeconfig = kubeconfig
+        self.kubeconfig = Utils.create_tmpfile_copy(kubeconfig)
         self.all_namespaces = all_namespaces
 
     # Pylint allows only 5 arguments to be passed.
@@ -306,7 +306,18 @@ class Utils(object):
         return tmp
 
     @staticmethod
-    def create_tmpfile(prefix=None):
+    def create_tmpfile_copy(inc_file):
+        '''create a temporary copy of a file'''
+        tmpfile = Utils.create_tmpfile('lib_openshift-')
+        Utils._write(tmpfile, open(inc_file).read())
+
+        # Cleanup the tmpfile
+        atexit.register(Utils.cleanup, [tmpfile])
+
+        return tmpfile
+
+    @staticmethod
+    def create_tmpfile(prefix='tmp'):
         ''' Generates and returns a temporary file name '''
 
         with tempfile.NamedTemporaryFile(prefix=prefix, delete=False) as tmp:

+ 13 - 2
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'])

+ 12 - 2
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'])

+ 18 - 3
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'])

+ 6 - 1
roles/lib_openshift/src/test/unit/oc_secret.py

@@ -35,9 +35,10 @@ class OCSecretTest(unittest.TestCase):
         ''' setup method will create a file and set to known configuration '''
         pass
 
+    @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):
+    def test_adding_a_secret(self, mock_cmd, mock_write, mock_tmpfile_copy):
         ''' Testing adding a secret '''
 
         # Arrange
@@ -64,6 +65,10 @@ class OCSecretTest(unittest.TestCase):
             (0, 'secret/testsecretname', ''),
         ]
 
+        mock_tmpfile_copy.side_effect = [
+            '/tmp/mocked_kubeconfig',
+        ]
+
         # Act
         results = OCSecret.run_ansible(params, False)
 

+ 12 - 2
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'])

+ 6 - 1
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)
 

+ 12 - 2
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)
 
@@ -157,9 +162,10 @@ metadata:
             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):
+    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)
 

+ 6 - 1
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'])