Ejemplo n.º 1
0
class StackDetailsEntities(View):
    """The entties on the detail page"""
    breadcrumb = BreadCrumb()
    title = Text('//div[@id="main-content"]//h1')
    properties = SummaryTable(title='Properties')
    lifecycle = SummaryTable(title='Lifecycle')
    relationships = SummaryTable(title='Relationships')
    smart_management = SummaryTable(title='Smart Management')
Ejemplo n.º 2
0
 class entities(View):  # noqa
     """ Represents details page when it's switched to Summary/Table view """
     properties = SummaryTable(title="Properties")
     relationships = SummaryTable(title="Relationships")
     smart_management = SummaryTable(title="Smart Management")
     firewall_rules = Table(
         locator=
         '//th[normalize-space(.) = "Firewall Rules"]/ancestor::table[1]')
Ejemplo n.º 3
0
class DomainDetailsEntities(View):
    """Entities on the details page"""
    breadcrumb = BreadCrumb()
    title = Text(TITLE_LOCATOR)
    properties = SummaryTable(title='Properties')
    relationships = SummaryTable(title='Relationships')
    smart_management = SummaryTable(title='Smart Management')
    flash = FlashMessages(FLASH_MESSAGE_LOCATOR)
Ejemplo n.º 4
0
class KeyPairDetailsEntities(View):
    breadcrumb = BreadCrumb()
    title = Text('//div[@id="main-content"]//h1')
    flash = FlashMessages('.//div[@id="flash_msg_div"]'
                          '/div[@id="flash_text_div" or contains(@class, "flash_text_div")]')
    properties = SummaryTable(title='Properties')
    relationships = SummaryTable(title='Relationships')
    smart_management = SummaryTable(title='Smart Management')
Ejemplo n.º 5
0
    class summary(Tab):                     # noqa
        TAB_NAME = 'Summary'

        properties = SummaryTable(title='Properties')
        environment = SummaryTable(title='Environment')
        operating_system = SummaryTable(title='Operating System')
        tenancy = SummaryTable(title='Tenancy')
        smart_management = SummaryTable(title='Smart Management')
Ejemplo n.º 6
0
 class ProviderDetailsSummaryView(View):
     """
     represents Details page when it is switched to Summary aka Tables view
     """
     properties = SummaryTable(title="Properties")
     status = SummaryTable(title="Status")
     relationships = SummaryTable(title="Relationships")
     overview = SummaryTable(title="Overview")
     smart_management = SummaryTable(title="Smart Management")
Ejemplo n.º 7
0
class ClusterDetailsEntities(View):
    """A cluster properties on the details page"""
    breadcrumb = BreadCrumb()
    title = Text('//div[@id="main-content"]//h1')
    relationships = SummaryTable(title='Relationships')
    totals_for_hosts = SummaryTable(title='Totals for Hosts')
    totals_for_vms = SummaryTable(title='Totals for VMs')
    configuration = SummaryTable(title='Configuration')
    smart_management = SummaryTable(title='Smart Management')
Ejemplo n.º 8
0
 class entities(View):  # noqa
     """
     represents Details page when it is switched to Summary aka Tables view
     """
     properties = SummaryTable(title="Properties")
     registered_vms = SummaryTable(title="Information for Registered VMs")
     relationships = SummaryTable(title="Relationships")
     content = SummaryTable(title="Content")
     smart_management = SummaryTable(title="Smart Management")
Ejemplo n.º 9
0
 class retirement(WaitTab):  # noqa
     TAB_NAME = 'Retirement'
     results = SummaryTable(title='Results')
     plays = Table('.//table[./thead/tr/th[contains(@align, "left") and '
                   'normalize-space(.)="Plays"]]')
     details = SummaryTable(title='Details')
     credentials = SummaryTable(title='Credentials')
     standard_output = Text('.//div[h3[normalize-space(.)="Standard Output"]]'
                            '//div[contains(@class, "term-container")]')
Ejemplo n.º 10
0
    class entities(View):  # noqa
        """ Represents details page when it's switched to Summary/Table view """
        # TODO: remove all SummaryTables in favor of ParametrizedSummaryTable when safe
        properties = SummaryTable(title="Properties")
        relationships = SummaryTable(title="Relationships")
        status = SummaryTable(title="Status")
        overview = SummaryTable(title="Overview")
        smart_management = SummaryTable(title="Smart Management")

        summary = ParametrizedSummaryTable
Ejemplo n.º 11
0
class TenantDetailsEntities(View):
    """The entities on the details page"""
    breadcrumb = BreadCrumb()
    title = Text('//div[@id="main-content"]//h1')
    relationships = SummaryTable(title='Relationships')
    quotas = SummaryTable(title='Quotas')
    smart_management = SummaryTable(title='Smart Management')
    # element attributes changed from id to class in upstream-fine+, capture both with locator
    flash = FlashMessages('.//div[@id="flash_msg_div"]'
                          '/div[@id="flash_text_div" or contains(@class, "flash_text_div")]')
