Remove call to fetch_os_creds.sh
[functest.git] / functest / tests / unit / ci / test_prepare_env.py
index 714dd13..d38fa97 100644 (file)
@@ -18,8 +18,6 @@ from opnfv.utils import constants as opnfv_constants
 
 class PrepareEnvTesting(unittest.TestCase):
 
-    logging.disable(logging.CRITICAL)
-
     def setUp(self):
         self.prepare_envparser = prepare_env.PrepareEnvParser()
 
@@ -33,7 +31,7 @@ class PrepareEnvTesting(unittest.TestCase):
     @mock.patch('functest.ci.prepare_env.logger.warning')
     def test_check_env_variables_missing_inst_type(self, mock_logger_warn,
                                                    mock_logger_info):
-        CONST.INSTALLER_TYPE = None
+        CONST.__setattr__('INSTALLER_TYPE', None)
         prepare_env.check_env_variables()
         mock_logger_info.assert_any_call("Checking environment variables"
                                          "...")
@@ -44,24 +42,19 @@ class PrepareEnvTesting(unittest.TestCase):
     @mock.patch('functest.ci.prepare_env.logger.warning')
     def test_check_env_variables_missing_inst_ip(self, mock_logger_warn,
                                                  mock_logger_info):
-        CONST.INSTALLER_IP = None
+        CONST.__setattr__('INSTALLER_IP', None)
         prepare_env.check_env_variables()
         mock_logger_info.assert_any_call("Checking environment variables"
                                          "...")
-        mock_logger_warn.assert_any_call("The env variable 'INSTALLER_IP'"
-                                         " is not defined. It is needed to"
-                                         " fetch the OpenStack credentials."
-                                         " If the credentials are not"
-                                         " provided to the container as a"
-                                         " volume, please add this env"
-                                         " variable to the 'docker run'"
-                                         " command.")
+        mock_logger_warn.assert_any_call(
+            "The env variable 'INSTALLER_IP' is not defined. It is recommended"
+            " to extract some information from the deployment")
 
     @mock.patch('functest.ci.prepare_env.logger.info')
     @mock.patch('functest.ci.prepare_env.logger.warning')
     def test_check_env_variables_with_inst_ip(self, mock_logger_warn,
                                               mock_logger_info):
-        CONST.INSTALLER_IP = mock.Mock()
+        CONST.__setattr__('INSTALLER_IP', mock.Mock())
         prepare_env.check_env_variables()
         mock_logger_info.assert_any_call("Checking environment variables"
                                          "...")
@@ -72,7 +65,7 @@ class PrepareEnvTesting(unittest.TestCase):
     @mock.patch('functest.ci.prepare_env.logger.warning')
     def test_check_env_variables_missing_scenario(self, mock_logger_warn,
                                                   mock_logger_info):
-        CONST.DEPLOY_SCENARIO = None
+        CONST.__setattr__('DEPLOY_SCENARIO', None)
         prepare_env.check_env_variables()
         mock_logger_info.assert_any_call("Checking environment variables"
                                          "...")
@@ -84,7 +77,7 @@ class PrepareEnvTesting(unittest.TestCase):
     @mock.patch('functest.ci.prepare_env.logger.warning')
     def test_check_env_variables_with_scenario(self, mock_logger_warn,
                                                mock_logger_info):
-        CONST.DEPLOY_SCENARIO = 'test_scenario'
+        CONST.__setattr__('DEPLOY_SCENARIO', 'test_scenario')
         prepare_env.check_env_variables()
         mock_logger_info.assert_any_call("Checking environment variables"
                                          "...")
@@ -95,7 +88,7 @@ class PrepareEnvTesting(unittest.TestCase):
     @mock.patch('functest.ci.prepare_env.logger.warning')
     def test_check_env_variables_with_ci_debug(self, mock_logger_warn,
                                                mock_logger_info):
-        CONST.CI_DEBUG = mock.Mock()
+        CONST.__setattr__('CI_DEBUG', mock.Mock())
         prepare_env.check_env_variables()
         mock_logger_info.assert_any_call("Checking environment variables"
                                          "...")
@@ -106,7 +99,7 @@ class PrepareEnvTesting(unittest.TestCase):
     @mock.patch('functest.ci.prepare_env.logger.warning')
     def test_check_env_variables_with_node(self, mock_logger_warn,
                                            mock_logger_info):
-        CONST.NODE_NAME = mock.Mock()
+        CONST.__setattr__('NODE_NAME', mock.Mock())
         prepare_env.check_env_variables()
         mock_logger_info.assert_any_call("Checking environment variables"
                                          "...")
@@ -117,7 +110,7 @@ class PrepareEnvTesting(unittest.TestCase):
     @mock.patch('functest.ci.prepare_env.logger.warning')
     def test_check_env_variables_with_build_tag(self, mock_logger_warn,
                                                 mock_logger_info):
-        CONST.BUILD_TAG = mock.Mock()
+        CONST.__setattr__('BUILD_TAG', mock.Mock())
         prepare_env.check_env_variables()
         mock_logger_info.assert_any_call("Checking environment variables"
                                          "...")
