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:
Timur Sufiev 2015-12-04 21:15:40 +03:00
parent c6024d2b5d
commit 0d656857da
5 changed files with 29 additions and 28 deletions

View File

@ -48,6 +48,8 @@ class RegisterImage(tables.LinkAction):
class UnregisterImages(tables.DeleteAction):
name = "unregister"
@staticmethod
def action_present(count):
return ungettext_lazy(

View File

@ -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)

View File

@ -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",)

View File

@ -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))

View File

@ -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))