Ejemplo n.º 12
0
class CredentialDetailsView(CredentialsBaseView):
    configuration = Dropdown("Configuration")
    download = Button(title="Download summary in PDF format")
    properties = SummaryTable("Properties")
    relationships = SummaryTable("Relationships")
    credential_options = SummaryTable("Credential Options")

    @property
    def is_displayed(self):
        return (self.in_ansible_credentials and self.title.text
                == "{} (Summary)".format(self.context["object"].name))
Ejemplo n.º 13
0
class ClusterDetailsEntities(View):
    """A cluster properties on the details page"""
    breadcrumb = BreadCrumb()
    title = Text('//div[@id="main-content"]//h1')
    relationships = SummaryTable(title='Relationships')
    totals_for_hosts = SummaryTable(title='Totals for Hosts')
    totals_for_vms = SummaryTable(title='Totals for VMs')
    configuration = SummaryTable(title='Configuration')
    smart_management = SummaryTable(title='Smart Management')
    # element attributes changed from id to class in upstream-fine+, capture both with locator
    flash = FlashMessages('.//div[@id="flash_msg_div"]'
                          '/div[@id="flash_text_div" or contains(@class, "flash_text_div")]')
Ejemplo n.º 14
0
class MyServiceDetailView(MyServicesView):
    title = Text("#explorer_title_text")

    properties_detail = SummaryTable(title='Properties')
    lifecycle_detail = SummaryTable(title='Lifecycle')
    relationships_detail = SummaryTable(title='Relationships')
    vm_detail = SummaryTable(title='Totals for Service VMs ')
    smart_mgmt_detail = SummaryTable(title='Smart Management')

    @property
    def is_displayed(self):
        return (self.in_myservices and self.myservice.is_opened
                and self.title.text == 'Service "{}"'.format(
                    self.context['object'].name))
Ejemplo n.º 15
0
class InstanceDetailsView(CloudInstanceView):
    tag = SummaryTable(title='Smart Management')

    @property
    def is_displayed(self):
        expected_name = self.context['object'].name
        expected_provider = self.context['object'].provider.name
        try:
            # Not displayed when the instance is archived
            relationships = self.entities.summary('Relationships')
            relationship_provider_name = relationships.get_text_of(
                'Cloud Provider')
            return (self.in_cloud_instance and self.entities.title.text
                    == f'Instance "{expected_name}"'
                    and relationship_provider_name == expected_provider)
        except (NameError, NoSuchElementException):
            logger.warning(
                'No "Cloud Provider" Relationship, assume instance view not displayed'
            )
            # for archived instances the relationship_provider_name is removed from the summary
            # table
            return (self.in_cloud_instance and self.entities.title.text
                    == f'Instance "{expected_name}"')

    toolbar = View.nested(InstanceDetailsToolbar)
    sidebar = View.nested(InstanceAccordion)
    entities = View.nested(VMDetailsEntities)
Ejemplo n.º 16
0
class InstanceDetailsView(CloudInstanceView):
    tag = SummaryTable(title='Smart Management')

    @property
    def is_displayed(self):
        expected_name = self.context['object'].name
        expected_provider = self.context['object'].provider.name
        try:
            # Not displayed when the instance is archived
            relationships = self.entities.summary('Relationships')
            relationship_provider_name = relationships.get_text_of(
                'Cloud Provider')
        except (NameError, NoSuchElementException):
            logger.warning(
                'No "Cloud Provider" Relationship, assume instance view not displayed'
            )
            raise NotImplementedError(
                "This view has no unique markers for is_displayed check")
        return (self.in_cloud_instance and self.entities.title.text
                == 'Instance "{}"'.format(expected_name)
                and relationship_provider_name == expected_provider)

    toolbar = View.nested(InstanceDetailsToolbar)
    sidebar = View.nested(InstanceAccordion)
    entities = View.nested(VMDetailsEntities)
Ejemplo n.º 17
0
class HostDetailsEntities(View):
    """Represents Details page."""
    properties = SummaryTable(title="Properties")
    relationships = SummaryTable(title="Relationships")
    compliance = SummaryTable(title="Compliance")
    configuration = SummaryTable(title="Configuration")
    smart_management = SummaryTable(title="Smart Management")
    security = SummaryTable(title="Security")
    authentication_status = SummaryTable(title="Authentication Status")
    openstack_hardware = SummaryTable(title="Openstack Hardware")
class PhysicalServerDetailsEntities(View):
    """Represents Details page."""
    properties = SummaryTable(title="Properties")
    networks = SummaryTable(title="Networks")
    relationships = SummaryTable(title="Relationships")
    power_management = SummaryTable(title="Power Management")
    assets = SummaryTable(title="Assets")
    firmware = SummaryTable(title="Firmware")
    network_devices = SummaryTable(title="Network Devices")
    smart = SummaryTable(title="Smart Management")
Ejemplo n.º 19
0
class ImageDetailsEntities(View):
    title = Text(
        '//div[@id="main-content"]//h1//span[@id="explorer_title_text"]')
    properties = SummaryTable(title='Properties')
    lifecycle = SummaryTable(title='Lifecycle')
    relationships = SummaryTable(title='Relationships')
    compliance = SummaryTable(title='Compliance')
    power_management = SummaryTable(title='Power Management')
    security = SummaryTable(title='Security')
    configuration = SummaryTable(title='Configuration')
    smart_management = SummaryTable(title='Smart Management')
