airgun.views.product

Module Contents

Classes

CreateDiscoveredReposView

View which represent Discovered Repository section in Repository

ProductsTableView

Base view for Satellite pages

ProductCreateView

Base view for Satellite pages

ProductEditView

Base view for Satellite pages

ProductRepoDiscoveryView

Base view for Satellite pages

ProductTaskDetailsView

Common view for task details screen. Can be found for most of tasks for

ProductSyncPlanView

Base view for Satellite pages

ProductManageHttpProxy

Represents Http Proxy Management page for Products.

ProductAdvancedSync

Represents Advanced Sync page for Products.

ProductVerifyContentChecksum

Represents Verify Content Checksum Alert page for Products.

class airgun.views.product.CreateDiscoveredReposView(parent, logger=None, **kwargs)

View which represent Discovered Repository section in Repository Discovery procedure.

searchbox
table
create_action
fill(values)

Select necessary repo/repos to be added to new or existing product

read()

Reads the contents of the view and presents them as a dictionary.

Returns

A dict of widget_name: widget_read_value where the values are retrieved using the Widget.read().

class airgun.views.product.ProductsTableView(parent, logger=None, **kwargs)

Base view for Satellite pages

title
new
edit
repo_discovery
actions
table
dialog
property is_displayed

Overrides the Widget.is_displayed(). The difference is that if the view does not have the root locator, it assumes it is displayed.

Returns

bool

class airgun.views.product.ProductCreateView(parent, logger=None, **kwargs)

Base view for Satellite pages

breadcrumb
name
label
gpg_key
ssl_ca_cert
ssl_client_cert
ssl_client_key
sync_plan
create_sync_plan
description
submit
property is_displayed

Overrides the Widget.is_displayed(). The difference is that if the view does not have the root locator, it assumes it is displayed.

Returns

bool

class airgun.views.product.ProductEditView(parent, logger=None, **kwargs)

Base view for Satellite pages

class details(parent, logger=None, **kwargs)

Regular primary level Tab.

Usage:

@View.nested
class mytab(SatTab):
    TAB_NAME = 'My Tab'
@View.nested
class subscriptions(SatTab):
    # no need to specify 'TAB_NAME', it will be set to 'Subscriptions'
    # automatically
    pass

Note that TAB_NAME is optional and if it’s absent - capitalized class name is used instead, which is useful for simple tab names like ‘Subscriptions’

name
label
gpg_key
ssl_ca_cert
ssl_client_cert
ssl_client_key
description
repos_count
tasks_count
sync_plan
sync_state
class repositories(parent, logger=None, **kwargs)

Regular primary level Tab.

Usage:

@View.nested
class mytab(SatTab):
    TAB_NAME = 'My Tab'
@View.nested
class subscriptions(SatTab):
    # no need to specify 'TAB_NAME', it will be set to 'Subscriptions'
    # automatically
    pass

Note that TAB_NAME is optional and if it’s absent - capitalized class name is used instead, which is useful for simple tab names like ‘Subscriptions’

table
breadcrumb
actions
dialog
property is_displayed

Overrides the Widget.is_displayed(). The difference is that if the view does not have the root locator, it assumes it is displayed.

Returns

bool

class airgun.views.product.ProductRepoDiscoveryView(parent, logger=None, **kwargs)

Base view for Satellite pages

class discovered_repos(parent, logger=None, **kwargs)

View is a kind of abstract widget that can hold another widgets. Remembers the order, so therefore it can function like a form with defined filling order.

It looks like this:

class Login(View):
    user = SomeInputWidget('user')
    password = SomeInputWidget('pass')
    login = SomeButtonWidget('Log In')

    def a_method(self):
        do_something()

The view is usually instantiated with an instance of widgetastic.browser.Browser, which will then enable resolving of all of the widgets defined.

Parameters
  • parent – A parent View or widgetastic.browser.Browser

  • additional_context – If the view needs some context, for example - you want to check that you are on the page of user XYZ but you can also be on the page for user FOO, then you shall use the additional_context to pass in required variables that will allow you to detect this.

discover_action
cancel_discovery
repos
before_fill(values=None)

After we filled ‘repository type’ and ‘url’ fields, we need to push ‘Discover’ button to get table populated with values. Using before_fill to not define any method explicitly which need to be called and break view.fill() procedure flow

