def run(self): try: json_loader = JsonLoader() except OSError: print('ERROR:: No proper action found. Please reinstall a CTS') return if self.metadata_container is None: return if not self.configuration.UseCase: json_loader.print_available_actions() return try: actions_to_take = json_loader.get_use_case( self.configuration.UseCase) specific_action = json_loader.get_use_case_action( actions_to_take['filepath']) except (IndexError, TypeError): json_loader.print_available_actions() print('ERROR:: The selected action was not found. Exiting..') return print('TEST_CASE::API crawling') api_explorer = ApiExplorer(self.metadata_container, self.configuration) self.discovery_container, status = api_explorer.discover( MetadataConstants.SERVICE_ROOT_URI, MetadataConstants.SERVICE_ROOT) configuration = self.configuration self.api_caller = ApiCaller(configuration) print('TEST_CASE::Action Runner') status = self.action_runner(specific_action) print('STATUS::{status}'.format(status=status))
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
def run(self): json_loader = JsonLoader() if self.metadata_container is None: return if not self.configuration.UseCase: json_loader.print_available_actions() return actions_to_take = json_loader.get_use_case(self.configuration.UseCase) specific_action = json_loader.get_use_case_action(actions_to_take['filepath']) print('TEST_CASE::API crawling') api_explorer = ApiExplorer(self.metadata_container, self.configuration) self.discovery_container, status = api_explorer.discover(MetadataConstants.SERVICE_ROOT_URI, MetadataConstants.SERVICE_ROOT) configuration = self.configuration self.api_caller = ApiCaller(configuration) print('TEST_CASE::Action Runner') status = self.action_runner(specific_action) print('STATUS::{status}'.format(status=status))
def check_use_case_exist(sought_case): """ :param sought_case: use case name :return: bool """ use_cases, _ = JsonLoader().retrieve_available_actions() for case in use_cases: case_name = case['filename'] if case_name == sought_case: return True elif case_name.lower() == sought_case.lower(): print('\nDo you mean use case: %s? (%s was not found)' % (case_name, sought_case)) exit(64) return False
def run(self): json_loader = JsonLoader() if self.metadata_container is None: return if not self.configuration.UseCase: json_loader.print_available_actions() return actions_to_take = json_loader.get_use_case(self.configuration.UseCase) specific_action = json_loader.get_use_case_action( actions_to_take['filepath']) print('TEST_CASE::API crawling') api_explorer = ApiExplorer(self.metadata_container, self.configuration) self.discovery_container, status = api_explorer.discover( MetadataConstants.SERVICE_ROOT_URI, MetadataConstants.SERVICE_ROOT) configuration = self.configuration self.api_caller = ApiCaller(configuration) print('TEST_CASE::Action Runner') status = self.action_runner(specific_action) print('STATUS::{status}'.format(status=status))
def process_action(self, configuration): print "Using CTS in version %s\n" % (ColorPrinter.format_text( BuildInformation.BUILD_VERSION, bold=True)) JsonLoader().print_available_actions()
def __init__(self): self.use_cases, self.scenarios = \ JsonLoader().retrieve_available_actions()