Ejemplo n.º 20
0
class ContainerObjectDetailsEntities(View):
    properties = SummaryTable(title="Properties")
    status = SummaryTable(title="Status")
    relationships = SummaryTable(title="Relationships")
    overview = SummaryTable(title="Overview")
    smart_management = SummaryTable(title="Smart Management")
    labels = SummaryTable(title="Labels")
Ejemplo n.º 21
0
 class details(Tab):  # noqa
     properties = SummaryTable(title='Properties')
     lifecycle = SummaryTable(title='Lifecycle')
     relationships = SummaryTable(title='Relationships')
     vm = SummaryTable(title='Totals for Service VMs ')
     smart_mgmt = SummaryTable(title='Smart Management')
     generic_objects = SummaryTable(title='Generic Objects')
Ejemplo n.º 22
0
class PhysicalSwitchDetailsEntities(View):
    """Represents Details page."""
    properties = SummaryTable(title="Properties")
    management_networks = SummaryTable(title="Management Networks")
    relationships = SummaryTable(title="Relationships")
    power_management = SummaryTable(title="Power Management")
    firmwares = SummaryTable(title="Firmwares")
    ports = SummaryTable(title="Ports")
Ejemplo n.º 23
0
class MyServiceDetailsEntities(View):
    """Represents Details page."""
    # TODO: use a ParametrizedSummaryTable eventually to do this
    summary = ParametrizedView.nested(ParametrizedSummaryTable)
    properties = SummaryTable(title='Properties')
    lifecycle = SummaryTable(title='Lifecycle')
    relationships = SummaryTable(title='Relationships')
    vm = SummaryTable(title='Totals for Service VMs ')
    smart_management = SummaryTable(title='Smart Management')
    generic_objects = SummaryTable(title='Generic Objects')
Ejemplo n.º 24
0
class DetailsEntitiesAnsibleCatalogItemView(View):
    title = Text(".//span[@id='explorer_title_text']")
    basic_information = SummaryForm("Basic Information")
    custom_image = FileInput("upload_image")
    upload = Button("Upload")
    smart_management = SummaryTable("Smart Management")

    @View.nested
    class provisioning(Tab):  # noqa
        info = SummaryForm("Provisioning Info")
        variables_and_default_values = Table(".//div[@id='provisioning']//table")

    @View.nested
    class retirement(Tab):  # noqa
        info = SummaryForm("Retirement Info")
        variables_and_default_values = Table(".//div[@id='retirement']//table")
Ejemplo n.º 25
0
class ImageDetailsView(CloudInstanceView):
    """View for an Image"""
    toolbar = View.nested(ImageToolbar)
    sidebar = View.nested(InstanceAccordion)
    entities = View.nested(ImageDetailsEntities)
    tag = SummaryTable(title='Smart Management')  # to satisfy WidgetasticTagable, CHANGEME

    @property
    def is_displayed(self):
        accordion = self.sidebar.images_by_provider
        relationships = self.entities.relationships
        return (
            self.in_cloud_instance and
            accordion.is_opened and
            accordion.tree.selected_item.text == self.context['object'].provider.name and
            relationships.get_text_of('Cloud Provider') == self.context['object'].provider.name and
            self.entities.title.text == 'Image "{}"'.format(self.context['object'].name))
class DetailsAnsibleCatalogItemView(ServicesCatalogView):
    title = Text(".//span[@id='explorer_title_text']")
    basic_information = SummaryForm("Basic Information")
    custom_image = FileInput("upload_image")
    upload = Button("Upload")
    smart_management = SummaryTable("Smart Management")

    @View.nested
    class provisioning(Tab):  # noqa
        info = SummaryForm("Provisioning Info")
        variables_and_default_values = Table(".//div[@id='provisioning']//table")

    @View.nested
    class retirement(Tab):  # noqa
        info = SummaryForm("Retirement Info")
        variables_and_default_values = Table(".//div[@id='retirement']//table")

    @property
    def is_displayed(self):
        return (
            self.in_explorer() and
            self.title.text == 'Service Catalog Item "{}"'.format(self.context["object"].name)
        )
Ejemplo n.º 27
0
 class entities(View):  # noqa
     basic_information = SummaryTable(title="Basic Information")
     pxe_image_menus = SummaryTable(title='PXE Image Menus')
Ejemplo n.º 28
0
 class entities(View):  # noqa
     basic_information = SummaryTable(title="Basic Information")
     script = ScriptBox(locator='//textarea[contains(@id, "script_data")]')
Ejemplo n.º 29
0
 class entities(View):  # noqa
     basic_information = SummaryTable(title="Basic Information")
Ejemplo n.º 30
0
 class retirement(Tab):  # noqa
     results = SummaryTable(title='Results')
     plays = SummaryTable(title='Plays')
     details = SummaryTable(title='Details')
     credentials = SummaryTable(title='Credentials')
     standart_output = Text('.//div[@id="provisioning"]//pre')