示例#1
0
from pom import ui
from selenium.webdriver.common.by import By

from stepler.horizon.app import ui as _ui


@ui.register_ui(
    item_update_volume_status=ui.UI(
        By.CSS_SELECTOR, '*[id*="action_update_status"]'),
    item_migrate_volume=ui.UI(By.CSS_SELECTOR, '[id$="action_migrate"]'))
class DropdownMenu(_ui.DropdownMenu):
    """Dropdown menu for admin volume row."""


@ui.register_ui(
    checkbox=_ui.CheckBox(By.CSS_SELECTOR, 'input[type="checkbox"]'),
    dropdown_menu=DropdownMenu())
class RowVolume(_ui.Row):
    """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
示例#2
0
from stepler.horizon.app import ui as _ui

from ..base import PageBase
from ..instances.page_instances import FormLaunchInstance
from ..volumes.tab_volumes import FormCreateVolume


@ui.register_ui(item_create_volume=ui.UI(
    By.CSS_SELECTOR, '[id$="action_create_volume_from_image"]'),
                item_update_metadata=ui.UI(By.CSS_SELECTOR,
                                           '[id$="action_update_metadata"]'))
class DropdownMenu(_ui.DropdownMenu):
    """Dropdown menu for image row."""


@ui.register_ui(checkbox=_ui.CheckBox(By.CSS_SELECTOR,
                                      'input[type="checkbox"]'),
                dropdown_menu=DropdownMenu(),
                link_image=ui.Link(By.CSS_SELECTOR, 'td > a'))
class RowImage(_ui.Row):
    """Row with image in images table."""

    transit_statuses = ('Queued', 'Saving')


class TableImages(_ui.Table):
    """Images table."""

    columns = {'name': 2, 'type': 3, 'status': 4, 'format': 7}
    row_cls = RowImage

示例#3
0
from selenium.webdriver.common.by import By

from stepler.horizon.app import ui as _ui

from .base import PageBase


@ui.register_ui(item_modify_access=ui.UI(By.CSS_SELECTOR,
                                         '[id$="action_projects"]'),
                item_update_metadata=ui.UI(By.CSS_SELECTOR,
                                           '[id$="action_update_metadata"]'))
class DropdownMenu(_ui.DropdownMenu):
    """Dropdown menu for flavor row."""


@ui.register_ui(checkbox=_ui.CheckBox(By.CSS_SELECTOR,
                                      'input[type="checkbox"]'),
                dropdown_menu=DropdownMenu())
class RowFlavor(_ui.Row):
    """Row with flavor in flavors table."""


class TableFlavors(_ui.Table):
    """Flavors table."""

    columns = {'name': 2}
    row_cls = RowFlavor


@ui.register_ui(field_name=ui.TextField(By.NAME, 'name'),
                field_ram=ui.IntegerField(By.NAME, 'memory_mb'),
                field_root_disk=ui.IntegerField(By.NAME, 'disk_gb'),
示例#4
0
from selenium.webdriver.common.by import By

from stepler.horizon.app import ui as _ui

from .base import PageBase


@ui.register_ui(
    item_edit=ui.UI(By.CSS_SELECTOR, '[id$="action_update"]'),
    item_delete=ui.UI(By.CSS_SELECTOR, '[id$="action_delete"]'))
class DropdownMenu(_ui.DropdownMenu):
    """Dropdown menu for projects row."""


@ui.register_ui(
    checkbox=_ui.CheckBox(By.CSS_SELECTOR, 'input[type="checkbox"]'),
    dropdown_menu=DropdownMenu(),
    link_project=ui.UI(By.CSS_SELECTOR, 'td[data-cell-name="name"] a'))
class RowProject(_ui.Row):
    """Project row of projects table."""


class TableProjects(_ui.Table):
    """Projects table."""

    columns = {'name': 2, 'enabled': 6}
    row_cls = RowProject


@ui.register_ui(field_name=ui.TextField(By.NAME, 'name'))
class FormCreateProject(_ui.Form):
示例#5
0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied.
# 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 .base import PageBase


@ui.register_ui(checkbox_public=_ui.CheckBox(By.NAME, 'public'),
                field_name=ui.TextField(By.NAME, 'name'))
class FormCreateContainer(_ui.Form):
    """Form to create container."""


@ui.register_ui(
    button_delete_container=ui.Button(By.CSS_SELECTOR,
                                      '[ng-click*="deleteContainer"]'),
    label_created_date=ui.UI(By.CSS_SELECTOR,
                             '.hz-object-timestamp .hz-object-val'),
    label_objects_count=ui.UI(By.CSS_SELECTOR,
                              '.hz-object-count .hz-object-val'),
    label_size=ui.UI(By.CSS_SELECTOR, '.hz-object-size .hz-object-val'),
    link_public_url=ui.Link(By.CSS_SELECTOR,
                            '.hz-object-link a[ng-show*="public_url"]'))
示例#6
0
文件: users.py 项目: Mirantis/stepler
from selenium.webdriver.common.by import By

from stepler.horizon.app import ui as _ui

from .base import PageBase


@ui.register_ui(item_change_password=ui.UI(By.CSS_SELECTOR,
                                           '*[id*="action_change_password"]'),
                item_toggle_user=ui.UI(By.CSS_SELECTOR,
                                       '[id$="action_toggle"]'))
class DropdownMenu(_ui.DropdownMenu):
    """Dropdown menu for user row."""


@ui.register_ui(checkbox=_ui.CheckBox(By.CSS_SELECTOR,
                                      'input[name="object_ids"]'),
                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(field_name=ui.TextField(By.NAME, 'name'),
                field_password=ui.TextField(By.NAME, 'password'),
                field_confirm_password=ui.TextField(By.NAME,
示例#7
0
from pom import ui
from selenium.webdriver.common.by import By

from stepler.horizon.app import ui as _ui

from ..base import PageBase


@ui.register_ui(item_add_subnet=ui.UI(By.CSS_SELECTOR,
                                      '[id$="action_subnet"]'))
class DropdownMenu(_ui.DropdownMenu):
    """Dropdown menu for network row."""


@ui.register_ui(checkbox=_ui.CheckBox(By.CSS_SELECTOR,
                                      'input[type="checkbox"]'),
                dropdown_menu=DropdownMenu())
class RowNetwork(_ui.Row):
    """Row with network in networks table."""


class TableNetworks(_ui.Table):
    """Networks table."""

    columns = {'name': 2, 'shared': 4}
    row_cls = RowNetwork


@ui.register_ui(button_next=ui.Button(By.CSS_SELECTOR, '.button-next'),
                checkbox_create_subnet=_ui.CheckBox(By.NAME, 'with_subnet'),
                checkbox_shared=_ui.CheckBox(By.NAME, 'shared'),
示例#8
0
from ..base import PageBase


@ui.register_ui(item_suspend_stack=ui.UI(By.CSS_SELECTOR,
                                         '*[id$="action_suspend"]'),
                item_resume_stack=ui.UI(By.CSS_SELECTOR,
                                        '*[id$="action_resume"]'),
                item_change_template=ui.UI(By.CSS_SELECTOR,
                                           '*[id$="action_edit"]'),
                item_delete_stack=ui.UI(By.CSS_SELECTOR,
                                        '*[id$="action_delete"]'))
class DropdownMenu(_ui.DropdownMenu):
    """Dropdown menu for stack row."""


@ui.register_ui(checkbox=_ui.CheckBox(By.CSS_SELECTOR,
                                      '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'),
示例#9
0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied.
# 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 ..base import PageBase


@ui.register_ui(checkbox=_ui.CheckBox(By.CSS_SELECTOR,
                                      'input[type="checkbox"]'),
                dropdown_menu=_ui.DropdownMenu(),
                link_network=ui.UI(By.CSS_SELECTOR, 'td.anchor > a'))
class RowNetwork(_ui.Row):
    """Row with network in networks table."""


class TableNetworks(_ui.Table):
    """Networks table."""

    columns = {'name': 3}
    row_cls = RowNetwork


@ui.register_ui(checkbox_shared=_ui.CheckBox(By.NAME, 'shared'),
                field_name=ui.TextField(By.NAME, 'name'))
示例#10
0
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied.
# 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 .base import PageBase


@ui.register_ui(
    checkbox_public=_ui.CheckBox(By.NAME, 'public'),
    field_name=ui.TextField(By.NAME, 'name'))
class FormCreateContainer(_ui.Form):
    """Form to create container."""


@ui.register_ui(
    button_delete_container=ui.Button(
        By.CSS_SELECTOR, '[ng-click*="deleteContainer"]'),
    label_created_date=ui.UI(
        By.CSS_SELECTOR, '.hz-object-timestamp .hz-object-val'),
    label_objects_count=ui.UI(
        By.CSS_SELECTOR, '.hz-object-count .hz-object-val'),
    label_size=ui.UI(
        By.CSS_SELECTOR, '.hz-object-size .hz-object-val'),
    link_public_url=ui.Link(