예제 #1
0
 class details(SatTab):
     # Basic information
     name = EditableEntry(name='Name')
     uuid = ReadOnlyEntry(name='UUID')
     description = EditableEntry(name='Description')
     type = ReadOnlyEntry(name='Type')
     katello_agent = ReadOnlyEntry(name='Katello Agent')
     virtual_guests = ReadOnlyEntry(name='Virtual Guests')
     registered_through = ReadOnlyEntry(name='Registered Through')
     # Subscriptions
     subscription_status = ReadOnlyEntry(name='Subscription Status')
     details = ReadOnlyEntry(name='Details')
     auto_attach = EditableEntryCheckbox(name='Auto-Attach')
     service_level = EditableEntrySelect(name='Service Level')
     # Content Host Properties
     os = ReadOnlyEntry(name='OS')
     architecture = ReadOnlyEntry(name='Architecture')
     number_of_cpus = ReadOnlyEntry(name='Number of CPUs')
     sockets = ReadOnlyEntry(name='Sockets')
     cores_per_socket = ReadOnlyEntry(name='Cores per Socket')
     ram = ReadOnlyEntry(name='RAM (GB)')
     virtual_guest = ReadOnlyEntry(name='Virtual Guest')
     # Installable Errata
     security = ReadOnlyEntry(name='Security')
     bug_fix = ReadOnlyEntry(name='Bug Fix')
     enhancement = ReadOnlyEntry(name='Enhancement')
     # Content Host Content
     release_version = EditableEntrySelect(name='Release Version')
     content_view = EditableEntrySelect(name='Content View')
     lce = ParametrizedView.nested(LCESelectorGroup)
     # Content Host Status
     registered = ReadOnlyEntry(name='Registered')
     registered_by = ReadOnlyEntry(name='Registered By')
     last_checkin = ReadOnlyEntry(name='Last Checkin')
예제 #2
0
 class details(SatTab):
     name = EditableEntry(name='Name')
     label = ReadOnlyEntry(name='Label')
     description = EditableEntry(name='Description')
     unauthenticated_pull = EditableEntryCheckbox(
         name='Unauthenticated Pull')
     registry_name_pattern = EditableEntry(name='Registry Name Pattern')
예제 #3
0
파일: contentview.py 프로젝트: synkd/airgun
 class details(SatTab):
     name = EditableEntry(name='Name')
     label = ReadOnlyEntry(name='Label')
     description = EditableEntry(name='Description')
     composite = ReadOnlyEntry(name='Composite?')
     force_puppet = EditableEntryCheckbox(name='Force Puppet Environment')
     solve_dependencies = EditableEntryCheckbox(name='Solve Dependencies')
예제 #4
0
 class details(SatTab):
     name = EditableEntry(name='Name')
     description = EditableEntry(name='Description')
     hosts_limit = EditableLimitEntry(name='Host Limit')
     service_level = EditableEntrySelect(name='Service Level')
     lce = ParametrizedView.nested(LCESelectorGroup)
     content_view = EditableEntrySelect(name='Content View')
예제 #5
0
파일: syncplan.py 프로젝트: ogajduse/airgun
 class details(SatTab):
     name = EditableEntry(name='Name')
     description = EditableEntry(name='Description')
     date_time = EditableDateTime(name='Start Date')
     next_sync = ReadOnlyEntry(name='Next Sync')
     enabled = EditableEntryCheckbox(name='Sync Enabled')
     interval = EditableEntrySelect(name='Interval')
     products_count = ReadOnlyEntry(name='Products')
예제 #6
0
 class DockerRepository(View):
     registry_url = EditableEntry(name='Registry URL')
     upstream_repo_name = EditableEntry(name='Upstream Repository')
     repo_name = ReadOnlyEntry(name='Name')
     verify_ssl = EditableEntryCheckbox(name='Verify SSL')
     upstream_authorization = AuthorizationEntry(
         name='Upstream Authorization')
     ignore_global_proxy = EditableEntryCheckbox(
         name='Ignore Global HTTP Proxy')
     publish_via_http = EditableEntryCheckbox(name='Publish via HTTP')
