checkbox=_ui.CheckBox(By.CSS_SELECTOR, 'input[type="checkbox"]'), dropdown_menu=_ui.DropdownMenu()) class RowNamespace(_ui.Row): """Row with namespace in namespaces table.""" class TableNamespaces(_ui.Table): """Namespaces table.""" columns = {'name': 2} row_cls = RowNamespace @ui.register_ui( field_namespace_json=ui.TextField(By.NAME, 'direct_input'), combobox_namespace_source=_ui.combobox_by_label( "Namespace Definition Source")) class FormImportNamespace(_ui.Form): """Form to create namespace.""" @ui.register_ui( button_import_namespace=ui.Button(By.ID, 'namespaces__action_import'), form_import_namespace=FormImportNamespace(By.ID, 'create_metadata_form'), table_namespaces=TableNamespaces(By.ID, 'namespaces')) class PageMetadataDefinitions(PageBase): """Metadata definitions page.""" url = "/admin/metadata_defs/" navigate_items = 'Admin', 'System', 'Metadata Definitions'
"""Row of admin volume.""" class TableVolumes(_ui.Table): """Admin volumes table.""" columns = {'project': 2, 'host': 3, 'name': 4, 'size': 5, 'status': 6, 'type': 7} row_cls = RowVolume @ui.register_ui(combobox_status=_ui.combobox_by_label("Status")) class FormUpdateVolumeStatus(_ui.Form): """Form to update volume status.""" @ui.register_ui( combobox_destination_host=_ui.combobox_by_label("Destination Host"), field_current_host=ui.TextField(By.NAME, 'current_host')) class FormMigrateVolume(_ui.Form): """Form to migrate volume.""" @ui.register_ui( table_volumes=TableVolumes(By.CSS_SELECTOR, 'table[id="volumes"]'), form_update_volume_status=FormUpdateVolumeStatus( By.CSS_SELECTOR, 'form[action*="/update_status"]'),
class RowUser(_ui.Row): """User row of users table.""" class TableUsers(_ui.Table): """Users table.""" columns = {'name': 2, 'email': 4, 'enabled': 6} row_cls = RowUser @ui.register_ui(field_name=ui.TextField(By.NAME, 'name'), field_password=ui.TextField(By.NAME, 'password'), field_confirm_password=ui.TextField(By.NAME, 'confirm_password'), combobox_project=_ui.combobox_by_label("Primary Project"), combobox_role=_ui.combobox_by_label('Role')) class FormCreateUser(_ui.Form): """Form to create new user.""" @ui.register_ui(field_confirm_password=ui.TextField(By.NAME, 'confirm_password'), field_password=ui.TextField(By.NAME, 'password')) class FormChangePassword(_ui.Form): """Form to change user password.""" @ui.register_ui(field_name=ui.TextField(By.NAME, 'name'), combox_project=_ui.combobox_by_label("Primary Project")) class FormUpdateUser(_ui.Form):
# See the License for the specific language governing permissions and # limitations under the License. from pom import ui from selenium.webdriver.common.by import By from stepler.horizon.app import ui as _ui from ..instances.page_instances import FormLaunchInstance @ui.register_ui( field_name=ui.TextField(By.NAME, 'name'), field_description=ui.TextField(By.NAME, 'description'), field_size=ui.TextField(By.NAME, 'size'), combobox_source_type=_ui.combobox_by_label("Volume Source"), combobox_image_source=_ui.combobox_by_label("Use image as a source"), combobox_volume_source=_ui.combobox_by_label("Use a volume as source"), combobox_volume_type=_ui.combobox_by_label("Type")) class FormCreateVolume(_ui.Form): """Form to create volume.""" @ui.register_ui(field_name=ui.TextField(By.NAME, 'name')) class FormEditVolume(_ui.Form): """Form to edit volume.""" @ui.register_ui( item_change_volume_type=ui.UI(By.CSS_SELECTOR, '*[id$="action_retype"]'), item_create_backup=ui.UI(By.CSS_SELECTOR, '[id$="action_backups"]'),
transit_statuses = ('Build', 'Resize/Migrate') class TableInstances(_ui.Table): """Instances table.""" columns = {'name': 2, 'ips': 4, 'size': 5, 'status': 7} row_cls = RowInstance def value(self): """List parameters of instance.""" return self.webelement.find_elements(By.CLASS_NAME, 'status_up') @ui.register_ui(combobox_port=ui.ComboBox(By.NAME, "instance_id"), combobox_float_ip=_ui.combobox_by_label("IP Address")) class FormAssociateFloatingIP(_ui.Form): """Form to associate.""" @ui.register_ui(item_instance_name=ui.TextField(By.NAME, 'name'), item_security_groups=ui.UI( By.XPATH, './/a[contains(., "Security Groups")]')) class FormEditInstance(_ui.Form): """Form to edit instance.""" submit_locator = By.CSS_SELECTOR, '.modal-footer .btn.btn-primary' def item_security_group(self, name): """Item add security group.""" element_locator = By.XPATH, ("//ul[contains(@class,"
"""Dropdown menu of floating IP.""" @ui.register_ui(checkbox=_ui.CheckBox(By.CSS_SELECTOR, 'input[type="checkbox"]'), dropdown_menu=DropdownMenu()) class RowFloatingIP(_ui.Row): """Row with floating ip.""" class TableFloatingIPs(_ui.Table): """Table with floating IPs.""" row_cls = RowFloatingIP @ui.register_ui(combobox_port=_ui.combobox_by_label("Port to be associated"), combobox_float_ip=_ui.combobox_by_label("IP Address")) class FormAssociate(_ui.Form): """Form to associate.""" @ui.register_ui( button_allocate_ip=ui.Button(By.ID, 'floating_ips__action_allocate'), form_allocate_ip=FormAllocateIP(By.ID, 'associate_floating_ip_form'), form_associate=FormAssociate(By.CSS_SELECTOR, '[action*="floating_ips/associate"]'), table_floating_ips=TableFloatingIPs(By.ID, 'floating_ips')) class TabFloatingIPs(_ui.Tab): """Floating IPs tab."""
class DropdownMenu(_ui.DropdownMenu): """Dropdown menu of floating IP.""" @ui.register_ui(checkbox=_ui.CheckBox(By.CSS_SELECTOR, 'input[type="checkbox"]'), dropdown_menu=DropdownMenu()) class RowFloatingIP(_ui.Row): """Row with floating ip.""" class TableFloatingIPs(_ui.Table): """Table with floating IPs.""" row_cls = RowFloatingIP @ui.register_ui(combobox_port=_ui.combobox_by_label("Port to be associated")) class FormAssociate(_ui.Form): """Form to associate.""" @ui.register_ui( button_allocate_ip=ui.Button(By.ID, 'floating_ips__action_allocate'), form_allocate_ip=FormAllocateIP(By.ID, 'associate_floating_ip_form'), form_associate=FormAssociate(By.CSS_SELECTOR, '[action*="floating_ips/associate"]'), table_floating_ips=TableFloatingIPs(By.ID, 'floating_ips')) class TabFloatingIPs(_ui.Tab): """Floating IPs tab."""
'input[type="checkbox"]'), dropdown_menu=DropdownMenu(), link_stack=ui.Link(By.CSS_SELECTOR, 'td > hz-cell > hz-field > a')) class RowStack(_ui.Row): """Row with stack in stacks table.""" class TableStacks(_ui.Table): """Stacks table.""" columns = {'name': 2, 'status': 6} row_cls = RowStack @ui.register_ui( combobox_template_source=_ui.combobox_by_label('Template Source'), combobox_env_source=_ui.combobox_by_label('Environment Source'), field_template_data=ui.TextField(By.NAME, 'template_data'), field_env_data=ui.TextField(By.NAME, 'environment_data')) class FormCreateStack(_ui.Form): """Form to create stack.""" @ui.register_ui(field_name=ui.TextField(By.NAME, 'stack_name'), field_timeout=ui.TextField(By.NAME, 'timeout_mins'), field_admin_password=ui.TextField(By.NAME, 'password'), field_flavor=ui.TextField(By.NAME, '__param_flavor'), field_image=ui.TextField(By.NAME, '__param_image'), field_key=ui.TextField(By.NAME, '__param_key_name'), checkbox_rollback=_ui.CheckBox(By.NAME, 'enable_rollback')) class FormLaunchStack(_ui.Form):
@ui.register_ui( checkbox=_ui.CheckBox(By.CSS_SELECTOR, 'input[type="checkbox"]'), dropdown_menu=DropdownMenu()) class RowUser(_ui.Row): """User row of users table.""" class TableUsers(_ui.Table): """Users table.""" columns = {'name': 2, 'email': 4, 'enabled': 6} row_cls = RowUser @ui.register_ui( combobox_project=_ui.combobox_by_label("Primary Project"), combobox_role=ui.ComboBox(By.NAME, 'role_id'), field_confirm_password=ui.TextField(By.NAME, 'confirm_password'), field_name=ui.TextField(By.NAME, 'name'), field_password=ui.TextField(By.NAME, 'password')) class FormCreateUser(_ui.Form): """Form to create new user.""" @ui.register_ui( field_confirm_password=ui.TextField(By.NAME, 'confirm_password'), field_password=ui.TextField(By.NAME, 'password')) class FormChangePassword(_ui.Form): """Form to change user password."""