aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/testing/user/configguide/configguide.rst6
-rw-r--r--functest/cli/commands/cli_env.py22
-rw-r--r--functest/cli/commands/cli_os.py4
-rw-r--r--functest/cli/commands/cli_tier.py6
-rw-r--r--functest/opnfv_tests/openstack/refstack_client/refstack_client.py11
-rw-r--r--functest/opnfv_tests/openstack/refstack_client/tempest_conf.py1
-rw-r--r--functest/opnfv_tests/openstack/tempest/conf_utils.py26
-rw-r--r--functest/opnfv_tests/openstack/tempest/tempest.py11
-rw-r--r--functest/opnfv_tests/sdn/odl/odl.py4
-rw-r--r--functest/tests/unit/cli/commands/test_cli_env.py6
-rw-r--r--functest/tests/unit/cli/commands/test_cli_os.py1
-rw-r--r--functest/tests/unit/cli/test_cli_base.py2
-rw-r--r--functest/tests/unit/openstack/refstack_client/test_refstack_client.py8
-rw-r--r--functest/tests/unit/openstack/tempest/test_conf_utils.py71
-rw-r--r--functest/tests/unit/openstack/tempest/test_tempest.py45
-rw-r--r--functest/tests/unit/utils/test_openstack_utils.py4
-rw-r--r--functest/utils/config.py2
-rw-r--r--functest/utils/constants.py4
-rw-r--r--functest/utils/env.py1
-rw-r--r--functest/utils/openstack_utils.py2
20 files changed, 114 insertions, 123 deletions
diff --git a/docs/testing/user/configguide/configguide.rst b/docs/testing/user/configguide/configguide.rst
index 431e9635d..9adf79e14 100644
--- a/docs/testing/user/configguide/configguide.rst
+++ b/docs/testing/user/configguide/configguide.rst
@@ -235,7 +235,6 @@ when performing manual test scenarios:
* NODE_NAME = <Test POD Name>
* BUILD_TAG = <Jenkins Build Tag>
- * CI_DEBUG = <DebugTraceValue>
where:
@@ -255,11 +254,6 @@ where:
which are independently pushed to the results database
from different Jenkins jobs.
DO NOT USE THIS OPTION IN MANUAL TEST SCENARIOS.
- * <DebugTraceValue> = "true" or "false"
- Default = "false", if not specified
- If "true" is specified, then additional debug trace
- text can be sent to the test results file / log files
- and also to the standard console output.
Openstack credentials
diff --git a/functest/cli/commands/cli_env.py b/functest/cli/commands/cli_env.py
index c1b66da41..a5c0e3996 100644
--- a/functest/cli/commands/cli_env.py
+++ b/functest/cli/commands/cli_env.py
@@ -8,11 +8,10 @@
# pylint: disable=missing-docstring
+import os
+
import click
import prettytable
-
-from functest.utils.constants import CONST
-
import six
@@ -20,24 +19,19 @@ class Env(object): # pylint: disable=too-few-public-methods
@staticmethod
def show():
- def _get_value(attr, default='Unknown'):
- return attr if attr else default
-
- install_type = _get_value(CONST.__getattribute__('INSTALLER_TYPE'))
- installer_ip = _get_value(CONST.__getattribute__('INSTALLER_IP'))
+ install_type = os.environ.get('INSTALLER_TYPE', 'Unknown')
+ installer_ip = os.environ.get('INSTALLER_IP', 'Unknown')
installer_info = ("%s, %s" % (install_type, installer_ip))
- scenario = _get_value(CONST.__getattribute__('DEPLOY_SCENARIO'))
- node = _get_value(CONST.__getattribute__('NODE_NAME'))
- is_debug = _get_value(CONST.__getattribute__('CI_DEBUG'), 'false')
- build_tag = CONST.__getattribute__('BUILD_TAG')
- if build_tag is not None:
+ scenario = os.environ.get('DEPLOY_SCENARIO', 'Unknown')
+ node = os.environ.get('NODE_NAME', 'Unknown')
+ build_tag = os.environ.get('BUILD_TAG', None)
+ if build_tag:
build_tag = build_tag.lstrip(
"jenkins-").lstrip("functest").lstrip("-")
env_info = {'INSTALLER': installer_info,
'SCENARIO': scenario,
'POD': node,
- 'DEBUG FLAG': is_debug,
'BUILD_TAG': build_tag}
return env_info
diff --git a/functest/cli/commands/cli_os.py b/functest/cli/commands/cli_os.py
index 7595caab7..0cf286238 100644
--- a/functest/cli/commands/cli_os.py
+++ b/functest/cli/commands/cli_os.py
@@ -20,10 +20,10 @@ from functest.utils.constants import CONST
class OpenStack(object):
def __init__(self):
- self.os_auth_url = CONST.__getattribute__('OS_AUTH_URL')
+ self.os_auth_url = os.environ['OS_AUTH_URL']
self.endpoint_ip = None
self.endpoint_port = None
- self.openstack_creds = CONST.__getattribute__('env_file')
+ self.openstack_creds = getattr(CONST, 'env_file')
if self.os_auth_url:
self.endpoint_ip = urllib.parse.urlparse(self.os_auth_url).hostname
self.endpoint_port = urllib.parse.urlparse(self.os_auth_url).port
diff --git a/functest/cli/commands/cli_tier.py b/functest/cli/commands/cli_tier.py
index 7aa3f714e..933d8cd63 100644
--- a/functest/cli/commands/cli_tier.py
+++ b/functest/cli/commands/cli_tier.py
@@ -8,12 +8,12 @@
# pylint: disable=missing-docstring
+import os
import pkg_resources
import click
from functest.ci import tier_builder
-from functest.utils.constants import CONST
from functest.utils import functest_utils
@@ -21,8 +21,8 @@ class Tier(object):
def __init__(self):
self.tiers = tier_builder.TierBuilder(
- CONST.__getattribute__('INSTALLER_TYPE'),
- CONST.__getattribute__('DEPLOY_SCENARIO'),
+ os.environ['INSTALLER_TYPE'],
+ os.environ['DEPLOY_SCENARIO'],
pkg_resources.resource_filename('functest', 'ci/testcases.yaml'))
def list(self):
diff --git a/functest/opnfv_tests/openstack/refstack_client/refstack_client.py b/functest/opnfv_tests/openstack/refstack_client/refstack_client.py
index 4e8f58b62..cb2ba2208 100644
--- a/functest/opnfv_tests/openstack/refstack_client/refstack_client.py
+++ b/functest/opnfv_tests/openstack/refstack_client/refstack_client.py
@@ -26,7 +26,6 @@ from functest.energy import energy
from functest.opnfv_tests.openstack.refstack_client.tempest_conf \
import TempestConf
from functest.opnfv_tests.openstack.tempest import conf_utils
-from functest.utils.constants import CONST
import functest.utils.functest_utils as ft_utils
__author__ = ("Matthew Li <matthew.lijun@huawei.com>,"
@@ -58,8 +57,8 @@ class RefstackClient(testcase.TestCase):
'functest', 'opnfv_tests/openstack/refstack_client/defcore.txt')
self.testlist = None
self.insecure = ''
- if ('https' in CONST.__getattribute__('OS_AUTH_URL') and
- CONST.__getattribute__('OS_INSECURE').lower() == 'true'):
+ if ('https' in os.environ['OS_AUTH_URL'] and
+ os.getenv('OS_INSECURE', '').lower() == 'true'):
self.insecure = '-k'
def generate_conf(self):
@@ -89,9 +88,9 @@ class RefstackClient(testcase.TestCase):
f_env.write(
("Refstack environment:\n"
" SUT: {}\n Scenario: {}\n Node: {}\n Date: {}\n")
- .format(CONST.__getattribute__('INSTALLER_TYPE'),
- CONST.__getattribute__('DEPLOY_SCENARIO'),
- CONST.__getattribute__('NODE_NAME'),
+ .format(os.getenv('INSTALLER_TYPE', None),
+ os.getenv('DEPLOY_SCENARIO', None),
+ os.getenv('NODE_NAME', 'unknown_pod'),
time.strftime("%a %b %d %H:%M:%S %Z %Y")))
with open(os.path.join(conf_utils.REFSTACK_RESULTS_DIR,
diff --git a/functest/opnfv_tests/openstack/refstack_client/tempest_conf.py b/functest/opnfv_tests/openstack/refstack_client/tempest_conf.py
index 44d0a18b2..73a2685c9 100644
--- a/functest/opnfv_tests/openstack/refstack_client/tempest_conf.py
+++ b/functest/opnfv_tests/openstack/refstack_client/tempest_conf.py
@@ -38,6 +38,7 @@ class TempestConf(object):
use_custom_flavors=True)
conf_utils.configure_tempest_defcore(
self.deployment_dir,
+ network_name=resources.get("network_name"),
image_id=resources.get("image_id"),
flavor_id=resources.get("flavor_id"),
image_id_alt=resources.get("image_id_alt"),
diff --git a/functest/opnfv_tests/openstack/tempest/conf_utils.py b/functest/opnfv_tests/openstack/tempest/conf_utils.py
index 6b35b96e5..efcbe7fdc 100644
--- a/functest/opnfv_tests/openstack/tempest/conf_utils.py
+++ b/functest/opnfv_tests/openstack/tempest/conf_utils.py
@@ -184,25 +184,27 @@ def backup_tempest_config(conf_file):
os.path.join(TEMPEST_RESULTS_DIR, 'tempest.conf'))
-def configure_tempest(deployment_dir, image_id=None, flavor_id=None,
- compute_cnt=None):
+def configure_tempest(deployment_dir, network_name=None, image_id=None,
+ flavor_id=None, compute_cnt=None):
"""
Calls rally verify and updates the generated tempest.conf with
given parameters
"""
conf_file = configure_verifier(deployment_dir)
- configure_tempest_update_params(conf_file, image_id, flavor_id,
- compute_cnt)
+ configure_tempest_update_params(conf_file, network_name, image_id,
+ flavor_id, compute_cnt)
-def configure_tempest_defcore(deployment_dir, image_id, flavor_id,
- image_id_alt, flavor_id_alt, tenant_id):
+def configure_tempest_defcore(deployment_dir, network_name, image_id,
+ flavor_id, image_id_alt, flavor_id_alt,
+ tenant_id):
# pylint: disable=too-many-arguments
"""
Add/update needed parameters into tempest.conf file
"""
conf_file = configure_verifier(deployment_dir)
- configure_tempest_update_params(conf_file, image_id, flavor_id)
+ configure_tempest_update_params(conf_file, network_name, image_id,
+ flavor_id)
LOGGER.debug("Updating selected tempest.conf parameters for defcore...")
config = ConfigParser.RawConfigParser()
@@ -266,18 +268,16 @@ def update_tempest_conf_file(conf_file, config):
config.write(config_file)
-def configure_tempest_update_params(tempest_conf_file, image_id=None,
- flavor_id=None, compute_cnt=1):
+def configure_tempest_update_params(tempest_conf_file, network_name=None,
+ image_id=None, flavor_id=None,
+ compute_cnt=1):
"""
Add/update needed parameters into tempest.conf file
"""
LOGGER.debug("Updating selected tempest.conf parameters...")
config = ConfigParser.RawConfigParser()
config.read(tempest_conf_file)
- config.set(
- 'compute',
- 'fixed_network_name',
- CONST.__getattribute__('tempest_private_net_name'))
+ config.set('compute', 'fixed_network_name', network_name)
config.set('compute', 'volume_device_name',
CONST.__getattribute__('tempest_volume_device_name'))
diff --git a/functest/opnfv_tests/openstack/tempest/tempest.py b/functest/opnfv_tests/openstack/tempest/tempest.py
index c5ad4ecbe..01caf4ffb 100644
--- a/functest/opnfv_tests/openstack/tempest/tempest.py
+++ b/functest/opnfv_tests/openstack/tempest/tempest.py
@@ -257,6 +257,7 @@ class TempestCommon(testcase.TestCase):
self.resources.os_creds)
conf_utils.configure_tempest(
self.deployment_dir,
+ network_name=resources.get("network_name"),
image_id=resources.get("image_id"),
flavor_id=resources.get("flavor_id"),
compute_cnt=compute_cnt)
@@ -380,10 +381,12 @@ class TempestResourcesManager(object):
tempest_segmentation_id = CONST.__getattribute__(
'tempest_segmentation_id')
+ tempest_net_name = CONST.__getattribute__(
+ 'tempest_private_net_name') + self.guid
+
network_creator = deploy_utils.create_network(
self.os_creds, NetworkConfig(
- name=CONST.__getattribute__(
- 'tempest_private_net_name') + self.guid,
+ name=tempest_net_name,
project_name=project_name,
network_type=tempest_network_type,
physical_network=tempest_physical_network,
@@ -397,6 +400,7 @@ class TempestResourcesManager(object):
if network_creator is None or network_creator.get_network() is None:
raise Exception("Failed to create private network")
self.creators.append(network_creator)
+ return tempest_net_name
def _create_image(self, name):
"""Create image for tests"""
@@ -433,6 +437,7 @@ class TempestResourcesManager(object):
create_project=False):
"""Create resources for Tempest test suite."""
result = {
+ 'tempest_net_name': None,
'image_id': None,
'image_id_alt': None,
'flavor_id': None,
@@ -449,7 +454,7 @@ class TempestResourcesManager(object):
result['tenant_id'] = result['project_id'] # for compatibility
LOGGER.debug("Creating private network for Tempest suite")
- self._create_network(project_name)
+ result['tempest_net_name'] = self._create_network(project_name)
LOGGER.debug("Creating image for Tempest suite")
image_name = CONST.__getattribute__('openstack_image_name') + self.guid
diff --git a/functest/opnfv_tests/sdn/odl/odl.py b/functest/opnfv_tests/sdn/odl/odl.py
index 25cc758ea..6af49ffaf 100644
--- a/functest/opnfv_tests/sdn/odl/odl.py
+++ b/functest/opnfv_tests/sdn/odl/odl.py
@@ -38,7 +38,7 @@ __author__ = "Cedric Ollivier <cedric.ollivier@orange.com>"
class ODLTests(robotframework.RobotFramework):
"""ODL test runner."""
- odl_test_repo = constants.CONST.__getattribute__('dir_repo_odl_test')
+ odl_test_repo = getattr(constants.CONST, 'dir_repo_odl_test')
neutron_suite_dir = os.path.join(
odl_test_repo, "csit/suites/openstack/neutron")
basic_suite_dir = os.path.join(
@@ -51,7 +51,7 @@ class ODLTests(robotframework.RobotFramework):
def __init__(self, **kwargs):
super(ODLTests, self).__init__(**kwargs)
self.res_dir = os.path.join(
- constants.CONST.__getattribute__('dir_results'), 'odl')
+ getattr(constants.CONST, 'dir_results'), 'odl')
self.xml_file = os.path.join(self.res_dir, 'output.xml')
@classmethod
diff --git a/functest/tests/unit/cli/commands/test_cli_env.py b/functest/tests/unit/cli/commands/test_cli_env.py
index 883772348..d17da166e 100644
--- a/functest/tests/unit/cli/commands/test_cli_env.py
+++ b/functest/tests/unit/cli/commands/test_cli_env.py
@@ -48,9 +48,6 @@ class CliEnvTesting(unittest.TestCase):
elif var == 'BUILD_TAG':
os.environ['BUILD_TAG'] = ''
reg_string = r"| BUILD TAG: None|"
- elif var == 'DEBUG':
- os.environ['CI_DEBUG'] = ''
- reg_string = r"| DEBUG FLAG: false\s*|"
with mock.patch('functest.cli.commands.cli_env.click.echo') \
as mock_click_echo:
@@ -72,9 +69,6 @@ class CliEnvTesting(unittest.TestCase):
def test_show_missing_ci_build_tag(self, *args):
self._test_show_missing_env_var('BUILD_TAG', *args)
- def test_show_missing_ci_debug(self, *args):
- self._test_show_missing_env_var('DEBUG', *args)
-
if __name__ == "__main__":
logging.disable(logging.CRITICAL)
diff --git a/functest/tests/unit/cli/commands/test_cli_os.py b/functest/tests/unit/cli/commands/test_cli_os.py
index 1626ab1bc..02392d2df 100644
--- a/functest/tests/unit/cli/commands/test_cli_os.py
+++ b/functest/tests/unit/cli/commands/test_cli_os.py
@@ -26,6 +26,7 @@ class CliOpenStackTesting(unittest.TestCase):
self.installer_ip = 'test_installer_ip'
self.openstack_creds = 'test_env_file'
self.snapshot_file = 'test_snapshot_file'
+ os.environ["OS_AUTH_URL"] = ''
self.cli_os = cli_os.CliOpenStack()
def test_ping_endpoint_default(self):
diff --git a/functest/tests/unit/cli/test_cli_base.py b/functest/tests/unit/cli/test_cli_base.py
index 876e8aa15..185a52204 100644
--- a/functest/tests/unit/cli/test_cli_base.py
+++ b/functest/tests/unit/cli/test_cli_base.py
@@ -10,6 +10,7 @@
# pylint: disable=missing-docstring
import logging
+import os
import unittest
import mock
@@ -19,6 +20,7 @@ with mock.patch('functest.cli.commands.cli_testcase.CliTestcase.__init__',
mock.Mock(return_value=None)), \
mock.patch('functest.cli.commands.cli_tier.CliTier.__init__',
mock.Mock(return_value=None)):
+ os.environ['OS_AUTH_URL'] = ''
from functest.cli import cli_base
diff --git a/functest/tests/unit/openstack/refstack_client/test_refstack_client.py b/functest/tests/unit/openstack/refstack_client/test_refstack_client.py
index a7a914cbe..e2e7dcebc 100644
--- a/functest/tests/unit/openstack/refstack_client/test_refstack_client.py
+++ b/functest/tests/unit/openstack/refstack_client/test_refstack_client.py
@@ -10,6 +10,7 @@
# pylint: disable=missing-docstring
import logging
+import os
import unittest
import mock
@@ -18,7 +19,6 @@ import pkg_resources
from functest.core import testcase
from functest.opnfv_tests.openstack.refstack_client.refstack_client import \
RefstackClient, RefstackClientParser
-from functest.utils.constants import CONST
from snaps.openstack.os_credentials import OSCreds
@@ -39,8 +39,8 @@ class OSRefstackClientTesting(unittest.TestCase):
def setUp(self):
self.default_args = {'config': self._config,
'testlist': self._testlist}
- CONST.__setattr__('OS_AUTH_URL', 'https://ip:5000/v3')
- CONST.__setattr__('OS_INSECURE', 'true')
+ os.environ['OS_AUTH_URL'] = 'https://ip:5000/v3'
+ os.environ['OS_INSECURE'] = 'true'
self.case_name = 'refstack_defcore'
self.result = 0
self.os_creds = OSCreds(
@@ -70,7 +70,7 @@ class OSRefstackClientTesting(unittest.TestCase):
m_cmd.assert_any_call(cmd)
def test_run_defcore(self):
- CONST.__setattr__('OS_AUTH_URL', 'http://ip:5000/v3')
+ os.environ['OS_AUTH_URL'] = 'http://ip:5000/v3'
insecure = ''
config = 'tempest.conf'
testlist = 'testlist'
diff --git a/functest/tests/unit/openstack/tempest/test_conf_utils.py b/functest/tests/unit/openstack/tempest/test_conf_utils.py
index c31ea0ab6..323a1ee06 100644
--- a/functest/tests/unit/openstack/tempest/test_conf_utils.py
+++ b/functest/tests/unit/openstack/tempest/test_conf_utils.py
@@ -5,7 +5,7 @@
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
-# pylint: disable=invalid-name,missing-docstring
+# pylint: disable=missing-docstring
import logging
import unittest
@@ -32,7 +32,7 @@ class OSTempestConfUtilsTesting(unittest.TestCase):
return_value=None)
@mock.patch('snaps.openstack.utils.deploy_utils.create_image',
return_value=mock.Mock())
- def test_create_tempest_resources_missing_network_dic(self, *mock_args):
+ def test_create_res_missing_net_dic(self, *mock_args):
# pylint: disable=unused-argument
tempest_resources = tempest.TempestResourcesManager(
os_creds=self.os_creds)
@@ -49,7 +49,7 @@ class OSTempestConfUtilsTesting(unittest.TestCase):
return_value=mock.Mock())
@mock.patch('snaps.openstack.utils.deploy_utils.create_image',
return_value=None)
- def test_create_tempest_resources_missing_image(self, *mock_args):
+ def test_create_res_missing_image(self, *mock_args):
# pylint: disable=unused-argument
tempest_resources = tempest.TempestResourcesManager(
os_creds=self.os_creds)
@@ -69,7 +69,7 @@ class OSTempestConfUtilsTesting(unittest.TestCase):
return_value=mock.Mock())
@mock.patch('snaps.openstack.create_flavor.OpenStackFlavor.create',
return_value=None)
- def test_create_tempest_resources_missing_flavor(self, *mock_args):
+ def test_create_res_missing_flavor(self, *mock_args):
# pylint: disable=unused-argument
tempest_resources = tempest.TempestResourcesManager(
os_creds=self.os_creds)
@@ -132,7 +132,7 @@ class OSTempestConfUtilsTesting(unittest.TestCase):
'create_verifier', return_value=mock.Mock())
@mock.patch('functest.opnfv_tests.openstack.tempest.conf_utils.'
'create_rally_deployment', return_value=mock.Mock())
- def test_get_verifier_id_missing_verifier(self, mock_rally, mock_tempest):
+ def test_get_verif_id_missing_verif(self, mock_rally, mock_tempest):
# pylint: disable=unused-argument
CONST.__setattr__('tempest_verifier_name', 'test_verifier_name')
with mock.patch('functest.opnfv_tests.openstack.tempest.'
@@ -161,7 +161,7 @@ class OSTempestConfUtilsTesting(unittest.TestCase):
self.assertEqual(conf_utils.get_verifier_id(),
'test_deploy_id')
- def test_get_verifier_deployment_id_missing_rally(self):
+ def test_get_depl_id_missing_rally(self):
CONST.__setattr__('tempest_verifier_name', 'test_deploy_name')
with mock.patch('functest.opnfv_tests.openstack.tempest.'
'conf_utils.subprocess.Popen') as mock_popen, \
@@ -172,7 +172,7 @@ class OSTempestConfUtilsTesting(unittest.TestCase):
mock_popen.return_value = mock_stdout
conf_utils.get_verifier_deployment_id()
- def test_get_verifier_deployment_id_default(self):
+ def test_get_depl_id_default(self):
CONST.__setattr__('tempest_verifier_name', 'test_deploy_name')
with mock.patch('functest.opnfv_tests.openstack.tempest.'
'conf_utils.subprocess.Popen') as mock_popen:
@@ -184,59 +184,61 @@ class OSTempestConfUtilsTesting(unittest.TestCase):
self.assertEqual(conf_utils.get_verifier_deployment_id(),
'test_deploy_id')
- def test_get_verifier_repo_dir_default(self):
+ def test_get_verif_repo_dir_default(self):
with mock.patch('functest.opnfv_tests.openstack.tempest.'
'conf_utils.os.path.join',
return_value='test_verifier_repo_dir'), \
mock.patch('functest.opnfv_tests.openstack.tempest.'
- 'conf_utils.get_verifier_id') as m:
+ 'conf_utils.get_verifier_id') as mock_get_id:
self.assertEqual(conf_utils.get_verifier_repo_dir(''),
'test_verifier_repo_dir')
- self.assertTrue(m.called)
+ self.assertTrue(mock_get_id.called)
- def test_get_verifier_deployment_dir_default(self):
+ def test_get_depl_dir_default(self):
with mock.patch('functest.opnfv_tests.openstack.tempest.'
'conf_utils.os.path.join',
return_value='test_verifier_repo_dir'), \
mock.patch('functest.opnfv_tests.openstack.tempest.'
- 'conf_utils.get_verifier_id') as m1, \
+ 'conf_utils.get_verifier_id') as mock_get_vid, \
mock.patch('functest.opnfv_tests.openstack.tempest.'
- 'conf_utils.get_verifier_deployment_id') as m2:
+ 'conf_utils.get_verifier_deployment_id') \
+ as mock_get_did:
self.assertEqual(conf_utils.get_verifier_deployment_dir('', ''),
'test_verifier_repo_dir')
- self.assertTrue(m1.called)
- self.assertTrue(m2.called)
+ self.assertTrue(mock_get_vid.called)
+ self.assertTrue(mock_get_did.called)
- def test_backup_tempest_config_default(self):
+ def test_backup_config_default(self):
with mock.patch('functest.opnfv_tests.openstack.tempest.'
'conf_utils.os.path.exists',
return_value=False), \
mock.patch('functest.opnfv_tests.openstack.tempest.'
- 'conf_utils.os.makedirs') as m1, \
+ 'conf_utils.os.makedirs') as mock_makedirs, \
mock.patch('functest.opnfv_tests.openstack.tempest.'
- 'conf_utils.shutil.copyfile') as m2:
+ 'conf_utils.shutil.copyfile') as mock_copyfile:
conf_utils.backup_tempest_config('test_conf_file')
- self.assertTrue(m1.called)
- self.assertTrue(m2.called)
+ self.assertTrue(mock_makedirs.called)
+ self.assertTrue(mock_copyfile.called)
with mock.patch('functest.opnfv_tests.openstack.tempest.'
'conf_utils.os.path.exists',
return_value=True), \
mock.patch('functest.opnfv_tests.openstack.tempest.'
- 'conf_utils.shutil.copyfile') as m2:
+ 'conf_utils.shutil.copyfile') as mock_copyfile:
conf_utils.backup_tempest_config('test_conf_file')
- self.assertTrue(m2.called)
+ self.assertTrue(mock_copyfile.called)
- def test_configure_tempest_default(self):
+ def test_conf_tempest_def(self):
with mock.patch('functest.opnfv_tests.openstack.tempest.'
'conf_utils.configure_verifier',
return_value='test_conf_file'), \
mock.patch('functest.opnfv_tests.openstack.tempest.'
- 'conf_utils.configure_tempest_update_params') as m1:
+ 'conf_utils.configure_tempest_update_params')\
+ as mock_upd:
conf_utils.configure_tempest('test_dep_dir')
- self.assertTrue(m1.called)
+ self.assertTrue(mock_upd.called)
- def test_configure_tempest_defcore_default(self):
+ def test_conf_tempest_defcore_def(self):
with mock.patch('functest.opnfv_tests.openstack.tempest.'
'conf_utils.configure_verifier',
return_value='test_conf_file'), \
@@ -257,8 +259,9 @@ class OSTempestConfUtilsTesting(unittest.TestCase):
mock.patch('functest.opnfv_tests.openstack.tempest.'
'conf_utils.shutil.copyfile'):
conf_utils.configure_tempest_defcore(
- 'test_dep_dir', 'test_image_id', 'test_flavor_id',
- 'test_image_alt_id', 'test_flavor_alt_id', 'test_tenant_id')
+ 'test_dep_dir', 'test_network_name', 'test_image_id',
+ 'test_flavor_id', 'test_image_alt_id', 'test_flavor_alt_id',
+ 'test_tenant_id')
mset.assert_any_call('compute', 'image_ref', 'test_image_id')
mset.assert_any_call('compute', 'image_ref_alt',
'test_image_alt_id')
@@ -268,7 +271,7 @@ class OSTempestConfUtilsTesting(unittest.TestCase):
self.assertTrue(mread.called)
self.assertTrue(mwrite.called)
- def test_generate_test_accounts_file_default(self):
+ def test_gen_test_accounts_file_def(self):
with mock.patch("__builtin__.open", mock.mock_open()), \
mock.patch('functest.opnfv_tests.openstack.tempest.conf_utils.'
'yaml.dump') as mock_dump:
@@ -297,27 +300,27 @@ class OSTempestConfUtilsTesting(unittest.TestCase):
self.assertTrue(mread.called)
self.assertTrue(mwrite.called)
- def test_configure_tempest_update_params_missing_image_id(self):
+ def test_upd_missing_image_id(self):
self._test_missing_param(('compute', 'image_ref', 'test_image_id'),
'test_image_id', None)
- def test_configure_tempest_update_params_missing_image_id_alt(self):
+ def test_upd_missing_image_id_alt(self):
conf_utils.IMAGE_ID_ALT = 'test_image_id_alt'
self._test_missing_param(('compute', 'image_ref_alt',
'test_image_id_alt'), None, None)
- def test_configure_tempest_update_params_missing_flavor_id(self):
+ def test_upd_missing_flavor_id(self):
CONST.__setattr__('tempest_use_custom_flavors', 'True')
self._test_missing_param(('compute', 'flavor_ref', 'test_flavor_id'),
None, 'test_flavor_id')
- def test_configure_tempest_update_params_missing_flavor_id_alt(self):
+ def test_upd_missing_flavor_id_alt(self):
CONST.__setattr__('tempest_use_custom_flavors', 'True')
conf_utils.FLAVOR_ID_ALT = 'test_flavor_id_alt'
self._test_missing_param(('compute', 'flavor_ref_alt',
'test_flavor_id_alt'), None, None)
- def test_configure_verifier_missing_temp_conf_file(self):
+ def test_verif_missing_conf_file(self):
with mock.patch('functest.opnfv_tests.openstack.tempest.'
'conf_utils.os.path.isfile',
return_value=False), \
diff --git a/functest/tests/unit/openstack/tempest/test_tempest.py b/functest/tests/unit/openstack/tempest/test_tempest.py
index 26f2e8adb..5d543ffcc 100644
--- a/functest/tests/unit/openstack/tempest/test_tempest.py
+++ b/functest/tests/unit/openstack/tempest/test_tempest.py
@@ -5,7 +5,7 @@
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
-# pylint: disable=invalid-name,missing-docstring
+# pylint: disable=missing-docstring
import logging
import unittest
@@ -50,7 +50,7 @@ class OSTempestTesting(unittest.TestCase):
self.tempestdefcore = tempest.TempestDefcore()
@mock.patch('functest.opnfv_tests.openstack.tempest.tempest.LOGGER.debug')
- def test_generate_test_list_defcore_mode(self, mock_logger_debug):
+ def test_gen_tl_defcore_mode(self, mock_logger_debug):
# pylint: disable=unused-argument
self.tempestcommon.mode = 'defcore'
with mock.patch('functest.opnfv_tests.openstack.tempest.tempest.'
@@ -60,9 +60,8 @@ class OSTempestTesting(unittest.TestCase):
@mock.patch('functest.opnfv_tests.openstack.tempest.tempest.LOGGER.error')
@mock.patch('functest.opnfv_tests.openstack.tempest.tempest.LOGGER.debug')
- def test_generate_test_list_custom_mode_missing_file(self,
- mock_logger_debug,
- mock_logger_error):
+ def test_gen_tl_cm_missing_file(self, mock_logger_debug,
+ mock_logger_error):
# pylint: disable=unused-argument
self.tempestcommon.mode = 'custom'
with mock.patch('functest.opnfv_tests.openstack.tempest.tempest.'
@@ -72,7 +71,7 @@ class OSTempestTesting(unittest.TestCase):
self.tempestcommon.generate_test_list('test_verifier_repo_dir')
self.assertTrue((msg % conf_utils.TEMPEST_CUSTOM) in context)
- def test_generate_test_list_custom_mode_default(self):
+ def test_gen_tl_cm_default(self):
self.tempestcommon.mode = 'custom'
with mock.patch('functest.opnfv_tests.openstack.tempest.tempest.'
'shutil.copyfile') as mock_copyfile, \
@@ -81,7 +80,7 @@ class OSTempestTesting(unittest.TestCase):
self.tempestcommon.generate_test_list('test_verifier_repo_dir')
self.assertTrue(mock_copyfile.called)
- def _test_generate_test_list_mode_default(self, mode):
+ def _test_gen_tl_mode_default(self, mode):
self.tempestcommon.mode = mode
if self.tempestcommon.mode == 'smoke':
testr_mode = "smoke"
@@ -100,34 +99,34 @@ class OSTempestTesting(unittest.TestCase):
self.tempestcommon.generate_test_list('test_verifier_repo_dir')
mock_exec.assert_any_call(cmd)
- def test_generate_test_list_smoke_mode(self):
- self._test_generate_test_list_mode_default('smoke')
+ def test_gen_tl_smoke_mode(self):
+ self._test_gen_tl_mode_default('smoke')
- def test_generate_test_list_full_mode(self):
- self._test_generate_test_list_mode_default('full')
+ def test_gen_tl_full_mode(self):
+ self._test_gen_tl_mode_default('full')
- def test_parse_verifier_result_missing_verification_uuid(self):
+ def test_verif_res_missing_verif_id(self):
self.tempestcommon.verification_id = None
with self.assertRaises(Exception):
self.tempestcommon.parse_verifier_result()
- def test_apply_tempest_blacklist_no_blacklist(self):
- with mock.patch('__builtin__.open', mock.mock_open()) as m, \
+ def test_apply_missing_blacklist(self):
+ with mock.patch('__builtin__.open', mock.mock_open()) as mock_open, \
mock.patch.object(self.tempestcommon, 'read_file',
return_value=['test1', 'test2']):
conf_utils.TEMPEST_BLACKLIST = Exception
CONST.__setattr__('INSTALLER_TYPE', 'installer_type')
CONST.__setattr__('DEPLOY_SCENARIO', 'deploy_scenario')
self.tempestcommon.apply_tempest_blacklist()
- obj = m()
+ obj = mock_open()
obj.write.assert_any_call('test1\n')
obj.write.assert_any_call('test2\n')
- def test_apply_tempest_blacklist_default(self):
+ def test_apply_blacklist_default(self):
item_dict = {'scenarios': ['deploy_scenario'],
'installers': ['installer_type'],
'tests': ['test2']}
- with mock.patch('__builtin__.open', mock.mock_open()) as m, \
+ with mock.patch('__builtin__.open', mock.mock_open()) as mock_open, \
mock.patch.object(self.tempestcommon, 'read_file',
return_value=['test1', 'test2']), \
mock.patch('functest.opnfv_tests.openstack.tempest.tempest.'
@@ -135,7 +134,7 @@ class OSTempestTesting(unittest.TestCase):
CONST.__setattr__('INSTALLER_TYPE', 'installer_type')
CONST.__setattr__('DEPLOY_SCENARIO', 'deploy_scenario')
self.tempestcommon.apply_tempest_blacklist()
- obj = m()
+ obj = mock_open()
obj.write.assert_any_call('test1\n')
self.assertFalse(obj.write.assert_any_call('test2\n'))
@@ -166,7 +165,7 @@ class OSTempestTesting(unittest.TestCase):
@mock.patch('functest.opnfv_tests.openstack.tempest.tempest.os.makedirs')
@mock.patch('functest.opnfv_tests.openstack.tempest.tempest.'
'TempestResourcesManager.create', side_effect=Exception)
- def test_run_tempest_create_resources_ko(self, *args):
+ def test_run_create_resources_ko(self, *args):
# pylint: disable=unused-argument
self.assertEqual(self.tempestcommon.run(),
testcase.TestCase.EX_RUN_ERROR)
@@ -178,7 +177,7 @@ class OSTempestTesting(unittest.TestCase):
'TempestResourcesManager.create', return_value={})
@mock.patch('functest.opnfv_tests.openstack.snaps.snaps_utils.'
'get_active_compute_cnt', side_effect=Exception)
- def test_run_get_active_compute_cnt_ko(self, *args):
+ def test_run_get_active_comp_cnt_ko(self, *args):
# pylint: disable=unused-argument
self.assertEqual(self.tempestcommon.run(),
testcase.TestCase.EX_RUN_ERROR)
@@ -210,12 +209,12 @@ class OSTempestTesting(unittest.TestCase):
# pylint: disable=unused-argument
self.assertEqual(self.tempestcommon.run(), status)
- def test_run_missing_generate_test_list(self):
+ def test_run_missing_gen_test_list(self):
with mock.patch.object(self.tempestcommon, 'generate_test_list',
side_effect=Exception):
self._test_run(testcase.TestCase.EX_RUN_ERROR)
- def test_run_apply_tempest_blacklist_ko(self):
+ def test_run_apply_blacklist_ko(self):
with mock.patch.object(self.tempestcommon, 'generate_test_list'), \
mock.patch.object(self.tempestcommon,
'apply_tempest_blacklist',
@@ -232,7 +231,7 @@ class OSTempestTesting(unittest.TestCase):
side_effect=Exception):
self._test_run(testcase.TestCase.EX_RUN_ERROR)
- def test_run_parse_verifier_result_ko(self):
+ def test_run_verif_result_ko(self):
with mock.patch.object(self.tempestcommon, 'generate_test_list'), \
mock.patch.object(self.tempestcommon,
'apply_tempest_blacklist'), \
diff --git a/functest/tests/unit/utils/test_openstack_utils.py b/functest/tests/unit/utils/test_openstack_utils.py
index 0a7177fc4..259e60d5c 100644
--- a/functest/tests/unit/utils/test_openstack_utils.py
+++ b/functest/tests/unit/utils/test_openstack_utils.py
@@ -9,12 +9,12 @@
import copy
import logging
+import os
import unittest
import mock
from functest.utils import openstack_utils
-from functest.utils.constants import CONST
class OSUtilsTesting(unittest.TestCase):
@@ -1577,7 +1577,7 @@ class OSUtilsTesting(unittest.TestCase):
def test_create_tenant_default(self):
with mock.patch('functest.utils.openstack_utils.'
'is_keystone_v3', return_value=True):
- CONST.__setattr__('OS_PROJECT_DOMAIN_NAME', 'Default')
+ os.environ['OS_PROJECT_DOMAIN_NAME'] = 'Default'
self.assertEqual(openstack_utils.
create_tenant(self.keystone_client,
'test_tenant',
diff --git a/functest/utils/config.py b/functest/utils/config.py
index 050f12a92..c569856b1 100644
--- a/functest/utils/config.py
+++ b/functest/utils/config.py
@@ -45,7 +45,7 @@ class Config(object):
for param_n, param_v in six.iteritems(left_parametes):
attr_further = self._get_attr_further(attr_now, param_n)
if attr_further:
- self.__setattr__(attr_further, param_v)
+ setattr(self, attr_further, param_v)
if isinstance(param_v, dict):
self._parse(attr_further, param_v)
diff --git a/functest/utils/constants.py b/functest/utils/constants.py
index cb3ea7875..c19e0fc52 100644
--- a/functest/utils/constants.py
+++ b/functest/utils/constants.py
@@ -12,9 +12,9 @@ class Constants(object): # pylint: disable=too-few-public-methods
def __init__(self):
for attr_n, attr_v in six.iteritems(config.CONF.__dict__):
- self.__setattr__(attr_n, attr_v)
+ setattr(self, attr_n, attr_v)
for env_n, env_v in six.iteritems(env.ENV.__dict__):
- self.__setattr__(env_n, env_v)
+ setattr(self, env_n, env_v)
CONST = Constants()
diff --git a/functest/utils/env.py b/functest/utils/env.py
index f6e6e100f..aaa5beacc 100644
--- a/functest/utils/env.py
+++ b/functest/utils/env.py
@@ -13,7 +13,6 @@ class Environment(object): # pylint: disable=too-few-public-methods
default_envs = {
'NODE_NAME': 'unknown_pod',
- 'CI_DEBUG': 'false',
'DEPLOY_SCENARIO': 'os-nosdn-nofeature-noha',
'DEPLOY_TYPE': 'virt',
'INSTALLER_TYPE': None,
diff --git a/functest/utils/openstack_utils.py b/functest/utils/openstack_utils.py
index f7069a633..b779997c9 100644
--- a/functest/utils/openstack_utils.py
+++ b/functest/utils/openstack_utils.py
@@ -1320,7 +1320,7 @@ def get_domain_id(keystone_client, domain_name):
def create_tenant(keystone_client, tenant_name, tenant_description):
try:
if is_keystone_v3():
- domain_name = CONST.__getattribute__('OS_PROJECT_DOMAIN_NAME')
+ domain_name = os.environ['OS_PROJECT_DOMAIN_NAME']
domain_id = get_domain_id(keystone_client, domain_name)
tenant = keystone_client.projects.create(
name=tenant_name,