29 from wi.tests
import WiTestCase
38 def _test_register_image(self):
42 self.login_testuser(self.TEST_admin_cm)
43 self.login_cm_testuser()
45 driver.get(self.
base_url +
"/admin_cm/images/")
47 self.wait_for_text(
"//table[@id='item-list']/tfoot/tr/td/ul/li/a", [
"Register image"])
49 driver.find_element_by_link_text(
"Register image").click()
51 self.wait_for_text(
"//div[@id='dialog-div']/form/div/fieldset/div/span/label", [
"Name"])
53 name =
"witest_cm_image" + str(random.randint(1, 100000))
54 driver.find_element_by_id(
"id_name").clear()
55 driver.find_element_by_id(
"id_name").send_keys(name)
56 driver.find_element_by_id(
"id_description").clear()
57 driver.find_element_by_id(
"id_description").send_keys(self.iso)
58 driver.find_element_by_id(
"id_path").clear()
59 driver.find_element_by_id(
"id_path").send_keys(self.iso)
60 driver.find_element_by_css_selector(
"button.ok-button.mid_button").click()
62 self.wait_for_message([
"You have successfully added an image."])
64 driver.find_element_by_link_text(
"Logout from CM").click()
65 driver.find_element_by_link_text(
"Logout").click()
69 def _test_register_image_empty(self):
73 self.login_testuser(self.TEST_admin_cm)
74 self.login_cm_testuser()
76 driver.get(self.
base_url +
"/admin_cm/images/")
78 self.wait_for_text(
"//table[@id='item-list']/tfoot/tr/td/ul/li/a", [
"Register image"])
80 driver.find_element_by_link_text(
"Register image").click()
82 self.wait_for_text(
"//div[@id='dialog-div']/form/div/fieldset/div/span/label", [
"Name"])
84 driver.find_element_by_id(
"id_name").clear()
85 driver.find_element_by_id(
"id_description").clear()
86 driver.find_element_by_id(
"id_path").clear()
87 driver.find_element_by_css_selector(
"button.ok-button.mid_button").click()
88 self.wait_for_text(
"//div[@id='dialog-div']/form/div/fieldset/div/ul/li", [
"This field is required."])
89 self.wait_for_text(
"//div[@id='dialog-div']/form/div/fieldset[2]/div[2]/ul/li", [
"This field is required."])
90 driver.find_element_by_css_selector(
"button.cancel-button.mid_button").click()
92 driver.find_element_by_link_text(
"Logout from CM").click()
93 driver.find_element_by_link_text(
"Logout").click()
95 def _test_edit_image(self, name):
99 self.login_testuser(self.TEST_admin_cm)
100 self.login_cm_testuser()
102 driver.get(self.
base_url +
"/admin_cm/images/")
104 self.wait_for_text(
"//table[@id='item-list']/tbody", [name])
106 self.menu_click(
"Name", name,
"Edit", {
"dict": {
"Size":
"B"},
"path":
"//table[@id='item-list']/tbody"})
108 self.wait_for_text(
"//div[@id='dialog-div']/form/div/fieldset/div/span/label", [
"Name"])
110 newname =
"new_witest_cm_image" + str(random.randint(1, 100000))
111 driver.find_element_by_id(
"id_name").clear()
112 driver.find_element_by_id(
"id_name").send_keys(newname)
113 driver.find_element_by_css_selector(
"button.ok-button.mid_button").click()
115 self.wait_for_message([
"You have successfully edited selected image."])
117 driver.find_element_by_link_text(
"Logout from CM").click()
118 driver.find_element_by_link_text(
"Logout").click()
122 def _test_edit_image_empty(self, name):
126 self.login_testuser(self.TEST_admin_cm)
127 self.login_cm_testuser()
129 driver.get(self.
base_url +
"/admin_cm/images/")
131 self.wait_for_text(
"//table[@id='item-list']/tbody", [name])
133 self.menu_click(
"Name", name,
"Edit", {
"dict": {
"Size":
"B"},
"path":
"//table[@id='item-list']/tbody"})
135 self.wait_for_text(
"//div[@id='dialog-div']/form/div/fieldset/div/span/label", [
"Name"])
137 driver.find_element_by_id(
"id_name").clear()
138 driver.find_element_by_id(
"id_description").clear()
139 driver.find_element_by_css_selector(
"button.ok-button.mid_button").click()
140 self.wait_for_text(
"//div[@id='dialog-div']/form/div/fieldset/div/ul/li", [
"This field is required."])
141 driver.find_element_by_css_selector(
"button.cancel-button.mid_button").click()
143 driver.find_element_by_link_text(
"Logout from CM").click()
144 driver.find_element_by_link_text(
"Logout").click()
146 def _test_copy_image(self, name):
150 self.login_testuser(self.TEST_admin_cm)
151 self.login_cm_testuser()
153 driver.get(self.
base_url +
"/admin_cm/images/")
155 self.wait_for_text(
"//table[@id='item-list']/tbody", [name])
157 self.menu_click(
"Name", name,
"Copy", {
"dict": {
"Size":
"B"},
"path":
"//table[@id='item-list']/tbody"})
159 self.wait_for_text(
"//div[@id='dialog-div']/form/div/fieldset/div/span/label", [
"User"])
161 driver.find_element_by_css_selector(
"button.ok-button.mid_button").click()
163 self.wait_for_message([
"copied."])
165 driver.find_element_by_link_text(
"Logout from CM").click()
166 driver.find_element_by_link_text(
"Logout").click()
169 def _test_remove_image(self, name, fail=True, column="Name"):
173 self.login_testuser(self.TEST_admin_cm)
174 self.login_cm_testuser()
176 driver.get(self.
base_url +
"/admin_cm/images/")
178 if self.wait_for_text(
"//table[@id='item-list']/tbody", [name], fail=fail) ==
False:
179 driver.find_element_by_link_text(
"Logout from CM").click()
180 driver.find_element_by_link_text(
"Logout").click()
183 self.menu_click(column, name,
"Delete")
185 self.wait_for_text(
"//div[@id='dialog-div']/p", [
"Do you want to delete image"])
187 driver.find_element_by_css_selector(
"button.ok-button.mid_button").click()
189 self.wait_for_message([
"You have successfully deleted image"])
191 driver.find_element_by_link_text(
"Logout from CM").click()
192 driver.find_element_by_link_text(
"Logout").click()
197 def _test_public_image(self, name):
201 self.login_testuser(self.TEST_admin_cm)
202 self.login_cm_testuser()
204 driver.get(self.
base_url +
"/admin_cm/images/")
206 self.wait_for_text(
"//table[@id='item-list']/tbody", [name])
208 self.menu_click(
"Name", name,
"Move to public images", {
"dict": {
"Size":
"B"},
"path":
"//table[@id='item-list']/tbody"})
210 self.wait_for_text(
"//div[@id='dialog-div']/p", [
"Do you want to make image"])
212 driver.find_element_by_css_selector(
"button.ok-button.mid_button").click()
214 self.wait_for_message([
"You have successfully changed type of image"])
216 driver.find_element_by_link_text(
"Logout from CM").click()
217 driver.find_element_by_link_text(
"Logout").click()
219 def _test_private_image(self, name):
223 self.login_testuser(self.TEST_admin_cm)
224 self.login_cm_testuser()
226 driver.get(self.
base_url +
"/admin_cm/images/")
228 self.wait_for_text(
"//table[@id='item-list']/tbody", [name])
230 self.menu_click(
"Name", name,
"Move to private images", {
"dict": {
"Size":
"B"},
"path":
"//table[@id='item-list']/tbody"})
232 self.wait_for_text(
"//div[@id='dialog-div']/p", [
"Do you want to make image"])
234 driver.find_element_by_css_selector(
"button.ok-button.mid_button").click()
236 self.wait_for_message([
"You have successfully changed type of image"])
238 driver.find_element_by_link_text(
"Logout from CM").click()
239 driver.find_element_by_link_text(
"Logout").click()
241 def _test_edit_disk(self, name):
245 self.login_testuser(self.TEST_admin_cm)
246 self.login_cm_testuser()
248 driver.get(self.
base_url +
"/admin_cm/disks/")
250 self.wait_for_text(
"//table[@id='item-list']/tbody", [name])
252 self.menu_click(
"Name", name,
"Edit", {
"dict": {
"Size":
"B"},
"path":
"//table[@id='item-list']/tbody"})
254 self.wait_for_text(
"//div[@id='dialog-div']/form/div/fieldset/div/span/label", [
"Disk name"])
256 newname =
"new_witest_disk" + str(random.randint(1, 100000))
257 driver.find_element_by_id(
"id_name").clear()
258 driver.find_element_by_id(
"id_name").send_keys(newname)
259 driver.find_element_by_css_selector(
"button.ok-button.mid_button").click()
261 self.wait_for_message([
"You have successfully edited selected disk."])
263 driver.find_element_by_link_text(
"Logout from CM").click()
264 driver.find_element_by_link_text(
"Logout").click()
268 def _test_edit_disk_empty(self, name):
272 self.login_testuser(self.TEST_admin_cm)
273 self.login_cm_testuser()
275 driver.get(self.
base_url +
"/admin_cm/disks/")
277 self.wait_for_text(
"//table[@id='item-list']/tbody", [name])
279 self.menu_click(
"Name", name,
"Edit", {
"dict": {
"Size":
"B"},
"path":
"//table[@id='item-list']/tbody"})
281 self.wait_for_text(
"//div[@id='dialog-div']/form/div/fieldset/div/span/label", [
"Disk name"])
283 driver.find_element_by_id(
"id_name").clear()
284 driver.find_element_by_id(
"id_description").clear()
285 driver.find_element_by_css_selector(
"button.ok-button.mid_button").click()
286 self.wait_for_text(
"//div[@id='dialog-div']/form/div/fieldset/div/ul/li", [
"This field is required."])
287 driver.find_element_by_css_selector(
"button.cancel-button.mid_button").click()
289 driver.find_element_by_link_text(
"Logout from CM").click()
290 driver.find_element_by_link_text(
"Logout").click()
292 def _test_copy_disk(self, name):
296 self.login_testuser(self.TEST_admin_cm)
297 self.login_cm_testuser()
299 driver.get(self.
base_url +
"/admin_cm/disks/")
301 self.wait_for_text(
"//table[@id='item-list']/tbody", [name])
303 self.menu_click(
"Name", name,
"Copy", {
"dict": {
"Size":
"B"},
"path":
"//table[@id='item-list']/tbody"})
305 self.wait_for_text(
"//div[@id='dialog-div']/form/div/fieldset/div/span/label", [
"User"])
307 driver.find_element_by_css_selector(
"button.ok-button.mid_button").click()
309 self.wait_for_message([
"copied."])
311 driver.find_element_by_link_text(
"Logout from CM").click()
312 driver.find_element_by_link_text(
"Logout").click()
315 def _test_remove_disk(self, name, column="Name", fail=True):
319 self.login_testuser(self.TEST_admin_cm)
320 self.login_cm_testuser()
322 driver.get(self.
base_url +
"/admin_cm/disks/")
324 if self.wait_for_text(
"//table[@id='item-list']/tbody", [name], fail=fail) ==
False:
325 driver.find_element_by_link_text(
"Logout from CM").click()
326 driver.find_element_by_link_text(
"Logout").click()
329 self.menu_click(column, name,
"Delete")
331 self.wait_for_text(
"//div[@id='dialog-div']/p", [
"Do you want to delete disk"])
333 driver.find_element_by_css_selector(
"button.ok-button.mid_button").click()
335 self.wait_for_message([
"You have successfully deleted disk volume"])
337 driver.find_element_by_link_text(
"Logout from CM").click()
338 driver.find_element_by_link_text(
"Logout").click()
343 def _test_edit_iso(self, name):
347 self.login_testuser(self.TEST_admin_cm)
348 self.login_cm_testuser()
350 driver.get(self.
base_url +
"/admin_cm/iso/")
352 self.wait_for_text(
"//table[@id='item-list']/tbody", [name])
354 self.menu_click(
"Name", name,
"Edit", {
"dict": {
"Size":
"B"},
"path":
"//table[@id='item-list']/tbody"})
356 self.wait_for_text(
"//div[@id='dialog-div']/form/div/fieldset/div/span/label", [
"ISO image name"])
358 newname =
"new_witest_iso" + str(random.randint(1, 100000))
359 driver.find_element_by_id(
"id_name").clear()
360 driver.find_element_by_id(
"id_name").send_keys(newname)
361 driver.find_element_by_css_selector(
"button.ok-button.mid_button").click()
363 self.wait_for_message([
"You have successfully edited selected ISO image."])
365 driver.find_element_by_link_text(
"Logout from CM").click()
366 driver.find_element_by_link_text(
"Logout").click()
370 def _test_edit_iso_empty(self, name):
374 self.login_testuser(self.TEST_admin_cm)
375 self.login_cm_testuser()
377 driver.get(self.
base_url +
"/admin_cm/iso/")
379 self.wait_for_text(
"//table[@id='item-list']/tbody", [name])
381 self.menu_click(
"Name", name,
"Edit", {
"dict": {
"Size":
"B"},
"path":
"//table[@id='item-list']/tbody"})
383 self.wait_for_text(
"//div[@id='dialog-div']/form/div/fieldset/div/span/label", [
"ISO image name"])
385 driver.find_element_by_id(
"id_name").clear()
386 driver.find_element_by_id(
"id_description").clear()
387 driver.find_element_by_css_selector(
"button.ok-button.mid_button").click()
388 self.wait_for_text(
"//div[@id='dialog-div']/form/div/fieldset/div/ul/li", [
"This field is required."])
389 driver.find_element_by_css_selector(
"button.cancel-button.mid_button").click()
391 driver.find_element_by_link_text(
"Logout from CM").click()
392 driver.find_element_by_link_text(
"Logout").click()
394 def _test_copy_iso(self, name):
398 self.login_testuser(self.TEST_admin_cm)
399 self.login_cm_testuser()
401 driver.get(self.
base_url +
"/admin_cm/iso/")
403 self.wait_for_text(
"//table[@id='item-list']/tbody", [name])
405 self.menu_click(
"Name", name,
"Copy", {
"dict": {
"Size":
"B"},
"path":
"//table[@id='item-list']/tbody"})
407 self.wait_for_text(
"//div[@id='dialog-div']/form/div/fieldset/div/span/label", [
"User"])
409 driver.find_element_by_css_selector(
"button.ok-button.mid_button").click()
411 self.wait_for_message([
"copied."])
413 driver.find_element_by_link_text(
"Logout from CM").click()
414 driver.find_element_by_link_text(
"Logout").click()
417 def _test_remove_iso(self, name, column="Name", fail=True):
421 self.login_testuser(self.TEST_admin_cm)
422 self.login_cm_testuser()
424 driver.get(self.
base_url +
"/admin_cm/iso/")
426 if self.wait_for_text(
"//table[@id='item-list']/tbody", [name], fail=fail) ==
False:
427 driver.find_element_by_link_text(
"Logout from CM").click()
428 driver.find_element_by_link_text(
"Logout").click()
431 self.menu_click(column, name,
"Delete")
433 self.wait_for_text(
"//div[@id='dialog-div']/p", [
"Do you want to delete ISO image"])
435 driver.find_element_by_css_selector(
"button.ok-button.mid_button").click()
437 self.wait_for_message([
"You have successfully deleted ISO image"])
439 driver.find_element_by_link_text(
"Logout from CM").click()
440 driver.find_element_by_link_text(
"Logout").click()
452 name = images_test.ImagesTests._test_upload_image_private(self)
465 name = resources_test.ResourcesTests._test_create_disk(self)
472 name = resources_test.ResourcesTests._test_upload_iso(self)
487 name = resources_test.ResourcesTests._test_create_disk(self)
492 name = resources_test.ResourcesTests._test_upload_iso(self)