예제 #7
0
 class PuppetRepository(View):
     upstream_url = EditableEntry(name='Upstream URL')
     verify_ssl = EditableEntryCheckbox(name='Verify SSL')
     upstream_username = EditableEntry(name='Upstream Username')
     upstream_password = EditableEntry(name='Upstream Password')
     mirror_on_sync = EditableEntryCheckbox(name='Mirror on Sync')
     ignore_global_proxy = EditableEntryCheckbox(
         name='Ignore Global HTTP Proxy')
     publish_via_https = ReadOnlyEntry(name='Publish via HTTPS')
     publish_via_http = EditableEntryCheckbox(name='Publish via HTTP')
     published_at = ReadOnlyEntry(name='Published At')
예제 #8
0
파일: product.py 프로젝트: bsquizz/airgun
 class details(SatTab):
     name = EditableEntry(name='Name')
     label = ReadOnlyEntry(name='Label')
     gpg_key = EditableEntrySelect(name='GPG Key')
     ssl_ca_cert = EditableEntrySelect(name='SSL CA Cert')
     ssl_client_cert = EditableEntrySelect(name='SSL Client Cert')
     ssl_client_key = EditableEntrySelect(name='SSL Client Key')
     description = EditableEntry(name='Description')
     repos_count = ReadOnlyEntry(name='Number of Repositories')
     tasks_count = ReadOnlyEntry(name='Active Tasks')
     sync_plan = EditableEntrySelect(name='Sync Plan')
예제 #9
0
 class YumRepository(View):
     arch_restrict = EditableEntrySelect(name='Restrict to architecture')
     upstream_url = EditableEntry(name='Upstream URL')
     verify_ssl = EditableEntryCheckbox(name='Verify SSL')
     upstream_username = EditableEntry(name='Upstream Username')
     upstream_password = EditableEntry(name='Upstream Password')
     metadata_type = EditableEntrySelect(name='Yum Metadata Checksum')
     mirror_on_sync = EditableEntryCheckbox(name='Mirror on Sync')
     ignore_global_proxy = EditableEntryCheckbox(
         name='Ignore Global HTTP Proxy')
     publish_via_http = EditableEntryCheckbox(name='Publish via HTTP')
     gpg_key = EditableEntrySelect(name='GPG Key')
     download_policy = EditableEntrySelect(name='Download Policy')
예제 #10
0
    class DockerRepository(View):
        registry_url = EditableEntry(name='Registry URL')
        upstream_repo_name = EditableEntry(name='Upstream Repository')
        repo_name = ReadOnlyEntry(name='Name')
        verify_ssl = EditableEntryCheckbox(name='Verify SSL')
        upstream_authorization = AuthorizationEntry(name='Upstream Authorization')
        publish_via_http = EditableEntryCheckbox(name='Publish via HTTP')
        http_proxy_policy = EditableEntrySelect(name='HTTP Proxy')
        proxy_policy = ConditionalSwitchableView(reference='http_proxy_policy')

        @proxy_policy.register(True, default=True)
        class NoSpecificHttpProxy(View):
            pass
예제 #11
0
class HostCollectionEditView(BaseLoggedInView):
    title = Text("//h3[contains(., 'Basic Information')]")
    name = EditableEntry(name='Name')
    description = EditableEntry(name='Description')

    @property
    def is_displayed(self):
        return self.browser.wait_for_element(
            self.title, exception=False) is not None

    @View.nested
    class hosts(SatTab):
        TAB_NAME = 'Hosts'

        resources = View.nested(AddRemoveResourcesView)
