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) ]
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)
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
def parse_variables(variables_config: Configuration) -> dict: if not variables_config: return {} return variables_config.content()