@@ -129,7 +122,7 @@ class PrepareEnvTesting(unittest.TestCase):
     @mock.patch('functest.ci.prepare_env.logger.warning')
     def test_check_env_variables_with_is_ci_run(self, mock_logger_warn,
                                                 mock_logger_info):
-        CONST.IS_CI_RUN = mock.Mock()
+        CONST.__setattr__('IS_CI_RUN', mock.Mock())
         prepare_env.check_env_variables()
         mock_logger_info.assert_any_call("Checking environment variables"
                                          "...")
@@ -140,11 +133,11 @@ class PrepareEnvTesting(unittest.TestCase):
     def test_get_deployment_handler_missing_const_vars(self):
         with mock.patch('functest.ci.prepare_env.'
                         'factory.Factory.get_handler') as m:
-            CONST.INSTALLER_IP = None
+            CONST.__setattr__('INSTALLER_IP', None)
             prepare_env.get_deployment_handler()
             self.assertFalse(m.called)
 
-            CONST.INSTALLER_TYPE = None
+            CONST.__setattr__('INSTALLER_TYPE', None)
             prepare_env.get_deployment_handler()
             self.assertFalse(m.called)
 
@@ -156,8 +149,8 @@ class PrepareEnvTesting(unittest.TestCase):
             mock.patch('functest.ci.prepare_env.'
                        'ft_utils.get_parameter_from_yaml',
                        side_effect=ValueError):
-            CONST.INSTALLER_IP = 'test_ip'
-            CONST.INSTALLER_TYPE = 'test_inst_type'
+            CONST.__setattr__('INSTALLER_IP', 'test_ip')
+            CONST.__setattr__('INSTALLER_TYPE', 'test_inst_type')
             opnfv_constants.INSTALLERS = ['test_inst_type']
             prepare_env.get_deployment_handler()
             msg = ('Printing deployment info is not supported for '
@@ -172,8 +165,8 @@ class PrepareEnvTesting(unittest.TestCase):
                         side_effect=Exception), \
             mock.patch('functest.ci.prepare_env.'
                        'ft_utils.get_parameter_from_yaml'):
-            CONST.INSTALLER_IP = 'test_ip'
-            CONST.INSTALLER_TYPE = 'test_inst_type'
+            CONST.__setattr__('INSTALLER_IP', 'test_ip')
+            CONST.__setattr__('INSTALLER_TYPE', 'test_inst_type')
             opnfv_constants.INSTALLERS = ['test_inst_type']
             prepare_env.get_deployment_handler()
             self.assertTrue(mock_debug.called)
@@ -188,12 +181,21 @@ class PrepareEnvTesting(unittest.TestCase):
                 as mock_method:
             prepare_env.create_directories()
             mock_logger_info.assert_any_call("Creating needed directories...")
-            mock_method.assert_any_call(CONST.dir_functest_conf)
-            mock_method.assert_any_call(CONST.dir_functest_data)
+            mock_method.assert_any_call(
+                CONST.__getattribute__('dir_functest_conf'))
+            mock_method.assert_any_call(
+                CONST.__getattribute__('dir_functest_data'))
+            mock_method.assert_any_call(
+                CONST.__getattribute__('dir_functest_images'))
             mock_logger_info.assert_any_call("    %s created." %
-                                             CONST.dir_functest_conf)
+                                             CONST.__getattribute__(
+                                                 'dir_functest_conf'))
             mock_logger_info.assert_any_call("    %s created." %
-                                             CONST.dir_functest_data)
+                                             CONST.__getattribute__(
+                                                 'dir_functest_data'))
+            mock_logger_info.assert_any_call("    %s created." %
+                                             CONST.__getattribute__(
+                                                 'dir_functest_images'))
 
     @mock.patch('functest.ci.prepare_env.logger.info')
     @mock.patch('functest.ci.prepare_env.logger.debug')