예제 #12
0
 class details(SatTab):
     name = EditableEntry(name='Name')
     description = EditableEntry(name='Description')
     content_hosts = ReadOnlyEntry(
         locator=(".//dt[contains(., 'Content Hosts')]/following-sibling"
                  "::dd/a[not(contains(@class, 'ng-hide'))][1]")
     )
     content_host_limit = EditableLimitEntry(name='Content Host Limit')
     # Package Installation, Removal, and Update
     manage_packages = Text(".//a[@ng-click='openPackagesModal()']")
     # Errata Installation
     install_errata = Text(".//a[@ng-click='openErrataModal()']")
     # Change assigned Lifecycle Environment or Content View
     change_assigned_content = Text(
         ".//a[@ng-click='openEnvironmentModal()']")
예제 #13
0
    class AnsibleCollectionRepository(View):
        arch_restrict = EditableEntrySelect(name='Restrict to architecture')
        upstream_url = EditableEntry(name='Upstream URL')
        requirements = EditableEntry(name='Requirements')
        verify_ssl = EditableEntryCheckbox(name='Verify SSL')
        upstream_authorization = AuthorizationEntry(name='Upstream Authorization')
        mirror_on_sync = EditableEntryCheckbox(name='Mirror on Sync')
        publish_via_http = EditableEntryCheckbox(name='Publish via HTTP')
        upload_content = FileInput(name='content[]')
        upload = Text("//button[contains(., 'Upload')]")
        http_proxy_policy = EditableEntrySelect(name='HTTP Proxy')
        proxy_policy = ConditionalSwitchableView(reference='http_proxy_policy')

        @proxy_policy.register(True, default=True)
        class NoSpecificHttpProxy(View):
            pass
예제 #14
0
 class FileRepository(View):
     upstream_url = EditableEntry(name='Upstream URL')
     verify_ssl = EditableEntryCheckbox(name='Verify SSL')
     upstream_authorization = AuthorizationEntry(
         name='Upstream Authorization')
     publish_via_http = EditableEntryCheckbox(name='Publish via HTTP')
     unprotected = EditableEntryCheckbox(name='Unprotected')
     mirroring_policy = EditableEntrySelect(name='Mirroring Policy')
예제 #15
0
 class OstreeRepository(View):
     upstream_url = EditableEntry(name='Upstream URL')
     verify_ssl = EditableEntryCheckbox(name='Verify SSL')
     upstream_authorization = AuthorizationEntry(
         name='Upstream Authorization')
     ignore_global_proxy = EditableEntryCheckbox(
         name='Ignore Global HTTP Proxy')
     publish_via_https = ReadOnlyEntry(name='Publish via HTTPS')
     published_at = ReadOnlyEntry(name='Published At')
예제 #16
0
 class details(SatTab):
     # Basic information
     name = EditableEntry(name='Name')
     uuid = ReadOnlyEntry(name='Subscription UUID')
     bios_uuid = ReadOnlyEntry(name='BIOS UUID')
     description = EditableEntry(name='Description')
     type = ReadOnlyEntry(name='Type')
     katello_agent = ReadOnlyEntry(name='Katello Agent')
     virtual_guests = ReadOnlyEntry(name='Virtual Guests')
     registered_through = ReadOnlyEntry(name='Registered Through')
     # Subscriptions
     subscription_status = ReadOnlyEntry(name='Subscription Status')
     details = ReadOnlyEntry(name='Details')
     auto_attach = EditableEntryCheckbox(name='Auto-Attach')
     # System Purpose
     system_purpose_status = ReadOnlyEntry(name='System Purpose Status')
     service_level = EditableEntrySelect(name='Service Level (SLA)')
     usage_type = EditableEntrySelect(name='Usage Type')
     role = EditableEntrySelect(name='Role')
     addons = EditableEntryMultiCheckbox(name='Add ons')
     # Content Host Properties
     os = ReadOnlyEntry(
         locator=
         ".//dt[.='OS']/following-sibling::dd[not(contains(@class, 'ng-hide'))]"
     )
     architecture = ReadOnlyEntry(name='Architecture')
     number_of_cpus = ReadOnlyEntry(name='Number of CPUs')
     sockets = ReadOnlyEntry(name='Sockets')
     cores_per_socket = ReadOnlyEntry(name='Cores per Socket')
     ram = ReadOnlyEntry(name='RAM (GB)')
     virtual_guest = ReadOnlyEntry(name='Virtual Guest')
     # Installable Errata
     security = ReadOnlyEntry(name='Security')
     bug_fix = ReadOnlyEntry(name='Bug Fix')
     enhancement = ReadOnlyEntry(name='Enhancement')
     # Content Host Content
     release_version = EditableEntrySelect(name='Release Version')
     content_view = EditableEntrySelect(name='Content View')
     lce = ParametrizedView.nested(LCESelectorGroup)
     # Content Host Status
     registered = ReadOnlyEntry(name='Registered')
     registered_by = ReadOnlyEntry(name='Registered By')
     last_checkin = ReadOnlyEntry(name='Last Checkin')
