Merge "Remove all references to /home/opnfv/repos/functest"
[functest.git] / functest / tests / unit / odl / test_odl.py
index d7ce70c..60adf21 100644 (file)
 import errno
 import logging
 import os
-import StringIO
 import unittest
 
 from keystoneauth1.exceptions import auth_plugins
 import mock
 from robot.errors import DataError, RobotError
-from robot.result import testcase as result_testcase
+from robot.result import model
 from robot.utils.robottime import timestamp_to_secs
+import six
 
 from functest.core import testcase
 from functest.opnfv_tests.sdn.odl import odl
@@ -32,8 +32,6 @@ class ODLVisitorTesting(unittest.TestCase):
     """The class testing ODLResultVisitor."""
     # pylint: disable=missing-docstring
 
-    logging.disable(logging.CRITICAL)
-
     def setUp(self):
         self.visitor = odl.ODLResultVisitor()
 
@@ -49,11 +47,9 @@ class ODLVisitorTesting(unittest.TestCase):
                 'elapsedtime': 1000,
                 'text': 'Hello, World!',
                 'critical': True}
-        test = result_testcase.TestCase(name=data['name'],
-                                        status=data['status'],
-                                        message=data['text'],
-                                        starttime=data['starttime'],
-                                        endtime=data['endtime'])
+        test = model.TestCase(
+            name=data['name'], status=data['status'], message=data['text'],
+            starttime=data['starttime'], endtime=data['endtime'])
         test.parent = mock.Mock()
         config = {'name': data['parent'],
                   'criticality.test_is_critical.return_value': data[
@@ -173,7 +169,7 @@ class ODLRobotTesting(ODLTesting):
             os.path.join(odl.ODLTests.odl_test_repo,
                          'csit/variables/Variables.py'), inplace=True)
 
-    @mock.patch('sys.stdout', new_callable=StringIO.StringIO)
+    @mock.patch('sys.stdout', new_callable=six.StringIO)
     def _test_set_vars(self, msg1, msg2, *args):
         line = mock.MagicMock()
         line.__iter__.return_value = [msg1]
@@ -191,7 +187,7 @@ class ODLRobotTesting(ODLTesting):
     def test_set_vars_auth1(self):
         self._test_set_vars("AUTH1 = []", "AUTH1 = []")
 
-    @mock.patch('sys.stdout', new_callable=StringIO.StringIO)
+    @mock.patch('sys.stdout', new_callable=six.StringIO)
     def test_set_vars_auth_foo(self, *args):
         line = mock.MagicMock()
         line.__iter__.return_value = ["AUTH = []"]
@@ -314,8 +310,6 @@ class ODLMainTesting(ODLTesting):
     def test_run_ko(self, *args):
         with mock.patch.object(self.test, 'set_robotframework_vars',
                                return_value=True), \
-                mock.patch.object(odl, 'open', mock.mock_open(),
-                                  create=True), \
                 self.assertRaises(RobotError):
             self._test_main(testcase.TestCase.EX_RUN_ERROR, *args)
 
@@ -324,71 +318,33 @@ class ODLMainTesting(ODLTesting):
     def test_parse_results_ko(self, *args):
         with mock.patch.object(self.test, 'set_robotframework_vars',
                                return_value=True), \
-                mock.patch.object(odl, 'open', mock.mock_open(),
-                                  create=True), \
                 mock.patch.object(self.test, 'parse_results',
                                   side_effect=RobotError):
             self._test_main(testcase.TestCase.EX_RUN_ERROR, *args)
 
-    @mock.patch('os.remove', side_effect=Exception)
-    @mock.patch('robot.run')
-    @mock.patch('os.makedirs')
-    def test_remove_exc(self, *args):
-        with mock.patch.object(self.test, 'set_robotframework_vars',
-                               return_value=True), \
-                mock.patch.object(self.test, 'parse_results'), \
-                self.assertRaises(Exception):
-            self._test_main(testcase.TestCase.EX_OK, *args)
-
-    @mock.patch('os.remove')
     @mock.patch('robot.run')
     @mock.patch('os.makedirs')
     def test_ok(self, *args):
         with mock.patch.object(self.test, 'set_robotframework_vars',
                                return_value=True), \
-                mock.patch.object(odl, 'open', mock.mock_open(),
-                                  create=True), \
                 mock.patch.object(self.test, 'parse_results'):
             self._test_main(testcase.TestCase.EX_OK, *args)
 
-    @mock.patch('os.remove')
     @mock.patch('robot.run')
     @mock.patch('os.makedirs', side_effect=OSError(errno.EEXIST, ''))
     def test_makedirs_oserror17(self, *args):
         with mock.patch.object(self.test, 'set_robotframework_vars',
                                return_value=True), \
-                mock.patch.object(odl, 'open', mock.mock_open(),
-                                  create=True) as mock_open, \
                 mock.patch.object(self.test, 'parse_results'):
             self._test_main(testcase.TestCase.EX_OK, *args)
-        mock_open.assert_called_once_with(
-            os.path.join(odl.ODLTests.res_dir, 'stdout.txt'), 'w+')
 
-    @mock.patch('os.remove')
     @mock.patch('robot.run', return_value=1)
     @mock.patch('os.makedirs')
     def test_testcases_in_failure(self, *args):
         with mock.patch.object(self.test, 'set_robotframework_vars',
                                return_value=True), \
-                mock.patch.object(odl, 'open', mock.mock_open(),
-                                  create=True) as mock_open, \
                 mock.patch.object(self.test, 'parse_results'):
             self._test_main(testcase.TestCase.EX_OK, *args)
-        mock_open.assert_called_once_with(
-            os.path.join(odl.ODLTests.res_dir, 'stdout.txt'), 'w+')
-
-    @mock.patch('os.remove', side_effect=OSError)
-    @mock.patch('robot.run')
-    @mock.patch('os.makedirs')
-    def test_remove_oserror(self, *args):
-        with mock.patch.object(self.test, 'set_robotframework_vars',
-                               return_value=True), \
-                mock.patch.object(odl, 'open', mock.mock_open(),
-                                  create=True) as mock_open, \
-                mock.patch.object(self.test, 'parse_results'):
-            self._test_main(testcase.TestCase.EX_OK, *args)
-        mock_open.assert_called_once_with(
-            os.path.join(odl.ODLTests.res_dir, 'stdout.txt'), 'w+')
 
 
 class ODLRunTesting(ODLTesting):
@@ -579,7 +535,7 @@ class ODLArgParserTesting(ODLTesting):
                  "--odlip={}".format(self._sdn_controller_ip)]),
             self.defaultargs)
 
-    @mock.patch('sys.stderr', new_callable=StringIO.StringIO)
+    @mock.patch('sys.stderr', new_callable=six.StringIO)
     def test_fail(self, mock_method):
         self.defaultargs['foo'] = 'bar'
         with self.assertRaises(SystemExit):
@@ -638,4 +594,5 @@ class ODLArgParserTesting(ODLTesting):
 
 
 if __name__ == "__main__":
+    logging.disable(logging.CRITICAL)
     unittest.main(verbosity=2)