class parameters(SatTab): TAB_NAME = 'Parameters' params = CustomParameter() def fill(self, values): self.params.fill(values) def read(self): return self.params.read()
class parameters(View): view_tab = Text("//a[@href='#params']") params = CustomParameter() def fill(self, values): self.browser.click(self.view_tab) self.params.fill(values) def read(self): self.browser.click(self.view_tab) return self.params.read()
class parameters(SatVerticalTab): resources = CustomParameter(id='global_parameters_table')
class parameters(SatTab): subnet_params = CustomParameter(id='global_parameters_table')
class parameters(SatTab): TAB_NAME = 'Parameters' os_params = CustomParameter(id='global_parameters_table')
class parameters(SatTab): # noqa params = CustomParameter(id='global_parameters_table')
class parameters(SatTab): """Host parameters tab""" @View.nested class global_params(SatTable): def __init__(self, parent, **kwargs): locator = ".//table[@id='inherited_parameters']" column_widgets = { 'Name': Text(locator=".//span[starts-with(@id, 'name_')]"), 'Value': TextInput(locator=".//textarea[@data-property='value']"), 'Actions': Text(locator=(".//a[@data-original-title" "='Override this value']")) } SatTable.__init__(self, parent, locator, column_widgets=column_widgets, **kwargs) def read(self): """Return a list of dictionaries. Each dictionary consists of global parameter name, value and whether overridden or not. """ parameters = [] for row in self.rows(): parameters.append({ 'name': row['Name'].widget.read(), 'value': row['Value'].widget.read(), 'overridden': not row['Actions'].widget.is_displayed }) return parameters def override(self, name): """Override a single global parameter. :param str name: The name of the global parameter to override. """ for row in self.rows(): if (row['Name'].widget.read() == name and row['Actions'].widget.is_displayed): row['Actions'].widget.click() # click 'Override' break def fill(self, names): """Override global parameter entries. :param list[str] names: global parameters names to override. """ for name in names: self.override(name) host_params = CustomParameter(id='global_parameters_table') def fill(self, values): """Fill the parameters tab widgets with values. Args: values: A dictionary of ``widget_name: value_to_fill``. Note: The global_params value can be a list of names of global parameters to override or a list of dicts like [{name: global_param_name_to_override, value: new_value}...] """ host_params = values.get('host_params') global_params = values.get('global_params') if global_params: new_global_params = [] if not host_params: host_params = [] values['host_params'] = host_params for global_param in global_params: if isinstance(global_param, dict): host_params.append(global_param) new_global_params.append(global_param['name']) else: new_global_params.append(global_param) values['global_params'] = new_global_params return SatTab.fill(self, values)
class parameters(SatVerticalTab): resources = CustomParameter()