d76bbb9949
Now horizon ThemableSelectWidget field can not display
the validation error, just make the field keep the old
can temporary fix this. Once horizon fixed,
we can revert it back.
This reverts commit 85fc5e002c
.
Closes-Bug: #1711763
Change-Id: I557d38f739786597a9472c8104e1edf531e9a007
107 lines
6.1 KiB
Python
107 lines
6.1 KiB
Python
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.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.
|
|
|
|
import os
|
|
|
|
PackageDir = os.path.join(os.path.dirname(os.path.realpath(__file__)),
|
|
'MockApp')
|
|
HotPackageDir = os.path.join(os.path.dirname(os.path.realpath(__file__)),
|
|
'HotApp')
|
|
DeployingPackageDir = os.path.join(os.path.dirname(os.path.realpath(__file__)),
|
|
'DeployingApp')
|
|
|
|
CategorySelector = "//a[contains(text(), '{0}')][contains(@class, 'dropdown-toggle')]" # noqa
|
|
EnvAppsCategorySelector = "//*[contains(@id, 'envAppsCategoryBtn')]"
|
|
App = "//div[contains(@class, 'app-list')]//h4[contains(text(), '{0}')]"
|
|
Component = "//div[contains(@id, apps_carousel)]//div[contains(text(), '{0}')]"
|
|
MockAppDescr = "//div[h4[contains(text(), 'MockApp')]]/p"
|
|
AppPackages = u"//tr[@data-display='{0}']"
|
|
AppDetail = "//dl[dt[contains(text(), 'Name')]]/dd"
|
|
TagInDetails = "//div[contains(@class, 'app-meta')]//ul//li[strong[contains(text(), 'Tags')]]" # noqa
|
|
TestImage = "//tr[td[contains(text(), '{0}')]]"
|
|
DeleteImageMeta = TestImage + "//td//button[contains(text(), 'Delete Metadata')]" # noqa
|
|
ImageMeta = "//dl//div[dt[contains(text(), 'murano_image_info')]]/dd"
|
|
More = "//tr[contains(@id, '{0}__row__{1}')]//a[contains(@class, dropdown-toggle) and @href='#']" # noqa
|
|
Status = "//td[contains(text(), '{0}')]"
|
|
EnvStatus = "//tr[contains(@data-display, '{0}')]/td[contains(text(), '{1}')]"
|
|
CellStatus = "//td[contains(@class, 'status_{0}')]"
|
|
Row = "//tr[contains(@id, 'services__row__{0}')]"
|
|
ErrorMessage = '//span[contains(@class, "help-block") and contains(text(), "{0}")]' # noqa
|
|
JsErrorMessage = '//div[contains(@class, "alert-danger") and contains(text(), "{0}")]' # noqa
|
|
EnvAppsCategory = "//div[contains(@class, 'draggable_app')]//div[contains(text(), '{0}')]" # noqa
|
|
PackageCategory = "//select[@name='add_category-categories']/option[text()='{0}']" # noqa
|
|
DatabaseCategory = "select[name='add_category-categories'] > option[value='Databases']" # noqa
|
|
CategoryPackageCount = "//tr[contains(@data-display, '{0}')]/td[contains(text(), '{1}')]" # noqa
|
|
Action = '//a[contains(@class, "murano_action") and contains(text(), "testAction")]' # noqa
|
|
HotFlavorField = '//div[contains(@class, "has-error")]//input'
|
|
EnvCheckbox = "//tr[contains(@data-display, '{0}')]/td[contains(@class, 'multi_select_column')]//div//label" # noqa
|
|
NewEnvRow = "table#environments thead tr.new_env"
|
|
TableSorterByName = "table#environments thead th.tablesorter-header[data-column='1']" # noqa
|
|
ServiceDetail = "//dd[contains(text(), '{0}')]"
|
|
ServiceType = "//table[@id='services']//tbody//tr//td[2][contains(text(), '{0}')]" # noqa
|
|
TableDropdownBtn = "//tr[contains(@data-display, '{0}')]//a[contains(@class, "\
|
|
"'dropdown-toggle')]"
|
|
TableDropdownMenu = "//tr[contains(@data-display, '{0}')]//div[contains("\
|
|
"@class, 'open')]"
|
|
TableDropdownAction = "//tr[contains(@data-display, '{0}')]//button[contains("\
|
|
"text(), '{1}')]"
|
|
|
|
# Buttons
|
|
ButtonSubmit = ".//*[@name='wizard_goto_step'][2]"
|
|
InputSubmit = "//input[@type='submit']"
|
|
NextWizardSubmit = 'div.modal-footer input[value="Next"]'
|
|
CreateWizardSubmit = 'div.modal-footer input[value="Create"]'
|
|
ConfirmDeletion = "//div[@class='modal-footer']//a[contains(text(), 'Delete')]" # noqa
|
|
ConfirmAbandon = "//div[@class='modal-footer']//a[contains(text(), 'Abandon')]" # noqa
|
|
UploadPackage = 'packages__action_upload_package'
|
|
ImportBundle = 'packages__action_import_bundle'
|
|
CreateEnvironment = ".add_env .btn"
|
|
DeployEnvironment = "services__action_deploy_env"
|
|
DeleteEnvironment = "//button[contains(@id, 'action_delete')]"
|
|
DeployEnvironments = ".btn#environments__action_deploy"
|
|
DeployEnvironmentsDisabled = ".btn#environments__action_deploy[disabled]"
|
|
DeleteEnvironments = ".btn#environments__action_delete"
|
|
DeleteEnvironmentsDisabled = ".btn#environments__action_delete[disabled]"
|
|
AbandonEnvironment = "//button[contains(text(), 'Abandon Environment')]"
|
|
AbandonEnvironments = ".btn#environments__action_abandon"
|
|
AbandonEnvironmentsDisabled = ".btn#environments__action_abandon[disabled]"
|
|
ConfirmCreateEnvironment = 'confirm_create_env'
|
|
AddComponent = "services__action_AddApplication"
|
|
AddCategory = "categories__action_add_category"
|
|
DeleteCategory = "//tr[td[contains(text(), '{0}')]]//button[contains(@id, 'action_delete')]" # noqa
|
|
NextBtn = "//tfoot//tr//td//a[contains(@href,'?marker')]"
|
|
PrevBtn = "//tfoot//tr//td//a[contains(@href,'prev_marker')]"
|
|
DeleteComponent = ".btn[id^='services__row_'][id$='__action_delete']"
|
|
DetailDropdownBtn = "form.detail-actions-form a.dropdown-toggle"
|
|
DetailDropdownMenu = "ul.dropdown-menu"
|
|
DeploymentHistoryLogTab = "//ul[contains(@id, 'environment_details')]//"\
|
|
"a[contains(text(), 'Latest Deployment Log')]"
|
|
EnvComponentsTab = "//ul[contains(@id, 'environment_details')]//"\
|
|
"a[contains(text(), 'Components')]"
|
|
DeploymentHistoryLogs = "div#environment_details__env_logs div.reports.logs "\
|
|
"div.report-info"
|
|
PackageFilterDropdownBtn = 'div.table_search > div.themable-select.dropdown >'\
|
|
' button'
|
|
PackageFilterTypeBtn = "a[data-select-value='{0}']"
|
|
PackageFilterInput = 'input[name="packages__filter_packages__q"]'
|
|
PackageFilterBtn = "packages__action_filter_packages"
|
|
|
|
# Panels
|
|
AppCatalog = "//*[@id='main_content']/nav//a[contains(text(), 'App Catalog')]" # noqa
|
|
Browse = AppCatalog + "/following::a[contains(text(), 'Browse')]"
|
|
Manage = AppCatalog + "/following::a[contains(text(), 'Manage')]"
|
|
Applications = AppCatalog + "/following::a[contains(text(), 'Applications')]" # noqa
|
|
AlertInfo = "//*[contains(@class, 'alert-info')][contains(text(), '{0}')]"
|
|
|
|
# Modals
|
|
ModalDialog = ".modal-dialog"
|