class create_repo(parent, logger=None, **kwargs)

Represent Create Repository page. Depends whether we like create new product or use existing one we use different sets of fields that need to be filled

class ExistingProductForm(parent, logger=None, **kwargs)

View is a kind of abstract widget that can hold another widgets. Remembers the order, so therefore it can function like a form with defined filling order.

It looks like this:

class Login(View):
    user = SomeInputWidget('user')
    password = SomeInputWidget('pass')
    login = SomeButtonWidget('Log In')

    def a_method(self):
        do_something()

The view is usually instantiated with an instance of widgetastic.browser.Browser, which will then enable resolving of all of the widgets defined.

Parameters
  • parent – A parent View or widgetastic.browser.Browser

  • additional_context – If the view needs some context, for example - you want to check that you are on the page of user XYZ but you can also be on the page for user FOO, then you shall use the additional_context to pass in required variables that will allow you to detect this.

product_name
class NewProductForm(parent, logger=None, **kwargs)

View is a kind of abstract widget that can hold another widgets. Remembers the order, so therefore it can function like a form with defined filling order.

It looks like this:

class Login(View):
    user = SomeInputWidget('user')
    password = SomeInputWidget('pass')
    login = SomeButtonWidget('Log In')

    def a_method(self):
        do_something()

The view is usually instantiated with an instance of widgetastic.browser.Browser, which will then enable resolving of all of the widgets defined.

Parameters
  • parent – A parent View or widgetastic.browser.Browser

  • additional_context – If the view needs some context, for example - you want to check that you are on the page of user XYZ but you can also be on the page for user FOO, then you shall use the additional_context to pass in required variables that will allow you to detect this.

product_name
label
gpg_key
product_type
product_content
serve_via_http
verify_ssl
run_procedure
create_repos_table
wait_repo_created()
breadcrumb
repo_type
url
registry_type
username
password
property is_displayed

Overrides the Widget.is_displayed(). The difference is that if the view does not have the root locator, it assumes it is displayed.

Returns

bool

class airgun.views.product.ProductTaskDetailsView(parent, logger=None, **kwargs)

Common view for task details screen. Can be found for most of tasks for various entities like Products, Repositories, Errata etc.

property is_displayed

Overrides the Widget.is_displayed(). The difference is that if the view does not have the root locator, it assumes it is displayed.

Returns

bool

class airgun.views.product.ProductSyncPlanView(parent, logger=None, **kwargs)

Base view for Satellite pages

title
submit
property is_displayed

Overrides the Widget.is_displayed(). The difference is that if the view does not have the root locator, it assumes it is displayed.

Returns

bool

class airgun.views.product.ProductManageHttpProxy(parent, logger=None, **kwargs)

Represents Http Proxy Management page for Products.

class ExistingProductForm(parent, logger=None, **kwargs)

View is a kind of abstract widget that can hold another widgets. Remembers the order, so therefore it can function like a form with defined filling order.

It looks like this:

class Login(View):
    user = SomeInputWidget('user')
    password = SomeInputWidget('pass')
    login = SomeButtonWidget('Log In')

    def a_method(self):
        do_something()

The view is usually instantiated with an instance of widgetastic.browser.Browser, which will then enable resolving of all of the widgets defined.

Parameters
  • parent – A parent View or widgetastic.browser.Browser

  • additional_context – If the view needs some context, for example - you want to check that you are on the page of user XYZ but you can also be on the page for user FOO, then you shall use the additional_context to pass in required variables that will allow you to detect this.

http_proxy
title
http_proxy_policy
proxy_policy
update
property is_displayed

Overrides the Widget.is_displayed(). The difference is that if the view does not have the root locator, it assumes it is displayed.

Returns

bool

class airgun.views.product.ProductAdvancedSync(parent, logger=None, **kwargs)

Represents Advanced Sync page for Products.

title
optimized
complete
task
sync
property is_displayed

Overrides the Widget.is_displayed(). The difference is that if the view does not have the root locator, it assumes it is displayed.

Returns

bool

class airgun.views.product.ProductVerifyContentChecksum(parent, logger=None, **kwargs)

Represents Verify Content Checksum Alert page for Products.

task_alert
property is_displayed

Overrides the Widget.is_displayed(). The difference is that if the view does not have the root locator, it assumes it is displayed.

Returns

bool