예제 #17
0
    class OstreeRepository(View):
        upstream_url = EditableEntry(name='Upstream URL')
        verify_ssl = EditableEntryCheckbox(name='Verify SSL')
        upstream_authorization = AuthorizationEntry(name='Upstream Authorization')
        publish_via_https = ReadOnlyEntry(name='Publish via HTTPS')
        published_at = ReadOnlyEntry(name='Published At')
        http_proxy_policy = EditableEntrySelect(name='HTTP Proxy')
        proxy_policy = ConditionalSwitchableView(reference='http_proxy_policy')

        @proxy_policy.register(True, default=True)
        class NoSpecificHttpProxy(View):
            pass
예제 #18
0
class ActivationKeyEditView(BaseLoggedInView):
    return_to_all = Text("//a[text()='Activation Keys']")
    name = EditableEntry(name='Name')
    description = EditableEntry(name='Description')
    host_limit = EditableEntry(name='Host Limit')
    service_level = EditableEntrySelect(name='Service Level')
    action_list = SelectActionList()
    dialog = ConfirmationDialog()
    lce = LCESelector()

    @property
    def is_displayed(self):
        return self.browser.wait_for_element(self.return_to_all,
                                             exception=False) is not None

    @View.nested
    class subscriptions(SatTab):
        @View.nested
        class resources(AddRemoveResourcesView):
            checkbox_locator = (
                './/table//tr[td[normalize-space(.)="%s"]]'
                '/following-sibling::tr//input[@type="checkbox"]')
예제 #19
0
 class PuppetRepository(View):
     upstream_url = EditableEntry(name='Upstream URL')
     verify_ssl = EditableEntryCheckbox(name='Verify SSL')
     upstream_authorization = AuthorizationEntry(
         name='Upstream Authorization')
     mirror_on_sync = EditableEntryCheckbox(name='Mirror on Sync')
     ignore_global_proxy = EditableEntryCheckbox(
         name='Ignore Global HTTP Proxy')
     publish_via_https = ReadOnlyEntry(name='Publish via HTTPS')
     publish_via_http = EditableEntryCheckbox(name='Publish via HTTP')
     published_at = ReadOnlyEntry(name='Published At')
     upload_content = FileInput(name='content[]')
     upload = Text("//button[contains(., 'Upload')]")
