コード例 #1
0
    def all_tests(self, key: str,
                  config: Configuration) -> List[TestDefinition]:
        parameter_set = None
        if config:
            if not isinstance(config, Configuration):
                parameter_set = config
            else:
                parameter_set = config.content()

        return [
            TestDefinition(key,
                           testclass=DeviceActionRegistry.action_class(key),
                           test_provider=self,
                           parameter_sets=[parameter_set],
                           selected=True)
        ]
コード例 #2
0
    def create_ssh(ssh_config: Configuration, system: SystemContext) -> ConsoleBase:
        if not ssh_config:
            return None

        log.debug('SSH config = ' + json.dumps(ssh_config.content()))
        target = ssh_config.pop('target')
        login = ssh_config.pop('login', system.credentials.login)

        if not target or not login:
            raise TargetConfigError(
                'Missing "target" or "login" attributes for SSH console in the configuration file')

        password = ssh_config.pop('password', system.credentials.password)
        ssh_config.ensure_consumed()

        # Create a new system config to override default credentials
        ssh_system = deepcopy(system)
        ssh_system.credentials.login = login
        ssh_system.credentials.password = password

        return SSHConsole(target, system=ssh_system)
コード例 #3
0
    def all_tests(self, key: str,
                  config: Configuration) -> List[TestDefinition]:
        if not config:
            return []

        config_dict = config.content()
        selected_tests = []
        for test_name in config_dict:
            try:
                test_parameters = config_dict[test_name]
                test_parameters['name'] = test_name
                test = TestDefinition(test_name,
                                      testclass=ShellTest,
                                      test_provider=self,
                                      parameter_sets=[test_parameters],
                                      selected=True)
                selected_tests.append(test)
            except Exception as e:
                raise TestsConfigError(
                    f'Failed to parse script test "{test_name}":{os.linesep}    {e}'
                )

        return selected_tests
コード例 #4
0
    def parse_variables(variables_config: Configuration) -> dict:
        if not variables_config:
            return {}

        return variables_config.content()