Example #1
0
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))
Example #2
0
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))
Example #3
0
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)
Example #4
0
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)
Example #5
0
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))
Example #6
0
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)))
Example #7
0
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)
Example #8
0
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)
Example #9
0
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)))
Example #10
0
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})
Example #11
0
 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)
Example #12
0
 def test_project_exists(self, project_fixture, testdir_fixture):
     exists = utils.project_exists(testdir_fixture['path'],
                                   project_fixture['name'])
     assert exists
Example #13
0
 def test_project_exists(self, project_fixture, testdir_fixture):
     exists = utils.project_exists(testdir_fixture['path'],
                                   project_fixture['name'])
     assert exists