29 from wi.tests
import WiTestCase
39 def _test_upload_image_private(self):
43 self.login_testuser(self.TEST_USER)
45 driver.get(self.
base_url +
"/images/images_private/")
47 self.wait_for_text(
"//table[@id='item-list']/tfoot/tr/td/ul/li/a", [
"Upload image"])
49 driver.find_element_by_link_text(
"Upload image").click()
51 self.wait_for_text(
"//div[@id='dialog-div']/p", [
"Please specify image parameters:"])
53 name =
"witest_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([
"Image upload started."])
64 driver.find_element_by_link_text(
"Logout").click()
68 def _test_edit_image_private(self, name):
72 self.login_testuser(self.TEST_USER)
74 driver.get(self.
base_url +
"/images/images_private/")
76 self.wait_for_text(
"//table[@id='item-list']/tbody", [name])
78 self.menu_click(
"Name", name,
"Edit", {
"dict": {
"Size":
"B"},
"path":
"//table[@id='item-list']/tbody"})
80 self.wait_for_text(
"//div[@id='dialog-div']/p", [
"Edit image data"])
82 newname =
"new_witest_image" + str(random.randint(1, 100000))
83 driver.find_element_by_id(
"id_name").clear()
84 driver.find_element_by_id(
"id_name").send_keys(newname)
85 driver.find_element_by_css_selector(
"button.ok-button.mid_button").click()
87 self.wait_for_message([
"You have successfully edited this image."])
89 driver.find_element_by_link_text(
"Logout").click()
94 def _test_remove_image_private(self, name):
98 self.login_testuser(self.TEST_USER)
100 driver.get(self.
base_url +
"/images/images_private/")
102 self.wait_for_text(
"//table[@id='item-list']/tbody", [name])
104 self.menu_click(
"Name", name,
"Delete")
106 self.wait_for_text(
"//div[@id='dialog-div']/p", [
"Do you really want to delete image"])
108 driver.find_element_by_css_selector(
"button.ok-button.mid_button").click()
110 self.wait_for_message([
"You have successfully deleted image"])
112 driver.find_element_by_link_text(
"Logout").click()
114 def _test_create_vm_from_image(self, name):
118 self.login_testuser(self.TEST_USER)
120 driver.get(self.
base_url +
"/images/images_private/")
122 self.wait_for_text(
"//table[@id='item-list']/tbody", [name])
124 self.menu_click(
"Name", name,
"Create virtual machine", {
"dict": {
"Size":
"B"},
"path":
"//table[@id='item-list']/tbody"})
126 self.wait_for_text(
"//div[@id='item-list']/div[2]/table/tbody", [
"small"])
128 self.cell_click(
"Name",
"small",
None, element=
"a",
129 path_head_tds=
"//div[@id='item-list']/div[1]/table/tbody/tr/td",
130 path_body_trs=
"//div[@id='item-list']/div[2]/table/tbody/tr")
132 self.wait_for_text(
"//form[@id='wizard-form']/div[2]/fieldset/div/span/label", [
"Assign IP address"])
134 driver.find_element_by_xpath(
"//div[@id='submit-div']/input").click()
136 self.wait_for_text(
"//form[@id='wizard-form']/div[2]/fieldset/div/span/label", [
"Name"])
138 name =
"witest_vm" + str(random.randint(1, 100000))
139 driver.find_element_by_id(
"id_3-name").clear()
140 driver.find_element_by_id(
"id_3-name").send_keys(name)
142 driver.find_element_by_css_selector(
"input.big_button").click()
144 self.wait_for_message([
"Virtual machine is being created."])
146 driver.find_element_by_link_text(
"Logout").click()
150 def _test_group_image_private(self, name, group_name):
154 self.login_testuser(self.TEST_USER)
156 driver.get(self.
base_url +
"/images/images_private/")
158 self.wait_for_text(
"//table[@id='item-list']/tbody", [name])
160 self.menu_click(
"Name", name,
"Assign to group", {
"dict": {
"Size":
"B"},
"path":
"//table[@id='item-list']/tbody"})
162 self.wait_for_text(
"//div[@id='dialog-div']/p", [
"Enter a name of group for image"])
164 driver.find_element_by_xpath(
"//div[@id='dialog-div']/form/div/fieldset/div/span[2]/a/span").click()
165 driver.find_element_by_xpath(
"//a[contains(text(),'" + group_name +
"')]").click()
167 driver.find_element_by_css_selector(
"button.ok-button.mid_button").click()
169 self.wait_for_message([
"You have successfully assigned image "])
171 driver.find_element_by_link_text(
"Logout").click()
173 def _test_ungroup_image_private(self, name):
177 self.login_testuser(self.TEST_USER)
179 driver.get(self.
base_url +
"/images/images_private/")
181 self.wait_for_text(
"//table[@id='item-list']/tbody", [name])
183 self.menu_click(
"Name", name,
"Move to my images")
185 self.wait_for_text(
"//div[@id='dialog-div']/p", [
"Do you want to make image"])
187 driver.find_element_by_css_selector(
"button.ok-button.mid_button").click()
189 self.wait_for_message([
"You have successfully revoked group's assigment."])
191 driver.find_element_by_link_text(
"Logout").click()
201 vm_test.VMTests._test_destroy_vm(self, vmname)
206 group_name = groups_test.GroupsTests._test_create_group(self)
209 groups_test.GroupsTests._test_remove_group(self, group_name, who=self.TEST_USER)