Backport integration tests fixes from Horizon repo
These fixes were initially proposed at https://review.openstack.org/#/c/215127 but they weren't merged by the time sahara-dashboard code was excised from Horizon repo. Change-Id: I1640fdc1cbe95df9e7980508f7e7c97df873766a
This commit is contained in:
parent
c6024d2b5d
commit
0d656857da
|
@ -48,6 +48,8 @@ class RegisterImage(tables.LinkAction):
|
|||
|
||||
|
||||
class UnregisterImages(tables.DeleteAction):
|
||||
name = "unregister"
|
||||
|
||||
@staticmethod
|
||||
def action_present(count):
|
||||
return ungettext_lazy(
|
||||
|
|
|
@ -91,7 +91,7 @@ class DataProcessingImageRegistryTests(test.TestCase):
|
|||
api.sahara.image_unregister(IsA(http.HttpRequest), image.id)
|
||||
self.mox.ReplayAll()
|
||||
|
||||
form_data = {'action': 'image_registry__delete__%s' % image.id}
|
||||
form_data = {'action': 'image_registry__unregister__%s' % image.id}
|
||||
res = self.client.post(INDEX_URL, form_data)
|
||||
|
||||
self.assertNoFormErrors(res)
|
||||
|
|
|
@ -27,7 +27,7 @@ LOG = logging.getLogger(__name__)
|
|||
|
||||
|
||||
class CreateJobBinary(tables.LinkAction):
|
||||
name = "create_job_binary"
|
||||
name = "create"
|
||||
verbose_name = _("Create Job Binary")
|
||||
url = "horizon:project:data_processing.job_binaries:create-job-binary"
|
||||
classes = ("ajax-modal",)
|
||||
|
|
|
@ -24,14 +24,14 @@ class ImageregistryPage(basepage.BaseNavigationPage):
|
|||
_register_form_locator = (by.By.CSS_SELECTOR, 'div.modal-dialog')
|
||||
|
||||
IMAGE_TABLE_NAME = "image_registry"
|
||||
IMAGE_TABLE_ACTIONS = ("register_image", "unregister_images")
|
||||
IMAGE_TABLE_ACTIONS = ("register", "unregister")
|
||||
IMAGE_TABLE_ROW_ACTIONS = {
|
||||
tables.ComplexActionRowRegion.PRIMARY_ACTION: "edit_tags",
|
||||
tables.ComplexActionRowRegion.SECONDARY_ACTIONS: ("unregister_image",)
|
||||
}
|
||||
TABLE_IMAGE_COLUMN = 0
|
||||
|
||||
REGISTER_FORM_IMAGE = "image"
|
||||
REGISTER_FORM_IMAGE = "image_id"
|
||||
REGISTER_FORM_USER_NAME = "user_name"
|
||||
REGISTER_FORM_DESCRIPTION = "description"
|
||||
REGISTER_FORM_FIELDS = (REGISTER_FORM_IMAGE, REGISTER_FORM_USER_NAME,
|
||||
|
@ -69,15 +69,17 @@ class ImageregistryPage(basepage.BaseNavigationPage):
|
|||
|
||||
def unregister_image(self, name):
|
||||
self._get_row_with_image_name(name).mark()
|
||||
self.image_table.unregister_images.click()
|
||||
self.image_table.unregister.click()
|
||||
self.unregister_form.submit.click()
|
||||
self.wait_till_popups_disappear()
|
||||
|
||||
def register_image(self, image, user_name, description):
|
||||
self.image_table.register_image.click()
|
||||
self.register_form.image.text = image
|
||||
self.image_table.register.click()
|
||||
self.register_form.image_id.text = image
|
||||
self.register_form.user_name.text = user_name
|
||||
self.register_form.description.text = description
|
||||
self.register_form.submit.click()
|
||||
self.wait_till_popups_disappear()
|
||||
|
||||
def wait_until_image_registered(self, name):
|
||||
self._wait_until(lambda x: self.is_image_registered(name))
|
||||
|
|
|
@ -9,7 +9,6 @@
|
|||
# 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 copy
|
||||
|
||||
from selenium.webdriver.common import by
|
||||
|
||||
|
@ -26,23 +25,23 @@ class JobbinariesPage(basepage.BaseNavigationPage):
|
|||
(by.By.CSS_SELECTOR, 'div.modal-dialog')
|
||||
|
||||
JOB_BINARIES_TABLE_NAME = "job_binaries"
|
||||
JOB_BINARIES_TABLE_ACTIONS = ("create_job_binary", "delete_job_binaries")
|
||||
JOB_BINARIES_TABLE_ACTIONS = ("create", "delete")
|
||||
JOB_BINARIES_ROW_ACTIONS = {
|
||||
tables.ComplexActionRowRegion.PRIMARY_ACTION: "delete_job_binary",
|
||||
tables.ComplexActionRowRegion.SECONDARY_ACTIONS:
|
||||
("download_job_binary",)
|
||||
}
|
||||
|
||||
BINARY_NAME = "name"
|
||||
BINARY_STORAGE_TYPE = "storage_type"
|
||||
BINARY_URL = "url"
|
||||
INTERNAL_BINARY = "internal_binary"
|
||||
BINARY_PATH = "upload_file"
|
||||
SCRIPT_NAME = "script_name"
|
||||
SCRIPT_TEXT = "script_text"
|
||||
USERNAME = "username"
|
||||
PASSWORD = "password"
|
||||
DESCRIPTION = "description"
|
||||
BINARY_NAME = "job_binary_name"
|
||||
BINARY_STORAGE_TYPE = "job_binary_type"
|
||||
BINARY_URL = "job_binary_url"
|
||||
INTERNAL_BINARY = "job_binary_internal"
|
||||
BINARY_PATH = "job_binary_file"
|
||||
SCRIPT_NAME = "job_binary_script_name"
|
||||
SCRIPT_TEXT = "job_binary_script"
|
||||
USERNAME = "job_binary_username"
|
||||
PASSWORD = "job_binary_password"
|
||||
DESCRIPTION = "job_binary_description"
|
||||
|
||||
CREATE_BINARY_FORM_FIELDS = (
|
||||
BINARY_NAME,
|
||||
|
@ -78,8 +77,7 @@ class JobbinariesPage(basepage.BaseNavigationPage):
|
|||
self.conf, src_elem,
|
||||
self.JOB_BINARIES_TABLE_NAME,
|
||||
self.JOB_BINARIES_TABLE_ACTIONS,
|
||||
self.JOB_BINARIES_ROW_ACTIONS
|
||||
)
|
||||
self.JOB_BINARIES_ROW_ACTIONS)
|
||||
|
||||
@property
|
||||
def create_job_binary_form(self):
|
||||
|
@ -95,17 +93,16 @@ class JobbinariesPage(basepage.BaseNavigationPage):
|
|||
def delete_job_binary(self, name):
|
||||
row = self._get_row_with_job_binary_name(name)
|
||||
row.mark()
|
||||
self.job_binaries_table.delete_job_binaries.click()
|
||||
self.job_binaries_table.delete.click()
|
||||
self.confirm_delete_job_binaries_form.submit.click()
|
||||
self.wait_till_popups_disappear()
|
||||
|
||||
def create_job_binary(self, job_data):
|
||||
self.job_binaries_table.create.click()
|
||||
|
||||
def create_job_binary(self, name, storage_type, url, internal_binary,
|
||||
upload_file, script_name, script_text, username,
|
||||
password, description):
|
||||
self.job_binaries_table.create_job_binary.click()
|
||||
job_data = copy.copy(locals())
|
||||
del job_data["self"]
|
||||
self.create_job_binary_form.set_field_values(job_data)
|
||||
self.create_job_binary_form.submit.click()
|
||||
self.wait_till_popups_disappear()
|
||||
|
||||
def is_job_binary_present(self, name):
|
||||
return bool(self._get_row_with_job_binary_name(name))
|
||||
|
|
Loading…
Reference in New Issue