Exemplo n.º 1
0
    def _define_execution_list(self):
        """Generate the execution list

        Generates a list with the required combinations
        for each of the following elements:
          - tests
          - data sets
          - environments
          - browsers
        """
        execution_list = []
        envs = self.execution.envs or ['']
        envs_data = environment_manager.get_environment_data(self.project)
        secrets = secrets_manager.get_secrets(self.project)

        for test in self.tests:
            data_sets = test_data.get_test_data(self.project, test)
            for data_set in data_sets:
                for env in envs:
                    data_set_env = dict(data_set)
                    if env in envs_data:
                        # add env_data to data_set
                        data_set_env['env'] = envs_data[env]
                        data_set_env['env']['name'] = env
                    for browser in self.execution.browsers:
                        testdef = SimpleNamespace(name=test, data_set=data_set_env, secrets=secrets,
                                                  browser=browser, reportdir=None)
                        execution_list.append(testdef)
        return execution_list
Exemplo n.º 2
0
    def test_get_secrets_in_case_secrets_file_does_not_exists(
            self, project_session):
        testdir = project_session.testdir
        project = project_session.name
        secrets = secrets_manager.get_secrets(testdir, project)

        assert len(secrets) == 0
        assert {} == secrets
Exemplo n.º 3
0
 def test_get_secrets_in_case_secrets_file_exists(self, project_session):
     _, project = project_session.activate()
     secrets_path = os.path.join(project_session.path, 'secrets.json')
     with open(secrets_path, 'w') as secrets_file:
         secrets_file.write(json.dumps(SECRETS, indent=True))
     secrets = secrets_manager.get_secrets(project)
     assert len(secrets) == 3
     assert 'db_host' in secrets
     assert 'schema' in secrets
     assert secrets['users']['user01'] == 'Mike'
Exemplo n.º 4
0
    def _define_execution_list(self):
        """Generate the execution list

        Generates a list with the required combinations
        for each of the following elements:
          - tests
          - data sets
          - environments
          - browsers
        """
        execution_list = []
        envs = self.execution.envs or [None]
        envs_data = environment_manager.get_environment_data(self.project.name)
        secrets = secrets_manager.get_secrets(self.project.name)

        for test in self.tests:
            data_sets = test_data.get_parsed_test_data(self.project.name, test)

            if len(data_sets) > 1 or len(envs) > 1 or len(
                    self.execution.browsers) > 1:
                # If the test file contain multiple data sets, envs or browsers
                # then each set will have a unique id (set_name)
                multiple_data_sets = True
            else:
                # otherwise it's just one set with set_name = ''
                multiple_data_sets = False

            for data_set in data_sets:
                for env in envs:
                    data_set_env = dict(data_set)
                    if env in envs_data:
                        # add env_data to data_set
                        data_set_env['env'] = envs_data[env]
                        data_set_env['env']['name'] = env
                    for browser in self.execution.browsers:

                        if multiple_data_sets:
                            set_name = str(uuid.uuid4())[:6]
                        else:
                            set_name = ''

                        testdef = SimpleNamespace(
                            name=test,
                            data_set=data_set_env,
                            secrets=secrets,
                            browser=browser,
                            reportdir=self.execution.reportdir,
                            env=env,
                            set_name=set_name)
                        execution_list.append(testdef)
        return execution_list
Exemplo n.º 5
0
 def test_get_secrets_in_case_secrets_file_does_not_exists(
         self, project_session):
     _, project = project_session.activate()
     secrets = secrets_manager.get_secrets(project)
     assert len(secrets) == 0
     assert secrets == {}