예제 #20
0
    class YumRepository(View):
        arch_restrict = EditableEntrySelect(name='Restrict to architecture')
        os_restrict = EditableEntrySelect(name='Restrict to OS version')
        verify_ssl = EditableEntryCheckbox(name='Verify SSL')
        upstream_url = EditableEntry(name='Upstream URL')
        upstream_authorization = AuthorizationEntry(
            name='Upstream Authorization')
        metadata_type = EditableEntrySelect(name='Yum Metadata Checksum')
        retain_package_versions = EditableEntry(name='Retain package versions')
        http_proxy_policy = EditableEntrySelect(name='HTTP Proxy')
        ignore_srpms = EditableEntryCheckbox(name='Ignore SRPMs')
        publish_via_http = EditableEntryCheckbox(name='Publish via HTTP')
        unprotected = EditableEntryCheckbox(name='Unprotected')
        gpg_key = EditableEntrySelect(name='GPG Key')
        download_policy = EditableEntrySelect(name='Download Policy')
        mirroring_policy = EditableEntrySelect(name='Mirroring Policy')
        upload_content = FileInput(name='content[]')
        upload = Text("//button[contains(., 'Upload')]")
        proxy_policy = ConditionalSwitchableView(reference='http_proxy_policy')

        @proxy_policy.register(True, default=True)
        class NoSpecificHttpProxy(View):
            pass
예제 #21
0
 class YumRepository(View):
     arch_restrict = EditableEntrySelect(name='Restrict to architecture')
     upstream_url = EditableEntry(name='Upstream URL')
     verify_ssl = EditableEntryCheckbox(name='Verify SSL')
     upstream_authorization = AuthorizationEntry(
         name='Upstream Authorization')
     metadata_type = EditableEntrySelect(name='Yum Metadata Checksum')
     mirror_on_sync = EditableEntryCheckbox(name='Mirror on Sync')
     ignore_global_proxy = EditableEntryCheckbox(
         name='Ignore Global HTTP Proxy')
     publish_via_http = EditableEntryCheckbox(name='Publish via HTTP')
     gpg_key = EditableEntrySelect(name='GPG Key')
     download_policy = EditableEntrySelect(name='Download Policy')
     upload_content = FileInput(name='content[]')
     upload = Text("//button[contains(., 'Upload')]")
예제 #22
0
    class PuppetRepository(View):
        upstream_url = EditableEntry(name='Upstream URL')
        verify_ssl = EditableEntryCheckbox(name='Verify SSL')
        upstream_authorization = AuthorizationEntry(name='Upstream Authorization')
        mirror_on_sync = EditableEntryCheckbox(name='Mirror on Sync')
        publish_via_https = ReadOnlyEntry(name='Publish via HTTPS')
        publish_via_http = EditableEntryCheckbox(name='Publish via HTTP')
        published_at = ReadOnlyEntry(name='Published At')
        upload_content = FileInput(name='content[]')
        upload = Text("//button[contains(., 'Upload')]")
        http_proxy_policy = EditableEntrySelect(name='HTTP Proxy')
        proxy_policy = ConditionalSwitchableView(reference='http_proxy_policy')

        @proxy_policy.register(True, default=True)
        class NoSpecificHttpProxy(View):
            pass
예제 #23
0
 class details(SatTab):
     name = EditableEntry(name='Name')
     description = EditableEntry(name='Description')
예제 #24
0
 class details(SatTab):
     name = EditableEntry(name='Name')
     label = ReadOnlyEntry(name='Label')
     description = EditableEntry(name='Description')
     composite = ReadOnlyEntry(name='Composite?')
     force_puppet = EditableEntryCheckbox(name='Force Puppet')