@@ -204,9 +206,14 @@ class PrepareEnvTesting(unittest.TestCase):
             prepare_env.create_directories()
             mock_logger_info.assert_any_call("Creating needed directories...")
             mock_logger_debug.assert_any_call("   %s already exists." %
-                                              CONST.dir_functest_conf)
+                                              CONST.__getattribute__(
+                                                  'dir_functest_conf'))
+            mock_logger_debug.assert_any_call("   %s already exists." %
+                                              CONST.__getattribute__(
+                                                  'dir_functest_data'))
             mock_logger_debug.assert_any_call("   %s already exists." %
-                                              CONST.dir_functest_data)
+                                              CONST.__getattribute__(
+                                                  'dir_functest_images'))
 
     def _get_env_cred_dict(self, os_prefix=''):
         return {'OS_USERNAME': os_prefix + 'username',
@@ -230,24 +237,24 @@ class PrepareEnvTesting(unittest.TestCase):
                 mock.patch('functest.ci.prepare_env.os.path.getsize',
                            return_value=0), \
                 self.assertRaises(Exception):
-            CONST.openstack_creds = 'test_creds'
+            CONST.__setattr__('openstack_creds', 'test_creds')
             prepare_env.source_rc_file()
 
     def test_source_rc_missing_installer_ip(self):
         with mock.patch('functest.ci.prepare_env.os.path.isfile',
                         return_value=False), \
                 self.assertRaises(Exception):
-            CONST.INSTALLER_IP = None
-            CONST.openstack_creds = 'test_creds'
+            CONST.__setattr__('INSTALLER_IP', None)
+            CONST.__setattr__('openstack_creds', 'test_creds')
             prepare_env.source_rc_file()
 
     def test_source_rc_missing_installer_type(self):
         with mock.patch('functest.ci.prepare_env.os.path.isfile',
                         return_value=False), \
                 self.assertRaises(Exception):
-            CONST.INSTALLER_IP = 'test_ip'
-            CONST.openstack_creds = 'test_creds'
-            CONST.INSTALLER_TYPE = 'test_type'
+            CONST.__setattr__('INSTALLER_IP', 'test_ip')
+            CONST.__setattr__('openstack_creds', 'test_creds')
+            CONST.__setattr__('INSTALLER_TYPE', 'test_type')
             opnfv_constants.INSTALLERS = []
             prepare_env.source_rc_file()
 
@@ -259,9 +266,9 @@ class PrepareEnvTesting(unittest.TestCase):
                 mock.patch('functest.ci.prepare_env.subprocess.Popen') \
                 as mock_subproc_popen, \
                 self.assertRaises(Exception):
-            CONST.openstack_creds = 'test_creds'
-            CONST.INSTALLER_IP = None
-            CONST.INSTALLER_TYPE = 'test_type'
+            CONST.__setattr__('openstack_creds', None)
+            CONST.__setattr__('INSTALLER_IP', 'test_ip')
+            CONST.__setattr__('INSTALLER_TYPE', 'test_type')
             opnfv_constants.INSTALLERS = ['test_type']
 
             process_mock = mock.Mock()
@@ -281,7 +288,7 @@ class PrepareEnvTesting(unittest.TestCase):
                        return_value={'tkey1': 'tvalue1'}), \
             mock.patch('functest.ci.prepare_env.os.remove') as m, \
                 mock.patch('functest.ci.prepare_env.yaml.dump'):
-            CONST.DEPLOY_SCENARIO = 'test_scenario'
+            CONST.__setattr__('DEPLOY_SCENARIO', 'test_scenario')
             prepare_env.patch_file('test_file')
             self.assertTrue(m.called)
 
@@ -321,12 +328,12 @@ class PrepareEnvTesting(unittest.TestCase):
 
         cmd = "rally deployment destroy opnfv-rally"
         error_msg = "Deployment %s does not exist." % \
-                    CONST.rally_deployment_name
+                    CONST.__getattribute__('rally_deployment_name')
         mock_logger_info.assert_any_call("Creating Rally environment...")
         mock_exec.assert_any_call(cmd, error_msg=error_msg, verbose=False)
 
         cmd = "rally deployment create --file=rally_conf.json --name="
-        cmd += CONST.rally_deployment_name
+        cmd += CONST.__getattribute__('rally_deployment_name')
         error_msg = "Problem while creating Rally deployment"
         mock_exec_raise.assert_any_call(cmd, error_msg=error_msg)
 
@@ -352,7 +359,7 @@ class PrepareEnvTesting(unittest.TestCase):
                  'stdout.readline.return_value': '0'}
         mock_popen.configure_mock(**attrs)
 
-        CONST.tempest_deployment_name = 'test_dep_name'
+        CONST.__setattr__('tempest_deployment_name', 'test_dep_name')
         with mock.patch('functest.ci.prepare_env.'
                         'ft_utils.execute_command_raise',
                         side_effect=Exception), \
@@ -379,7 +386,7 @@ class PrepareEnvTesting(unittest.TestCase):
         with mock.patch('functest.ci.prepare_env.os.path.isfile',
                         return_value=False), \
                 self.assertRaises(Exception):
-                prepare_env.check_environment()
+            prepare_env.check_environment()
 
     @mock.patch('functest.ci.prepare_env.sys.exit')
     @mock.patch('functest.ci.prepare_env.logger.error')
@@ -431,7 +438,8 @@ class PrepareEnvTesting(unittest.TestCase):
             self.assertTrue(mock_install_rally.called)
             self.assertTrue(mock_install_temp.called)
             self.assertTrue(mock_create_flavor.called)
-            m.assert_called_once_with(CONST.env_active, "w")
+            m.assert_called_once_with(
+                CONST.__getattribute__('env_active'), "w")
             self.assertTrue(mock_check_env.called)
             self.assertTrue(mock_print_info.called)
 
@@ -449,4 +457,5 @@ class PrepareEnvTesting(unittest.TestCase):
 
 
 if __name__ == "__main__":
+    logging.disable(logging.CRITICAL)
     unittest.main(verbosity=2)