Exemplo n.º 1
0
    def process_action(self, configuration):
        print "Using CTS in version %s" % (ColorPrinter.format_text(BuildInformation.BUILD_VERSION, bold=True))
        tests_manager = TestsManager()

        configuration_files = configuration.config_files
        test_scripts_configuration = get_configuration_from_files(configuration_files)

        if not configuration.usecase:
            print('\nMissing --usecase argument\n')
            JsonLoader().print_available_actions()
            sys.exit(64)  # EX_USAGE = 64    command line usage error

        test_scripts_configuration['UseCase'] = configuration.usecase[0]

        if test_scripts_configuration is None:
            sys.exit(-1)

        if not certificates_files_are_valid(test_scripts_configuration):
            sys.exit(-1)

        test_plan = TestsPackagesContainer()

        if configuration.test_scripts:
            test_scripts_found = tests_manager.get_packages()

            test_scripts_found.filter(scripts=configuration.test_scripts,
                                      remove_empty=True)
            test_plan += test_scripts_found
        else:
            test_plan += tests_manager.get_packages()

        if not test_plan.packages:
            print('No script selected to execute')
            exit(64)  # EX_USAGE = 64    command line usage error

        message = "Executing "
        print('Executing:')
        for package in test_plan.packages:
            for suite in package.suites:
                for script in suite.scripts:
                    print "\t* %s from suite %s from package %s" % (script.name, suite.name, package.name)
                    message += "%s from suite %s from package %s, " % (script.name, suite.name, package.name)

        self._logger.log_debug(message)

        if configuration.timeout is not None:
            message = "setting timeout execution to %s" % configuration.timeout[0]
            self._logger.log_debug(message)
            print "\n%s" % message
            test_plan.set_scripts_timeout(configuration.timeout[0])

        execution_feed = ExecutionFeed(test_plan, test_scripts_configuration)

        for case in configuration.usecase:
            if not self.check_use_case_exist(case):
                print('\nUse Case was not found: %s ' % case)
                exit(64)  # EX_USAGE = 64    command line usage error

        ScenarioAction.execute_configuration_group(execution_feed,
                                                   test_status_as_exit_code=configuration.return_tests_status_as_exit_code)
Exemplo n.º 2
0
    def process_running_list_section(self, running_list_section, running_list, test_run):
        test_package_name = running_list.get(running_list_section, "TEST_PACKAGE")
        try:
            requested_test_suites = running_list.get(running_list_section, "TEST_SUITES")
        except ConfigParser.NoOptionError:
            requested_test_suites = None

        try:
            requested_test_scripts = running_list.get(running_list_section, "TEST_SCRIPTS")
        except ConfigParser.NoOptionError:
            requested_test_scripts = None

        configuration_files = [file_name.strip() for file_name in running_list.get(running_list_section, "TEST_CONFIGS").split(',')]
        test_cases_configuration = get_configuration_from_files(configuration_files)
        if test_cases_configuration is None:
            sys.exit(-1)

        test_plan = TestsPackagesContainer()

        if requested_test_suites or requested_test_scripts:
            if requested_test_suites:
                test_suites_found = self.tests_manager.get_packages()
                test_suites_found.filter(packages=[test_package_name], suites=requested_test_suites, remove_empty=True)
                test_plan += test_suites_found
            if requested_test_scripts:
                test_scripts_found = self.tests_manager.get_packages()

                test_scripts_found.filter(packages=[test_package_name], scripts=requested_test_scripts,
                                          remove_empty=True)
                test_plan += test_scripts_found
        else:
            test_plan += self.tests_manager.get_packages()
            test_plan.filter(packages=[test_package_name])

        test_run.add_execution_feed(ExecutionFeed(test_plan, test_cases_configuration))
Exemplo n.º 3
0
    def process_action(self, configuration):
        print "Using CTS in version %s" % (ColorPrinter.format_text(
            BuildInformation.BUILD_VERSION, bold=True))
        tests_manager = TestsManager()

        configuration_files = configuration.config_files
        test_scripts_configuration = get_configuration_from_files(
            configuration_files)

        if not configuration.use_case:
            print('\nMissing --use_case argument\n')
            JsonLoader().print_available_actions()
            sys.exit(64)  # EX_USAGE = 64    command line usage error

        test_scripts_configuration['UseCase'] = configuration.use_case[0]

        if test_scripts_configuration is None:
            sys.exit(-1)

        if not certificates_files_are_valid(test_scripts_configuration):
            sys.exit(-1)

        test_plan = TestsPackagesContainer()
        test_scripts_found = tests_manager.get_packages()
        test_scripts_found.filter(scripts='validate_use_case',
                                  remove_empty=True)
        test_plan += test_scripts_found

        if not test_plan.packages:
            print('No script selected to execute')
            exit(64)  # EX_USAGE = 64    command line usage error

        message = "Executing "
        print('Executing:')
        for package in test_plan.packages:
            for suite in package.suites:
                for script in suite.scripts:
                    print "\t* %s from suite %s from package %s" % (
                        script.name, suite.name, package.name)
                    message += "%s from suite %s from package %s, " % (
                        script.name, suite.name, package.name)

        self._logger.log_debug(message)

        if configuration.timeout is not None:
            message = "setting timeout execution to %s" % configuration.timeout[
                0]
            self._logger.log_debug(message)
            print('\n%s' % message)
            test_plan.set_scripts_timeout(configuration.timeout[0])

        execution_feed = ExecutionFeed(test_plan, test_scripts_configuration)

        for case in configuration.use_case:
            if not self.check_use_case_exist(case):
                print('\nUse Case was not found: %s ' % case)
                exit(64)  # EX_USAGE = 64    command line usage error