예제 #25
0
class RepositoryEditView(BaseLoggedInView):
    breadcrumb = BreadCrumb()
    actions = ActionsDropdown("//div[contains(@class, 'btn-group')]")
    dialog = ConfirmationDialog()
    name = EditableEntry(name='Name')
    label = ReadOnlyEntry(name='Label')
    repo_type = ReadOnlyEntry(name='Type')
    repo_content = ConditionalSwitchableView(reference='repo_type')
    content_counts = SatTableWithUnevenStructure(
        locator='.//table[//th[normalize-space(.)="Content Type"]]',
        column_locator='./*'
    )

    @repo_content.register('docker')
    class DockerRepository(View):
        registry_url = EditableEntry(name='Registry URL')
        upstream_repo_name = EditableEntry(name='Upstream Repository')
        repo_name = ReadOnlyEntry(name='Name')
        verify_ssl = EditableEntryCheckbox(name='Verify SSL')
        upstream_authorization = AuthorizationEntry(
            name='Upstream Authorization')
        publish_via_http = EditableEntryCheckbox(name='Publish via HTTP')
        http_proxy_policy = EditableEntrySelect(name='HTTP Proxy')
        proxy_policy = ConditionalSwitchableView(reference='http_proxy_policy')

        @proxy_policy.register(True, default=True)
        class NoSpecificHttpProxy(View):
            pass

    @repo_content.register('yum')
    class YumRepository(View):
        arch_restrict = EditableEntrySelect(name='Restrict to architecture')
        upstream_url = EditableEntry(name='Upstream URL')
        verify_ssl = EditableEntryCheckbox(name='Verify SSL')
        upstream_authorization = AuthorizationEntry(
            name='Upstream Authorization')
        metadata_type = EditableEntrySelect(name='Yum Metadata Checksum')
        mirror_on_sync = EditableEntryCheckbox(name='Mirror on Sync')
        publish_via_http = EditableEntryCheckbox(name='Publish via HTTP')
        gpg_key = EditableEntrySelect(name='GPG Key')
        download_policy = EditableEntrySelect(name='Download Policy')
        upload_content = FileInput(name='content[]')
        upload = Text("//button[contains(., 'Upload')]")
        http_proxy_policy = EditableEntrySelect(name='HTTP Proxy')
        proxy_policy = ConditionalSwitchableView(reference='http_proxy_policy')

        @proxy_policy.register(True, default=True)
        class NoSpecificHttpProxy(View):
            pass

    @repo_content.register('puppet')
    class PuppetRepository(View):
        upstream_url = EditableEntry(name='Upstream URL')
        verify_ssl = EditableEntryCheckbox(name='Verify SSL')
        upstream_authorization = AuthorizationEntry(
            name='Upstream Authorization')
        mirror_on_sync = EditableEntryCheckbox(name='Mirror on Sync')
        publish_via_https = ReadOnlyEntry(name='Publish via HTTPS')
        publish_via_http = EditableEntryCheckbox(name='Publish via HTTP')
        published_at = ReadOnlyEntry(name='Published At')
        upload_content = FileInput(name='content[]')
        upload = Text("//button[contains(., 'Upload')]")
        http_proxy_policy = EditableEntrySelect(name='HTTP Proxy')
        proxy_policy = ConditionalSwitchableView(reference='http_proxy_policy')

        @proxy_policy.register(True, default=True)
        class NoSpecificHttpProxy(View):
            pass

    @repo_content.register('ostree')
    class OstreeRepository(View):
        upstream_url = EditableEntry(name='Upstream URL')
        verify_ssl = EditableEntryCheckbox(name='Verify SSL')
        upstream_authorization = AuthorizationEntry(
            name='Upstream Authorization')
        publish_via_https = ReadOnlyEntry(name='Publish via HTTPS')
        published_at = ReadOnlyEntry(name='Published At')
        http_proxy_policy = EditableEntrySelect(name='HTTP Proxy')
        proxy_policy = ConditionalSwitchableView(reference='http_proxy_policy')

        @proxy_policy.register(True, default=True)
        class NoSpecificHttpProxy(View):
            pass

    @property
    def is_displayed(self):
        breadcrumb_loaded = self.browser.wait_for_element(
            self.breadcrumb, exception=False)
        return (
            breadcrumb_loaded
            and self.breadcrumb.locations[0] == 'Products'
            # repositories do not have tabs, so if we are deep inside some
            # specific repository (e.g. in repository packages) - there's no
            # turn back, so we can't treat any level deeper than repository
            # details like details' sub-tab
            and self.breadcrumb.locations[-2] == 'Repositories'
            and self.breadcrumb.read() != 'New Repository'
        )
