def project_view(project): if not user.has_permissions_to_project(g.user.id, project, root_path, 'gui'): return render_template('not_permission.html') elif not utils.project_exists(root_path, project): abort(404, 'This page does not exists.') else: return redirect('/project/{}/suites/'.format(project))
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): execution_runner = ExecutionRunner(browsers, processes, environments, interactive, timestamp, reports, report_folder, report_name, tags) if project: if utils.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 if test_query: if suite_module.suite_exists(project, test_query): execution_runner.run_suite(test_query) elif test_case.test_case_exists(project, test_query): execution_runner.run_test(test_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) test_cases = utils.get_test_cases(project) print('Test Cases:') utils.display_tree_structure_command_line( test_cases['sub_elements']) test_suites = utils.get_suites(project) print('\nTest Suites:') # TODO print suites in structure for suite in test_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 utils.get_projects(): print(' {}'.format(project))
def project_apps(project): if not user.has_permissions_to_project(g.user.id, project, root_path, 'gui'): return render_template('not_permission.html') elif not utils.project_exists(root_path, project): abort(404, 'This page does not exists.') else: return render_template('project/project_apps.html', project=project)
def project_pages(project): if not user.has_permissions_to_project(g.user.id, project, root_path, 'gui'): return render_template('not_permission.html') elif not utils.project_exists(root_path, project): abort(404, 'This page does not exists.') else: return render_template('project/project_pages.html', project=project)
def createsuite_command(project, suite_name): if not utils.project_exists(project): msg = ('golem createsuite: error: a project with name {} ' 'does not exist'.format(project)) sys.exit(msg) errors = suite_module.new_suite(project, [], suite_name) if errors: sys.exit('golem createsuite: error: {}'.format(' '.join(errors)))
def createproject_command(project): if utils.project_exists(project): msg = ( 'golem createproject: error: a project with name \'{}\' already exists' .format(project)) sys.exit(msg) else: utils.create_new_project(project)
def projects_view(project): if not user.has_permissions_to_project(g.user.id, project, root_path, 'gui'): return render_template('not_permission.html') elif not utils.project_exists(root_path, project): abort(404, 'This page does not exists.') else: projects = utils.get_projects(root_path) return render_template('index.html', projects=projects)
def createtest_command(project, test): if not utils.project_exists(project): msg = ('golem createtest: error: a project with name {} ' 'does not exist'.format(project)) sys.exit(msg) dot_path = test.split('.') test_name = dot_path.pop() errors = test_case.new_test_case(project, dot_path, test_name) if errors: sys.exit('golem createtest: error: {}'.format(' '.join(errors)))
def new_project(): if request.method == 'POST': project_name = request.form['projectName'] project_name = project_name.strip().replace(' ', '_') 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 utils.project_exists(project_name): errors.append('A project with that name already exists') else: utils.create_new_project(project_name) return json.dumps({'errors': errors, 'project_name': project_name})
def wrapper(*args, **kwargs): if not utils.project_exists(kwargs['project']): abort(404, 'The project {} does not exist.'.format(kwargs['project'])) return func(*args, **kwargs)
def test_project_exists(self, project_fixture, testdir_fixture): exists = utils.project_exists(testdir_fixture['path'], project_fixture['name']) assert exists