Exemplo n.º 4
0
    def process_action(self, configuration):
        print "Using CTS in version %s" % (ColorPrinter.format_text(BuildInformation.BUILD_VERSION, bold=True))
        tests_manager = TestsManager()

        configuration_files = configuration.config_files
        test_scripts_configuration = get_configuration_from_files(configuration_files)
        if test_scripts_configuration is None:
            sys.exit(-1)

        if not certificates_files_are_valid(test_scripts_configuration):
            sys.exit(-1)

        test_plan = TestsPackagesContainer()

        if configuration.test_suites or configuration.test_scripts:
            if configuration.test_suites:
                test_suites_found = tests_manager.get_packages()
                test_suites_found.filter(packages=configuration.package, suites=configuration.test_suites,
                                         remove_empty=True)
                test_plan += test_suites_found
            if configuration.test_scripts:
                test_scripts_found = tests_manager.get_packages()

                test_scripts_found.filter(packages=configuration.package, scripts=configuration.test_scripts,
                                          remove_empty=True)
                test_plan += test_scripts_found
        else:
            test_plan += tests_manager.get_packages()

        test_plan.filter(packages=configuration.package)

        if not test_plan.packages:
            print "No script selected to execute"
            exit(64)  # EX_USAGE = 64    command line usage error

        message = "Executing "
        print "Executing:"
        for package in test_plan.packages:
            for suite in package.suites:
                for script in suite.scripts:
                    print "\t* %s from suite %s from package %s" % (script.name, suite.name, package.name)
                    message += "%s from suite %s from package %s, " % (script.name, suite.name, package.name)

        self._logger.log_debug(message)

        if configuration.timeout is not None:
            message = "setting timeout execution to %s" % configuration.timeout[0]
            self._logger.log_debug(message)
            print "\n%s" % message
            test_plan.set_scripts_timeout(configuration.timeout[0])

        execution_feed = ExecutionFeed(test_plan, test_scripts_configuration)

        ExecuteTestScriptsAction.execute_configuration_group(execution_feed, test_status_as_exit_code=configuration.return_tests_status_as_exit_code)
Exemplo n.º 5
0
    def process_action(self, configuration):
        print "Using CTS in version %s" % (ColorPrinter.format_text(
            BuildInformation.BUILD_VERSION, bold=True))
        tests_manager = TestsManager()

        configuration_files = configuration.config_files
        test_scripts_configuration = get_configuration_from_files(
            configuration_files)
        if test_scripts_configuration is None:
            sys.exit(-1)

        if not certificates_files_are_valid(test_scripts_configuration):
            sys.exit(-1)

        test_plan = TestsPackagesContainer()

        if configuration.test_suites or configuration.test_scripts:
            if configuration.test_suites:
                test_suites_found = tests_manager.get_packages()
                test_suites_found.filter(packages=configuration.package,
                                         suites=configuration.test_suites,
                                         remove_empty=True)
                test_plan += test_suites_found
            if configuration.test_scripts:
                test_scripts_found = tests_manager.get_packages()

                test_scripts_found.filter(packages=configuration.package,
                                          scripts=configuration.test_scripts,
                                          remove_empty=True)
                test_plan += test_scripts_found
        else:
            test_plan += tests_manager.get_packages()

        test_plan.filter(packages=configuration.package)

        if not test_plan.packages:
            print "No script selected to execute"
            exit(64)  # EX_USAGE = 64    command line usage error

        message = "Executing "
        print "Executing:"
        for package in test_plan.packages:
            for suite in package.suites:
                for script in suite.scripts:
                    print "\t* %s from suite %s from package %s" % (
                        script.name, suite.name, package.name)
                    message += "%s from suite %s from package %s, " % (
                        script.name, suite.name, package.name)

        self._logger.log_debug(message)

        if configuration.timeout is not None:
            message = "setting timeout execution to %s" % configuration.timeout[
                0]
            self._logger.log_debug(message)
            print "\n%s" % message
            test_plan.set_scripts_timeout(configuration.timeout[0])

        execution_feed = ExecutionFeed(test_plan, test_scripts_configuration)

        ExecuteTestScriptsAction.execute_configuration_group(
            execution_feed,
            test_status_as_exit_code=configuration.
            return_tests_status_as_exit_code)