예제 #26
0
 class details(SatTab):
     name = EditableEntry(name='Name')
     label = ReadOnlyEntry(name='Label')
     description = EditableEntry(name='Description')
예제 #27
0
class RepositoryEditView(BaseLoggedInView):
    breadcrumb = BreadCrumb()
    actions = ActionsDropdown("//div[contains(@class, 'btn-group')]")
    dialog = ConfirmationDialog()
    name = EditableEntry(name='Name')
    label = ReadOnlyEntry(name='Label')
    repo_type = ReadOnlyEntry(name='Type')
    repo_content = ConditionalSwitchableView(reference='repo_type')
    content_counts = SatContentCountsTable()

    @repo_content.register('docker')
    class DockerRepository(View):
        registry_url = EditableEntry(name='Registry URL')
        upstream_repo_name = EditableEntry(name='Upstream Repository')
        repo_name = ReadOnlyEntry(name='Name')
        verify_ssl = EditableEntryCheckbox(name='Verify SSL')
        upstream_username = EditableEntry(name='Upstream Username')
        upstream_password = EditableEntry(name='Upstream Password')
        ignore_global_proxy = EditableEntryCheckbox(
            name='Ignore Global HTTP Proxy')
        publish_via_http = EditableEntryCheckbox(name='Publish via HTTP')

    @repo_content.register('yum')
    class YumRepository(View):
        arch_restrict = EditableEntrySelect(name='Restrict to architecture')
        upstream_url = EditableEntry(name='Upstream URL')
        verify_ssl = EditableEntryCheckbox(name='Verify SSL')
        upstream_username = EditableEntry(name='Upstream Username')
        upstream_password = EditableEntry(name='Upstream Password')
        metadata_type = EditableEntrySelect(name='Yum Metadata Checksum')
        mirror_on_sync = EditableEntryCheckbox(name='Mirror on Sync')
        ignore_global_proxy = EditableEntryCheckbox(
            name='Ignore Global HTTP Proxy')
        publish_via_http = EditableEntryCheckbox(name='Publish via HTTP')
        gpg_key = EditableEntrySelect(name='GPG Key')
        download_policy = EditableEntrySelect(name='Download Policy')

    @repo_content.register('puppet')
    class PuppetRepository(View):
        upstream_url = EditableEntry(name='Upstream URL')
        verify_ssl = EditableEntryCheckbox(name='Verify SSL')
        upstream_username = EditableEntry(name='Upstream Username')
        upstream_password = EditableEntry(name='Upstream Password')
        mirror_on_sync = EditableEntryCheckbox(name='Mirror on Sync')
        ignore_global_proxy = EditableEntryCheckbox(
            name='Ignore Global HTTP Proxy')
        publish_via_https = ReadOnlyEntry(name='Publish via HTTPS')
        publish_via_http = EditableEntryCheckbox(name='Publish via HTTP')
        published_at = ReadOnlyEntry(name='Published At')

    @property
    def is_displayed(self):
        breadcrumb_loaded = self.browser.wait_for_element(self.breadcrumb,
                                                          exception=False)
        return (
            breadcrumb_loaded and self.breadcrumb.locations[0] == 'Products'
            # repositories do not have tabs, so if we are deep inside some
            # specific repository (e.g. in repository packages) - there's no
            # turn back, so we can't treat any level deeper than repository
            # details like details' sub-tab
            and self.breadcrumb.locations[-2] == 'Repositories' and
            self.breadcrumb.read() != 'New Repository')
예제 #28
0
 class details(SatTab):
     name = EditableEntry(name='Name')
     content_type = ReadOnlyEntry(name='Type')
     content = EditableEntry(name='Content')
     products = ReadOnlyEntry(name='Products')
     repos = ReadOnlyEntry(name='Repositories')