def createsuite_command(project, suite_name): if not test_directory.project_exists(project): msg = f'golem createsuite: error: a project with name {project} does not exist' sys.exit(msg) errors = suite_module.create_suite(project, suite_name) if errors: sys.exit('golem createsuite: error: {}'.format(' '.join(errors)))
def createproject_command(project): if test_directory.project_exists(project): msg = ('golem createproject: error: a project with name \'{}\' already exists' .format(project)) sys.exit(msg) else: create_project(project)
def createtest_command(project, test_name): if not test_directory.project_exists(project): msg = f'golem createtest: error: a project with name {project} does not exist' sys.exit(msg) test_name = test_name.replace(os.sep, '.') errors = test.create_test(project, test_name) if errors: sys.exit('golem createtest: error: {}'.format(' '.join(errors)))
def project_delete(): project_name = request.json['project'] _verify_permissions(Permissions.SUPER_USER) errors = [] if not test_directory.project_exists(project_name): errors.append('Project {} does not exist'.format(project_name)) else: delete_project(project_name) # update projects cache gui_utils.ProjectsCache.remove(project_name) return jsonify({'errors': errors})
def run_command(project='', test_query='', browsers=None, processes=1, environments=None, interactive=False, timestamp=None, reports=None, report_folder=None, report_name=None, tags=None, cli_log_level=None): execution_runner = ExecutionRunner(browsers, processes, environments, interactive, timestamp, reports, report_folder, report_name, tags) if project: if test_directory.project_exists(project): execution_runner.project = project session.settings = settings_manager.get_project_settings(project) # add --interactive value to settings to make # it available from inside a test session.settings['interactive'] = interactive # override cli_log_level setting if provided by the CLI if cli_log_level: session.settings['cli_log_level'] = cli_log_level.upper() if test_query: norm_query = utils.normalize_query(test_query) if suite_module.Suite(project, norm_query).exists: execution_runner.run_suite(norm_query) elif test.Test(project, norm_query).exists: execution_runner.run_test(norm_query) else: if test_query == '.': test_query = '' path = os.path.join(session.testdir, 'projects', project, 'tests', test_query) if os.path.isdir(path): execution_runner.run_directory(test_query) else: msg = ('golem run: error: the value {} does not match ' 'an existing test, suite or directory'.format(test_query)) sys.exit(msg) else: print(messages.RUN_USAGE_MSG) tests = Project(project).test_tree print('Tests:') utils.display_tree_structure_command_line(tests['sub_elements']) suites = Project(project).suite_tree print('\nTest Suites:') # TODO print suites in structure for suite in suites['sub_elements']: print(' ' + suite['name']) else: msg = ('golem run: error: the project {} does not exist'.format(project)) sys.exit(msg) elif interactive: interactive_module.interactive(session.settings, browsers) else: print(messages.RUN_USAGE_MSG) print('Projects:') for project in test_directory.get_projects(): print(' {}'.format(project))
def project_create(): project_name = request.json['project'] project_name = project_name.strip().replace(' ', '_') _verify_permissions(Permissions.SUPER_USER) errors = [] if len(project_name) < 3: errors.append('Project name is too short') elif len(project_name) > 50: errors.append('Project name is too long') elif test_directory.project_exists(project_name): errors.append('A project with that name already exists') else: create_project(project_name) # update projects cache gui_utils.ProjectsCache.add(project_name) return jsonify({'errors': errors, 'project_name': project_name})
def test_project_exists(self, testdir_session, test_utils): testdir_session.activate() project = test_utils.random_string(10) assert not test_directory.project_exists(project) create_project(project) assert test_directory.project_exists(project)
def test_delete_project(self, project_function): _, project_name = project_function.activate() errors = delete_project(project_name) assert errors == [] assert not test_directory.project_exists(project_name)
def project_exists(): project = request.json['project'] return jsonify(test_directory.project_exists(project))
def wrapper(*args, **kwargs): if not test_directory.project_exists(kwargs['project']): abort(404, 'The project {} does not exist.'.format(kwargs['project'])) return func(*args, **kwargs)
def createproject_command(project): if test_directory.project_exists(project): m = f'golem createproject: error: a project with name \'{project}\' already exists' sys.exit(m) else: create_project(project)
def wrapper(*args, **kwargs): if not test_directory.project_exists(kwargs['project']): abort(404, f'The project {kwargs["project"]} does not exist.') return func(*args, **kwargs)