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')
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')
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')
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')
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')]")
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
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')
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') mirroring_policy = EditableEntrySelect(name='Mirroring Policy') include_tags = EditableEntry(name='Include Tags') exclude_tags = EditableEntry(name='Exclude Tags') @proxy_policy.register(True, default=True) class NoSpecificHttpProxy(View): pass
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')
class subscriptions(SatTabWithDropdown): SUB_ITEM = 'Subscriptions' status = ReadOnlyEntry(name='Status') auto_attach = EditableEntryCheckbox(name='Auto-Attach') run_auto_attach = Text(".//a[@ng-click='autoAttachSubscriptions()']") service_level = EditableEntrySelect(name='Service Level') resources = View.nested(AddRemoveSubscriptionsView)
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')
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
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
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"]')
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