From 69e51470d8e9f51e02d5f0bd6e957c4e24c603c6 Mon Sep 17 00:00:00 2001 From: Cédric Ollivier Date: Mon, 27 Mar 2017 10:26:05 +0200 Subject: Rename testcase_base to testcase MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It simply removes the useless suffix. Change-Id: Ib9a682b57d8f33518359d817a593bb3786577390 Signed-off-by: Cédric Ollivier --- docs/testing/developer/devguide/index.rst | 4 +- docs/testing/user/configguide/configguide.rst | 2 +- functest/ci/run_tests.py | 6 +- functest/core/feature_base.py | 2 +- functest/core/pytest_suite_runner.py | 2 +- functest/core/testcase.py | 64 ++++++++++++++++++++ functest/core/testcase_base.py | 64 -------------------- functest/core/vnf_base.py | 2 +- functest/opnfv_tests/openstack/rally/rally.py | 8 +-- .../openstack/refstack_client/refstack_client.py | 22 +++---- functest/opnfv_tests/openstack/tempest/tempest.py | 8 +-- functest/opnfv_tests/openstack/vping/vping_base.py | 22 +++---- functest/opnfv_tests/openstack/vping/vping_ssh.py | 8 +-- functest/opnfv_tests/sdn/odl/odl.py | 10 ++-- functest/opnfv_tests/sdn/onos/onos.py | 8 +-- functest/opnfv_tests/vnf/aaa/aaa.py | 6 +- functest/tests/unit/core/test_testcase_base.py | 20 +++---- functest/tests/unit/odl/test_odl.py | 70 +++++++++++----------- .../unit/opnfv_tests/openstack/rally/test_rally.py | 6 +- .../refstack_client/test_refstack_client.py | 4 +- .../opnfv_tests/openstack/tempest/test_tempest.py | 20 +++---- run_unit_tests.sh | 2 +- 22 files changed, 180 insertions(+), 180 deletions(-) create mode 100644 functest/core/testcase.py delete mode 100644 functest/core/testcase_base.py diff --git a/docs/testing/developer/devguide/index.rst b/docs/testing/developer/devguide/index.rst index d5295903c..366eb7d37 100644 --- a/docs/testing/developer/devguide/index.rst +++ b/docs/testing/developer/devguide/index.rst @@ -156,13 +156,13 @@ Functest abstraction classes In order to harmonize test integration, 3 abstraction classes have been introduced in Danube: - * testcase_base: base for any test case + * testcase: base for any test case * feature_base: abstraction for feature project * vnf_base: abstraction for vnf onboarding The goal is to unify the way to run test from Functest. -feature_base and vnf_base inherit from testcase_base:: +feature_base and vnf_base inherit from testcase:: +-----------------------------------------+ | | diff --git a/docs/testing/user/configguide/configguide.rst b/docs/testing/user/configguide/configguide.rst index 494ad7e60..8507c1a8d 100644 --- a/docs/testing/user/configguide/configguide.rst +++ b/docs/testing/user/configguide/configguide.rst @@ -407,7 +407,7 @@ follows:: | |-- __init__.py | |-- feature_base.py | |-- pytest_suite_runner.py - | |-- testcase_base.py + | |-- testcase.py | |-- vnf_base.py |-- opnfv_tests | |-- __init__.py diff --git a/functest/ci/run_tests.py b/functest/ci/run_tests.py index 9166abe2c..37b90f922 100755 --- a/functest/ci/run_tests.py +++ b/functest/ci/run_tests.py @@ -18,7 +18,7 @@ import sys import functest.ci.generate_report as generate_report import functest.ci.tier_builder as tb -import functest.core.testcase_base as testcase_base +import functest.core.testcase as testcase import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils import functest.utils.openstack_clean as os_clean @@ -138,7 +138,7 @@ def run_test(test, tier_name, testcases=None): if GlobalVariables.REPORT_FLAG: flags += " -r" - result = testcase_base.TestCase.EX_RUN_ERROR + result = testcase.TestCase.EX_RUN_ERROR run_dict = get_run_dict(test_name) if run_dict: try: @@ -151,7 +151,7 @@ def run_test(test, tier_name, testcases=None): result = test_case.run(**kwargs) except KeyError: result = test_case.run() - if result == testcase_base.TestCase.EX_OK: + if result == testcase.TestCase.EX_OK: if GlobalVariables.REPORT_FLAG: test_case.push_to_db() result = test_case.check_criteria() diff --git a/functest/core/feature_base.py b/functest/core/feature_base.py index 9224d6c9a..f7f3e4605 100644 --- a/functest/core/feature_base.py +++ b/functest/core/feature_base.py @@ -1,6 +1,6 @@ import time -import testcase_base as base +import testcase as base import functest.utils.functest_utils as ft_utils import functest.utils.functest_logger as ft_logger from functest.utils.constants import CONST diff --git a/functest/core/pytest_suite_runner.py b/functest/core/pytest_suite_runner.py index db60cefcd..4f777628a 100644 --- a/functest/core/pytest_suite_runner.py +++ b/functest/core/pytest_suite_runner.py @@ -5,7 +5,7 @@ # # http://www.apache.org/licenses/LICENSE-2.0 -import testcase_base as base +import testcase as base import unittest import time diff --git a/functest/core/testcase.py b/functest/core/testcase.py new file mode 100644 index 000000000..85d1fc746 --- /dev/null +++ b/functest/core/testcase.py @@ -0,0 +1,64 @@ +#!/usr/bin/env python + +# Copyright (c) 2016 Orange and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 + +import os + +import functest.utils.functest_logger as ft_logger +import functest.utils.functest_utils as ft_utils + + +class TestCase(object): + + EX_OK = os.EX_OK + EX_RUN_ERROR = os.EX_SOFTWARE + EX_PUSH_TO_DB_ERROR = os.EX_SOFTWARE - 1 + EX_TESTCASE_FAILED = os.EX_SOFTWARE - 2 + + logger = ft_logger.Logger(__name__).getLogger() + + def __init__(self): + self.details = {} + self.project_name = "functest" + self.case_name = "" + self.criteria = "" + self.start_time = "" + self.stop_time = "" + + def check_criteria(self): + try: + assert self.criteria + if self.criteria == 'PASS': + return TestCase.EX_OK + except AssertionError: + self.logger.error("Please run test before checking the results") + return TestCase.EX_TESTCASE_FAILED + + def run(self, **kwargs): + # pylint: disable=unused-argument + self.logger.error("Run must be implemented") + return TestCase.EX_RUN_ERROR + + def push_to_db(self): + try: + assert self.project_name + assert self.case_name + assert self.criteria + assert self.start_time + assert self.stop_time + if ft_utils.push_results_to_db( + self.project_name, self.case_name, self.start_time, + self.stop_time, self.criteria, self.details): + self.logger.info("The results were successfully pushed to DB") + return TestCase.EX_OK + else: + self.logger.error("The results cannot be pushed to DB") + return TestCase.EX_PUSH_TO_DB_ERROR + except Exception: # pylint: disable=broad-except + self.logger.exception("The results cannot be pushed to DB") + return TestCase.EX_PUSH_TO_DB_ERROR diff --git a/functest/core/testcase_base.py b/functest/core/testcase_base.py deleted file mode 100644 index 85d1fc746..000000000 --- a/functest/core/testcase_base.py +++ /dev/null @@ -1,64 +0,0 @@ -#!/usr/bin/env python - -# Copyright (c) 2016 Orange and others. -# -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 - -import os - -import functest.utils.functest_logger as ft_logger -import functest.utils.functest_utils as ft_utils - - -class TestCase(object): - - EX_OK = os.EX_OK - EX_RUN_ERROR = os.EX_SOFTWARE - EX_PUSH_TO_DB_ERROR = os.EX_SOFTWARE - 1 - EX_TESTCASE_FAILED = os.EX_SOFTWARE - 2 - - logger = ft_logger.Logger(__name__).getLogger() - - def __init__(self): - self.details = {} - self.project_name = "functest" - self.case_name = "" - self.criteria = "" - self.start_time = "" - self.stop_time = "" - - def check_criteria(self): - try: - assert self.criteria - if self.criteria == 'PASS': - return TestCase.EX_OK - except AssertionError: - self.logger.error("Please run test before checking the results") - return TestCase.EX_TESTCASE_FAILED - - def run(self, **kwargs): - # pylint: disable=unused-argument - self.logger.error("Run must be implemented") - return TestCase.EX_RUN_ERROR - - def push_to_db(self): - try: - assert self.project_name - assert self.case_name - assert self.criteria - assert self.start_time - assert self.stop_time - if ft_utils.push_results_to_db( - self.project_name, self.case_name, self.start_time, - self.stop_time, self.criteria, self.details): - self.logger.info("The results were successfully pushed to DB") - return TestCase.EX_OK - else: - self.logger.error("The results cannot be pushed to DB") - return TestCase.EX_PUSH_TO_DB_ERROR - except Exception: # pylint: disable=broad-except - self.logger.exception("The results cannot be pushed to DB") - return TestCase.EX_PUSH_TO_DB_ERROR diff --git a/functest/core/vnf_base.py b/functest/core/vnf_base.py index cd689c273..c374c4917 100644 --- a/functest/core/vnf_base.py +++ b/functest/core/vnf_base.py @@ -14,7 +14,7 @@ import inspect import functest.utils.functest_logger as ft_logger import functest.utils.openstack_utils as os_utils import functest.utils.functest_utils as ft_utils -import testcase_base as base +import testcase as base from functest.utils.constants import CONST diff --git a/functest/opnfv_tests/openstack/rally/rally.py b/functest/opnfv_tests/openstack/rally/rally.py index a45bc014f..8c6abc157 100644 --- a/functest/opnfv_tests/openstack/rally/rally.py +++ b/functest/opnfv_tests/openstack/rally/rally.py @@ -17,7 +17,7 @@ import time import iniparse import yaml -from functest.core import testcase_base +from functest.core import testcase from functest.utils.constants import CONST import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils @@ -26,7 +26,7 @@ import functest.utils.openstack_utils as os_utils logger = ft_logger.Logger('Rally').getLogger() -class RallyBase(testcase_base.TestCase): +class RallyBase(testcase.TestCase): TESTS = ['authenticate', 'glance', 'cinder', 'heat', 'keystone', 'neutron', 'nova', 'quotas', 'requests', 'vm', 'all'] GLANCE_IMAGE_NAME = CONST.openstack_image_name @@ -526,10 +526,10 @@ class RallyBase(testcase_base.TestCase): self._run_tests() self._generate_report() self._clean_up() - res = testcase_base.TestCase.EX_OK + res = testcase.TestCase.EX_OK except Exception as e: logger.error('Error with run: %s' % e) - res = testcase_base.TestCase.EX_RUN_ERROR + res = testcase.TestCase.EX_RUN_ERROR self.stop_time = time.time() return res diff --git a/functest/opnfv_tests/openstack/refstack_client/refstack_client.py b/functest/opnfv_tests/openstack/refstack_client/refstack_client.py index 420c4ff93..597ece3e4 100755 --- a/functest/opnfv_tests/openstack/refstack_client/refstack_client.py +++ b/functest/opnfv_tests/openstack/refstack_client/refstack_client.py @@ -12,7 +12,7 @@ import sys import subprocess import time -from functest.core import testcase_base +from functest.core import testcase from functest.opnfv_tests.openstack.tempest import conf_utils from functest.utils import openstack_utils from functest.utils.constants import CONST @@ -23,7 +23,7 @@ import functest.utils.functest_utils as ft_utils logger = ft_logger.Logger("refstack_defcore").getLogger() -class RefstackClient(testcase_base.TestCase): +class RefstackClient(testcase.TestCase): def __init__(self): super(RefstackClient, self).__init__() @@ -150,10 +150,10 @@ class RefstackClient(testcase_base.TestCase): conf_utils.configure_tempest_defcore( self.DEPLOYMENT_DIR, img_flavor_dict) self.source_venv() - res = testcase_base.TestCase.EX_OK + res = testcase.TestCase.EX_OK except KeyError as e: logger.error("defcore prepare env error with: %s", e) - res = testcase_base.TestCase.EX_RUN_ERROR + res = testcase.TestCase.EX_RUN_ERROR return res @@ -167,10 +167,10 @@ class RefstackClient(testcase_base.TestCase): self.defcore_env_prepare() self.run_defcore_default() self.parse_refstack_result() - res = testcase_base.TestCase.EX_OK + res = testcase.TestCase.EX_OK except Exception as e: logger.error('Error with run: %s', e) - res = testcase_base.TestCase.EX_RUN_ERROR + res = testcase.TestCase.EX_RUN_ERROR self.stop_time = time.time() return res @@ -187,15 +187,15 @@ class RefstackClient(testcase_base.TestCase): openstack_utils.source_credentials(CONST.openstack_creds) self.defcore_env_prepare() self.run_defcore(tempestconf, testlist) - res = testcase_base.TestCase.EX_OK + res = testcase.TestCase.EX_OK except Exception as e: logger.error('Error with run: %s', e) - res = testcase_base.TestCase.EX_RUN_ERROR + res = testcase.TestCase.EX_RUN_ERROR return res -class RefstackClientParser(testcase_base.TestCase): +class RefstackClientParser(testcase.TestCase): def __init__(self): super(RefstackClientParser, self).__init__() @@ -228,7 +228,7 @@ if __name__ == '__main__': args = parser.parse_args(sys.argv[1:]) try: result = refstackclient.main(**args) - if result != testcase_base.TestCase.EX_OK: + if result != testcase.TestCase.EX_OK: sys.exit(result) except Exception: - sys.exit(testcase_base.TestCase.EX_RUN_ERROR) + sys.exit(testcase.TestCase.EX_RUN_ERROR) diff --git a/functest/opnfv_tests/openstack/tempest/tempest.py b/functest/opnfv_tests/openstack/tempest/tempest.py index d0119c9ad..0addbd172 100644 --- a/functest/opnfv_tests/openstack/tempest/tempest.py +++ b/functest/opnfv_tests/openstack/tempest/tempest.py @@ -16,7 +16,7 @@ import time import yaml -from functest.core import testcase_base +from functest.core import testcase from functest.opnfv_tests.openstack.tempest import conf_utils from functest.utils.constants import CONST import functest.utils.functest_logger as ft_logger @@ -26,7 +26,7 @@ import functest.utils.functest_utils as ft_utils logger = ft_logger.Logger("Tempest").getLogger() -class TempestCommon(testcase_base.TestCase): +class TempestCommon(testcase.TestCase): def __init__(self): super(TempestCommon, self).__init__() @@ -223,10 +223,10 @@ class TempestCommon(testcase_base.TestCase): self.apply_tempest_blacklist() self.run_verifier_tests() self.parse_verifier_result() - res = testcase_base.TestCase.EX_OK + res = testcase.TestCase.EX_OK except Exception as e: logger.error('Error with run: %s' % e) - res = testcase_base.TestCase.EX_RUN_ERROR + res = testcase.TestCase.EX_RUN_ERROR self.stop_time = time.time() return res diff --git a/functest/opnfv_tests/openstack/vping/vping_base.py b/functest/opnfv_tests/openstack/vping/vping_base.py index 9074c5fae..584ded386 100644 --- a/functest/opnfv_tests/openstack/vping/vping_base.py +++ b/functest/opnfv_tests/openstack/vping/vping_base.py @@ -12,12 +12,12 @@ import pprint import time from datetime import datetime -import functest.core.testcase_base as testcase_base +import functest.core.testcase as testcase import functest.utils.openstack_utils as os_utils from functest.utils.constants import CONST -class VPingBase(testcase_base.TestCase): +class VPingBase(testcase.TestCase): def __init__(self): super(VPingBase, self).__init__() self.logger = None @@ -52,23 +52,23 @@ class VPingBase(testcase_base.TestCase): def run(self, **kwargs): if not self.check_repo_exist(): - return testcase_base.TestCase.EX_RUN_ERROR + return testcase.TestCase.EX_RUN_ERROR image_id = self.create_image() if not image_id: - return testcase_base.TestCase.EX_RUN_ERROR + return testcase.TestCase.EX_RUN_ERROR flavor = self.get_flavor() if not flavor: - return testcase_base.TestCase.EX_RUN_ERROR + return testcase.TestCase.EX_RUN_ERROR network_id = self.create_network_full() if not network_id: - return testcase_base.TestCase.EX_RUN_ERROR + return testcase.TestCase.EX_RUN_ERROR sg_id = self.create_security_group() if not sg_id: - return testcase_base.TestCase.EX_RUN_ERROR + return testcase.TestCase.EX_RUN_ERROR self.delete_exist_vms() @@ -84,7 +84,7 @@ class VPingBase(testcase_base.TestCase): None, sg_id) if not vm1: - return testcase_base.TestCase.EX_RUN_ERROR + return testcase.TestCase.EX_RUN_ERROR test_ip = self.get_test_ip(vm1) vm2 = self.boot_vm(self.vm2_name, @@ -94,17 +94,17 @@ class VPingBase(testcase_base.TestCase): test_ip, sg_id) if not vm2: - return testcase_base.TestCase.EX_RUN_ERROR + return testcase.TestCase.EX_RUN_ERROR EXIT_CODE = self.do_vping(vm2, test_ip) - if EXIT_CODE == testcase_base.TestCase.EX_RUN_ERROR: + if EXIT_CODE == testcase.TestCase.EX_RUN_ERROR: return EXIT_CODE self.stop_time = time.time() self.parse_result(EXIT_CODE, self.start_time, self.stop_time) - return testcase_base.TestCase.EX_OK + return testcase.TestCase.EX_OK def boot_vm_preparation(self, config, vmname, test_ip): pass diff --git a/functest/opnfv_tests/openstack/vping/vping_ssh.py b/functest/opnfv_tests/openstack/vping/vping_ssh.py index b29f32694..fc2f01c64 100755 --- a/functest/opnfv_tests/openstack/vping/vping_ssh.py +++ b/functest/opnfv_tests/openstack/vping/vping_ssh.py @@ -19,7 +19,7 @@ from scp import SCPClient import functest.utils.functest_logger as ft_logger import functest.utils.openstack_utils as os_utils import vping_base -import functest.core.testcase_base as testcase_base +import functest.core.testcase as testcase class VPingSSH(vping_base.VPingBase): @@ -32,12 +32,12 @@ class VPingSSH(vping_base.VPingBase): def do_vping(self, vm, test_ip): floatip = self.add_float_ip(vm) if not floatip: - return testcase_base.TestCase.EX_RUN_ERROR + return testcase.TestCase.EX_RUN_ERROR ssh = self.establish_ssh(vm, floatip) if not ssh: - return testcase_base.TestCase.EX_RUN_ERROR + return testcase.TestCase.EX_RUN_ERROR if not self.transfer_ping_script(ssh, floatip): - return testcase_base.TestCase.EX_RUN_ERROR + return testcase.TestCase.EX_RUN_ERROR return self.do_vping_ssh(ssh, test_ip) def add_float_ip(self, vm): diff --git a/functest/opnfv_tests/sdn/odl/odl.py b/functest/opnfv_tests/sdn/odl/odl.py index 3d6be9a87..0585fc9b9 100755 --- a/functest/opnfv_tests/sdn/odl/odl.py +++ b/functest/opnfv_tests/sdn/odl/odl.py @@ -20,7 +20,7 @@ from robot.errors import RobotError import robot.run from robot.utils.robottime import timestamp_to_secs -from functest.core import testcase_base +from functest.core import testcase import functest.utils.functest_logger as ft_logger import functest.utils.openstack_utils as op_utils @@ -46,7 +46,7 @@ class ODLResultVisitor(robot.api.ResultVisitor): return self._data -class ODLTests(testcase_base.TestCase): +class ODLTests(testcase.TestCase): repos = "/home/opnfv/repos/" odl_test_repo = os.path.join(repos, "odl_test") @@ -59,7 +59,7 @@ class ODLTests(testcase_base.TestCase): logger = ft_logger.Logger("opendaylight").getLogger() def __init__(self): - testcase_base.TestCase.__init__(self) + testcase.TestCase.__init__(self) self.case_name = "odl" @classmethod @@ -236,9 +236,9 @@ if __name__ == '__main__': args = parser.parse_args(sys.argv[1:]) try: result = odl.main(ODLTests.default_suites, **args) - if result != testcase_base.TestCase.EX_OK: + if result != testcase.TestCase.EX_OK: sys.exit(result) if args['pushtodb']: sys.exit(odl.push_to_db()) except Exception: - sys.exit(testcase_base.TestCase.EX_RUN_ERROR) + sys.exit(testcase.TestCase.EX_RUN_ERROR) diff --git a/functest/opnfv_tests/sdn/onos/onos.py b/functest/opnfv_tests/sdn/onos/onos.py index 5764bdee9..d482ae320 100644 --- a/functest/opnfv_tests/sdn/onos/onos.py +++ b/functest/opnfv_tests/sdn/onos/onos.py @@ -14,7 +14,7 @@ import shutil import time import urlparse -from functest.core import testcase_base +from functest.core import testcase from functest.utils.constants import CONST import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils @@ -24,7 +24,7 @@ import functest.utils.openstack_utils as openstack_utils logger = ft_logger.Logger(__name__).getLogger() -class OnosBase(testcase_base.TestCase): +class OnosBase(testcase.TestCase): onos_repo_path = CONST.dir_repo_onos onos_sfc_image_name = CONST.onos_sfc_image_name onos_sfc_image_path = os.path.join(CONST.dir_functest_data, @@ -39,10 +39,10 @@ class OnosBase(testcase_base.TestCase): self.start_time = time.time() try: self._run() - res = testcase_base.TestCase.EX_OK + res = testcase.TestCase.EX_OK except Exception as e: logger.error('Error with run: %s', e) - res = testcase_base.TestCase.EX_RUN_ERROR + res = testcase.TestCase.EX_RUN_ERROR self.stop_time = time.time() return res diff --git a/functest/opnfv_tests/vnf/aaa/aaa.py b/functest/opnfv_tests/vnf/aaa/aaa.py index 8737924f8..bdedcf7c5 100755 --- a/functest/opnfv_tests/vnf/aaa/aaa.py +++ b/functest/opnfv_tests/vnf/aaa/aaa.py @@ -11,7 +11,7 @@ import sys import argparse -import functest.core.testcase_base as testcase_base +import functest.core.testcase as testcase import functest.core.vnf_base as vnf_base import functest.utils.functest_logger as ft_logger @@ -62,9 +62,9 @@ if __name__ == '__main__': aaa_vnf = AaaVnf() try: result = aaa_vnf.main(**args) - if result != testcase_base.TestCase.EX_OK: + if result != testcase.TestCase.EX_OK: sys.exit(result) if args['pushtodb']: sys.exit(aaa_vnf.push_to_db()) except Exception: - sys.exit(testcase_base.TestCase.EX_RUN_ERROR) + sys.exit(testcase.TestCase.EX_RUN_ERROR) diff --git a/functest/tests/unit/core/test_testcase_base.py b/functest/tests/unit/core/test_testcase_base.py index a98caeadc..9ee1609fc 100644 --- a/functest/tests/unit/core/test_testcase_base.py +++ b/functest/tests/unit/core/test_testcase_base.py @@ -12,7 +12,7 @@ import unittest import mock -from functest.core import testcase_base +from functest.core import testcase class TestCaseTesting(unittest.TestCase): @@ -20,7 +20,7 @@ class TestCaseTesting(unittest.TestCase): logging.disable(logging.CRITICAL) def setUp(self): - self.test = testcase_base.TestCase() + self.test = testcase.TestCase() self.test.project = "functest" self.test.case_name = "base" self.test.start_time = "1" @@ -30,13 +30,13 @@ class TestCaseTesting(unittest.TestCase): def test_run_unimplemented(self): self.assertEqual(self.test.run(), - testcase_base.TestCase.EX_RUN_ERROR) + testcase.TestCase.EX_RUN_ERROR) @mock.patch('functest.utils.functest_utils.push_results_to_db', return_value=False) def _test_missing_attribute(self, mock_function=None): self.assertEqual(self.test.push_to_db(), - testcase_base.TestCase.EX_PUSH_TO_DB_ERROR) + testcase.TestCase.EX_PUSH_TO_DB_ERROR) mock_function.assert_not_called() def test_missing_case_name(self): @@ -60,7 +60,7 @@ class TestCaseTesting(unittest.TestCase): def test_missing_details(self, mock_function=None): self.test.details = None self.assertEqual(self.test.push_to_db(), - testcase_base.TestCase.EX_OK) + testcase.TestCase.EX_OK) mock_function.assert_called_once_with( self.test.project, self.test.case_name, self.test.start_time, self.test.stop_time, self.test.criteria, self.test.details) @@ -69,7 +69,7 @@ class TestCaseTesting(unittest.TestCase): return_value=False) def test_push_to_db_failed(self, mock_function=None): self.assertEqual(self.test.push_to_db(), - testcase_base.TestCase.EX_PUSH_TO_DB_ERROR) + testcase.TestCase.EX_PUSH_TO_DB_ERROR) mock_function.assert_called_once_with( self.test.project, self.test.case_name, self.test.start_time, self.test.stop_time, self.test.criteria, self.test.details) @@ -78,7 +78,7 @@ class TestCaseTesting(unittest.TestCase): return_value=True) def test_push_to_db(self, mock_function=None): self.assertEqual(self.test.push_to_db(), - testcase_base.TestCase.EX_OK) + testcase.TestCase.EX_OK) mock_function.assert_called_once_with( self.test.project, self.test.case_name, self.test.start_time, self.test.stop_time, self.test.criteria, self.test.details) @@ -86,17 +86,17 @@ class TestCaseTesting(unittest.TestCase): def test_check_criteria_missing(self): self.test.criteria = None self.assertEqual(self.test.check_criteria(), - testcase_base.TestCase.EX_TESTCASE_FAILED) + testcase.TestCase.EX_TESTCASE_FAILED) def test_check_criteria_failed(self): self.test.criteria = 'FAILED' self.assertEqual(self.test.check_criteria(), - testcase_base.TestCase.EX_TESTCASE_FAILED) + testcase.TestCase.EX_TESTCASE_FAILED) def test_check_criteria_pass(self): self.test.criteria = 'PASS' self.assertEqual(self.test.check_criteria(), - testcase_base.TestCase.EX_OK) + testcase.TestCase.EX_OK) if __name__ == "__main__": diff --git a/functest/tests/unit/odl/test_odl.py b/functest/tests/unit/odl/test_odl.py index fc5c8b684..6967eb1a8 100644 --- a/functest/tests/unit/odl/test_odl.py +++ b/functest/tests/unit/odl/test_odl.py @@ -16,10 +16,10 @@ import unittest from keystoneauth1.exceptions import auth_plugins from robot.errors import DataError, RobotError -from robot.result import testcase +from robot.result import testcase as result_testcase from robot.utils.robottime import timestamp_to_secs -from functest.core import testcase_base +from functest.core import testcase from functest.opnfv_tests.sdn.odl import odl @@ -74,11 +74,11 @@ class ODLTesting(unittest.TestCase): 'elapsedtime': 1000, 'text': 'Hello, World!', 'critical': True} - test = testcase.TestCase(name=data['name'], - status=data['status'], - message=data['text'], - starttime=data['starttime'], - endtime=data['endtime']) + test = result_testcase.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[ @@ -202,7 +202,7 @@ class ODLTesting(unittest.TestCase): def _test_main_missing_keyword(self, key): kwargs = self._get_main_kwargs(key) self.assertEqual(self.test.main(**kwargs), - testcase_base.TestCase.EX_RUN_ERROR) + testcase.TestCase.EX_RUN_ERROR) def test_main_missing_odlusername(self): self._test_main_missing_keyword('odlusername') @@ -237,7 +237,7 @@ class ODLTesting(unittest.TestCase): def test_main_set_robotframework_vars_failed(self): with mock.patch.object(self.test, 'set_robotframework_vars', return_value=False): - self._test_main(testcase_base.TestCase.EX_RUN_ERROR) + self._test_main(testcase.TestCase.EX_RUN_ERROR) self.test.set_robotframework_vars.assert_called_once_with( self._odl_username, self._odl_password) @@ -246,14 +246,14 @@ class ODLTesting(unittest.TestCase): with mock.patch.object(self.test, 'set_robotframework_vars', return_value=True), \ self.assertRaises(Exception): - self._test_main(testcase_base.TestCase.EX_RUN_ERROR, + self._test_main(testcase.TestCase.EX_RUN_ERROR, mock_method) @mock.patch('os.makedirs', side_effect=OSError) def test_main_makedirs_oserror(self, mock_method): with mock.patch.object(self.test, 'set_robotframework_vars', return_value=True): - self._test_main(testcase_base.TestCase.EX_RUN_ERROR, + self._test_main(testcase.TestCase.EX_RUN_ERROR, mock_method) @mock.patch('robot.run', side_effect=RobotError) @@ -264,7 +264,7 @@ class ODLTesting(unittest.TestCase): mock.patch.object(odl, 'open', mock.mock_open(), create=True), \ self.assertRaises(RobotError): - self._test_main(testcase_base.TestCase.EX_RUN_ERROR, *args) + self._test_main(testcase.TestCase.EX_RUN_ERROR, *args) @mock.patch('robot.run') @mock.patch('os.makedirs') @@ -275,7 +275,7 @@ class ODLTesting(unittest.TestCase): create=True), \ mock.patch.object(self.test, 'parse_results', side_effect=RobotError): - self._test_main(testcase_base.TestCase.EX_RUN_ERROR, *args) + self._test_main(testcase.TestCase.EX_RUN_ERROR, *args) @mock.patch('os.remove', side_effect=Exception) @mock.patch('robot.run') @@ -285,7 +285,7 @@ class ODLTesting(unittest.TestCase): return_value=True), \ mock.patch.object(self.test, 'parse_results'), \ self.assertRaises(Exception): - self._test_main(testcase_base.TestCase.EX_OK, *args) + self._test_main(testcase.TestCase.EX_OK, *args) @mock.patch('os.remove') @mock.patch('robot.run') @@ -296,7 +296,7 @@ class ODLTesting(unittest.TestCase): mock.patch.object(odl, 'open', mock.mock_open(), create=True), \ mock.patch.object(self.test, 'parse_results'): - self._test_main(testcase_base.TestCase.EX_OK, *args) + self._test_main(testcase.TestCase.EX_OK, *args) @mock.patch('os.remove') @mock.patch('robot.run') @@ -307,7 +307,7 @@ class ODLTesting(unittest.TestCase): mock.patch.object(odl, 'open', mock.mock_open(), create=True), \ mock.patch.object(self.test, 'parse_results'): - self._test_main(testcase_base.TestCase.EX_OK, *args) + self._test_main(testcase.TestCase.EX_OK, *args) @mock.patch('os.remove') @mock.patch('robot.run', return_value=1) @@ -318,7 +318,7 @@ class ODLTesting(unittest.TestCase): mock.patch.object(odl, 'open', mock.mock_open(), create=True), \ mock.patch.object(self.test, 'parse_results'): - self._test_main(testcase_base.TestCase.EX_OK, *args) + self._test_main(testcase.TestCase.EX_OK, *args) @mock.patch('os.remove', side_effect=OSError) @mock.patch('robot.run') @@ -329,16 +329,16 @@ class ODLTesting(unittest.TestCase): mock.patch.object(odl, 'open', mock.mock_open(), create=True), \ mock.patch.object(self.test, 'parse_results'): - self._test_main(testcase_base.TestCase.EX_OK, *args) + self._test_main(testcase.TestCase.EX_OK, *args) def _test_run_missing_env_var(self, var): with mock.patch('functest.utils.openstack_utils.get_endpoint', side_effect=self._fake_url_for): del os.environ[var] self.assertEqual(self.test.run(), - testcase_base.TestCase.EX_RUN_ERROR) + testcase.TestCase.EX_RUN_ERROR) - def _test_run(self, status=testcase_base.TestCase.EX_OK, + def _test_run(self, status=testcase.TestCase.EX_OK, exception=None, odlip="127.0.0.3", odlwebport="8080", odlrestconfport="8181"): with mock.patch('functest.utils.openstack_utils.get_endpoint', @@ -360,7 +360,7 @@ class ODLTesting(unittest.TestCase): def _test_run_defining_multiple_suites( self, suites, - status=testcase_base.TestCase.EX_OK, + status=testcase.TestCase.EX_OK, exception=None, odlip="127.0.0.3", odlwebport="8080", odlrestconfport="8181"): with mock.patch('functest.utils.openstack_utils.get_endpoint', @@ -384,7 +384,7 @@ class ODLTesting(unittest.TestCase): with mock.patch('functest.utils.openstack_utils.get_endpoint', side_effect=auth_plugins.MissingAuthPlugin()): self.assertEqual(self.test.run(), - testcase_base.TestCase.EX_RUN_ERROR) + testcase.TestCase.EX_RUN_ERROR) def test_run_missing_os_auth_url(self): self._test_run_missing_env_var("OS_AUTH_URL") @@ -400,14 +400,14 @@ class ODLTesting(unittest.TestCase): def test_run_main_false(self): os.environ["SDN_CONTROLLER_IP"] = self._sdn_controller_ip - self._test_run(testcase_base.TestCase.EX_RUN_ERROR, + self._test_run(testcase.TestCase.EX_RUN_ERROR, odlip=self._sdn_controller_ip, odlwebport=self._odl_webport) def test_run_main_exception(self): with self.assertRaises(Exception): os.environ["SDN_CONTROLLER_IP"] = self._sdn_controller_ip - self._test_run(status=testcase_base.TestCase.EX_RUN_ERROR, + self._test_run(status=testcase.TestCase.EX_RUN_ERROR, exception=Exception(), odlip=self._sdn_controller_ip, odlwebport=self._odl_webport) @@ -416,11 +416,11 @@ class ODLTesting(unittest.TestCase): with mock.patch('functest.utils.openstack_utils.get_endpoint', side_effect=self._fake_url_for): self.assertEqual(self.test.run(), - testcase_base.TestCase.EX_RUN_ERROR) + testcase.TestCase.EX_RUN_ERROR) def test_run_without_installer_type(self): os.environ["SDN_CONTROLLER_IP"] = self._sdn_controller_ip - self._test_run(testcase_base.TestCase.EX_OK, + self._test_run(testcase.TestCase.EX_OK, odlip=self._sdn_controller_ip, odlwebport=self._odl_webport) @@ -428,13 +428,13 @@ class ODLTesting(unittest.TestCase): os.environ["SDN_CONTROLLER_IP"] = self._sdn_controller_ip self._test_run_defining_multiple_suites( [odl.ODLTests.basic_suite_dir], - testcase_base.TestCase.EX_OK, + testcase.TestCase.EX_OK, odlip=self._sdn_controller_ip, odlwebport=self._odl_webport) def test_run_fuel(self): os.environ["INSTALLER_TYPE"] = "fuel" - self._test_run(testcase_base.TestCase.EX_OK, + self._test_run(testcase.TestCase.EX_OK, odlip=self._neutron_ip, odlwebport='8282') def test_run_apex_missing_sdn_controller_ip(self): @@ -442,12 +442,12 @@ class ODLTesting(unittest.TestCase): side_effect=self._fake_url_for): os.environ["INSTALLER_TYPE"] = "apex" self.assertEqual(self.test.run(), - testcase_base.TestCase.EX_RUN_ERROR) + testcase.TestCase.EX_RUN_ERROR) def test_run_apex(self): os.environ["SDN_CONTROLLER_IP"] = self._sdn_controller_ip os.environ["INSTALLER_TYPE"] = "apex" - self._test_run(testcase_base.TestCase.EX_OK, + self._test_run(testcase.TestCase.EX_OK, odlip=self._sdn_controller_ip, odlwebport='8081', odlrestconfport='8081') @@ -456,12 +456,12 @@ class ODLTesting(unittest.TestCase): side_effect=self._fake_url_for): os.environ["INSTALLER_TYPE"] = "netvirt" self.assertEqual(self.test.run(), - testcase_base.TestCase.EX_RUN_ERROR) + testcase.TestCase.EX_RUN_ERROR) def test_run_netvirt(self): os.environ["SDN_CONTROLLER_IP"] = self._sdn_controller_ip os.environ["INSTALLER_TYPE"] = "netvirt" - self._test_run(testcase_base.TestCase.EX_OK, + self._test_run(testcase.TestCase.EX_OK, odlip=self._sdn_controller_ip, odlwebport='8081', odlrestconfport='8081') @@ -470,17 +470,17 @@ class ODLTesting(unittest.TestCase): side_effect=self._fake_url_for): os.environ["INSTALLER_TYPE"] = "joid" self.assertEqual(self.test.run(), - testcase_base.TestCase.EX_RUN_ERROR) + testcase.TestCase.EX_RUN_ERROR) def test_run_joid(self): os.environ["SDN_CONTROLLER"] = self._sdn_controller_ip os.environ["INSTALLER_TYPE"] = "joid" - self._test_run(testcase_base.TestCase.EX_OK, + self._test_run(testcase.TestCase.EX_OK, odlip=self._sdn_controller_ip, odlwebport='8080') def test_run_compass(self, *args): os.environ["INSTALLER_TYPE"] = "compass" - self._test_run(testcase_base.TestCase.EX_OK, + self._test_run(testcase.TestCase.EX_OK, odlip=self._neutron_ip, odlwebport='8181') def test_argparser_default(self): diff --git a/functest/tests/unit/opnfv_tests/openstack/rally/test_rally.py b/functest/tests/unit/opnfv_tests/openstack/rally/test_rally.py index 99e14b85e..fe25dfcf9 100644 --- a/functest/tests/unit/opnfv_tests/openstack/rally/test_rally.py +++ b/functest/tests/unit/opnfv_tests/openstack/rally/test_rally.py @@ -12,7 +12,7 @@ import unittest import mock -from functest.core import testcase_base +from functest.core import testcase from functest.opnfv_tests.openstack.rally import rally from functest.utils.constants import CONST @@ -378,13 +378,13 @@ class OSRallyTesting(unittest.TestCase): mock.patch.object(self.rally_base, '_generate_report'), \ mock.patch.object(self.rally_base, '_clean_up'): self.assertEqual(self.rally_base.run(), - testcase_base.TestCase.EX_OK) + testcase.TestCase.EX_OK) def test_run_exception(self): with mock.patch.object(self.rally_base, '_prepare_env', side_effect=Exception): self.assertEqual(self.rally_base.run(), - testcase_base.TestCase.EX_RUN_ERROR) + testcase.TestCase.EX_RUN_ERROR) if __name__ == "__main__": diff --git a/functest/tests/unit/opnfv_tests/openstack/refstack_client/test_refstack_client.py b/functest/tests/unit/opnfv_tests/openstack/refstack_client/test_refstack_client.py index 4035b9c30..60e180c9e 100644 --- a/functest/tests/unit/opnfv_tests/openstack/refstack_client/test_refstack_client.py +++ b/functest/tests/unit/opnfv_tests/openstack/refstack_client/test_refstack_client.py @@ -10,7 +10,7 @@ import mock import os import unittest -from functest.core import testcase_base +from functest.core import testcase from functest.opnfv_tests.openstack.refstack_client import refstack_client from functest.utils.constants import CONST @@ -70,7 +70,7 @@ class OSRefstackClientTesting(unittest.TestCase): def _test_main_missing_keyword(self, key): kwargs = self._get_main_kwargs(key) self.assertEqual(self.refstackclient.main(**kwargs), - testcase_base.TestCase.EX_RUN_ERROR) + testcase.TestCase.EX_RUN_ERROR) def test_main_missing_conf(self): self._test_main_missing_keyword('config') diff --git a/functest/tests/unit/opnfv_tests/openstack/tempest/test_tempest.py b/functest/tests/unit/opnfv_tests/openstack/tempest/test_tempest.py index 56864b534..398c53bf3 100644 --- a/functest/tests/unit/opnfv_tests/openstack/tempest/test_tempest.py +++ b/functest/tests/unit/opnfv_tests/openstack/tempest/test_tempest.py @@ -10,7 +10,7 @@ import unittest import mock -from functest.core import testcase_base +from functest.core import testcase from functest.opnfv_tests.openstack.tempest import tempest from functest.opnfv_tests.openstack.tempest import conf_utils @@ -119,7 +119,7 @@ class OSTempestTesting(unittest.TestCase): mock_method.assert_any_call('test_case_name', 100) def test_run_missing_create_tempest_dir(self): - ret = testcase_base.TestCase.EX_RUN_ERROR + ret = testcase.TestCase.EX_RUN_ERROR with mock.patch('functest.opnfv_tests.openstack.tempest.tempest.' 'os.path.exists', return_value=False), \ mock.patch('functest.opnfv_tests.openstack.tempest.tempest.' @@ -132,8 +132,8 @@ class OSTempestTesting(unittest.TestCase): self.assertTrue(mock_os_makedirs.called) def test_run_missing_configure_tempest(self): - ret = testcase_base.TestCase.EX_RUN_ERROR - ret_ok = testcase_base.TestCase.EX_OK + ret = testcase.TestCase.EX_RUN_ERROR + ret_ok = testcase.TestCase.EX_OK with mock.patch('functest.opnfv_tests.openstack.tempest.tempest.' 'os.path.exists', return_value=False), \ mock.patch('functest.opnfv_tests.openstack.tempest.tempest.' @@ -149,8 +149,8 @@ class OSTempestTesting(unittest.TestCase): self.assertTrue(mock_os_makedirs.called) def test_run_missing_generate_test_list(self): - ret = testcase_base.TestCase.EX_RUN_ERROR - ret_ok = testcase_base.TestCase.EX_OK + ret = testcase.TestCase.EX_RUN_ERROR + ret_ok = testcase.TestCase.EX_OK with mock.patch('functest.opnfv_tests.openstack.tempest.tempest.' 'os.path.exists', return_value=False), \ mock.patch('functest.opnfv_tests.openstack.tempest.tempest.' @@ -168,8 +168,8 @@ class OSTempestTesting(unittest.TestCase): self.assertTrue(mock_os_makedirs.called) def test_run_missing_apply_tempest_blacklist(self): - ret = testcase_base.TestCase.EX_RUN_ERROR - ret_ok = testcase_base.TestCase.EX_OK + ret = testcase.TestCase.EX_RUN_ERROR + ret_ok = testcase.TestCase.EX_OK with mock.patch('functest.opnfv_tests.openstack.tempest.tempest.' 'os.path.exists', return_value=False), \ mock.patch('functest.opnfv_tests.openstack.tempest.tempest.' @@ -189,8 +189,8 @@ class OSTempestTesting(unittest.TestCase): self.assertTrue(mock_os_makedirs.called) def test_run_missing_parse_verifier_result(self): - ret = testcase_base.TestCase.EX_RUN_ERROR - ret_ok = testcase_base.TestCase.EX_OK + ret = testcase.TestCase.EX_RUN_ERROR + ret_ok = testcase.TestCase.EX_OK with mock.patch('functest.opnfv_tests.openstack.tempest.tempest.' 'os.path.exists', return_value=False), \ mock.patch('functest.opnfv_tests.openstack.tempest.tempest.' diff --git a/run_unit_tests.sh b/run_unit_tests.sh index 32076dabe..3de9b36f9 100755 --- a/run_unit_tests.sh +++ b/run_unit_tests.sh @@ -40,7 +40,7 @@ nosetests --with-xunit \ --cover-tests \ --cover-package=functest.ci \ --cover-package=functest.cli \ - --cover-package=functest.core.testcase_base \ + --cover-package=functest.core.testcase \ --cover-package=functest.opnfv_tests.sdn.odl.odl \ --cover-package=functest.opnfv_tests.vnf.ims \ --cover-package=functest.utils \ -- cgit 1.2.3-korg