29 from wi.tests
import WiTestCase
30 import cm_networks_test
37 def _test_upload_iso(self):
41 self.login_testuser(self.TEST_USER)
43 driver.get(self.
base_url +
"/resources/iso/")
45 self.wait_for_text(
"//table[@id='item-list']/tfoot/tr/td/ul/li/a", [
"Upload ISO image"])
47 driver.find_element_by_link_text(
"Upload ISO image").click()
49 self.wait_for_text(
"//div[@id='dialog-div']/p", [
"Please specify ISO image parameters:"])
51 name =
"witest_iso" + str(random.randint(1, 100000))
53 driver.find_element_by_id(
"id_name").clear()
54 driver.find_element_by_id(
"id_name").send_keys(name)
55 driver.find_element_by_id(
"id_description").clear()
56 driver.find_element_by_id(
"id_description").send_keys(self.iso)
57 driver.find_element_by_id(
"id_path").clear()
58 driver.find_element_by_id(
"id_path").send_keys(self.iso)
59 driver.find_element_by_css_selector(
"button.ok-button.mid_button").click()
61 self.wait_for_message([
"ISO image upload started."])
63 driver.find_element_by_link_text(
"Logout").click()
67 def _test_edit_iso(self, name):
71 self.login_testuser(self.TEST_USER)
73 driver.get(self.
base_url +
"/resources/iso/")
75 self.wait_for_text(
"//table[@id='item-list']/tbody", [name])
77 self.menu_click(
"Name", name,
"Edit", {
"dict": {
"Size":
"B"},
"path":
"//table[@id='item-list']/tbody"})
79 self.wait_for_text(
"//div[@id='dialog-div']/p", [
"Edit ISO image data:"])
81 newname =
"new_witest_iso" + str(random.randint(1, 100000))
82 driver.find_element_by_id(
"id_name").clear()
83 driver.find_element_by_id(
"id_name").send_keys(newname)
84 driver.find_element_by_css_selector(
"button.ok-button.mid_button").click()
86 self.wait_for_message([
"ISO image data edited."])
88 driver.find_element_by_link_text(
"Logout").click()
92 def _test_remove_iso(self, name):
96 self.login_testuser(self.TEST_USER)
98 driver.get(self.
base_url +
"/resources/iso/")
100 self.wait_for_text(
"//table[@id='item-list']/tbody", [name])
102 self.menu_click(
"Name", name,
"Delete")
104 self.wait_for_text(
"//div[@id='dialog-div']/p", [
"Do you really want to delete ISO image"])
106 driver.find_element_by_css_selector(
"button.ok-button.mid_button").click()
108 self.wait_for_message([
"You have successfully deleted ISO image"])
110 driver.find_element_by_link_text(
"Logout").click()
113 def _test_create_disk(self):
117 self.login_testuser(self.TEST_USER)
119 driver.get(self.
base_url +
"/resources/disks/")
121 self.wait_for_text(
"//table[@id='item-list']/tfoot/tr/td/ul/li/a", [
"Create new disk"])
123 driver.find_element_by_link_text(
"Create new disk").click()
125 self.wait_for_text(
"//div[@id='dialog-div']/p", [
"Specify disk properties:"])
127 name =
"witest_disk" + str(random.randint(1, 100000))
128 driver.find_element_by_id(
"id_name").clear()
129 driver.find_element_by_id(
"id_name").send_keys(name)
130 driver.find_element_by_id(
"id_description").clear()
131 driver.find_element_by_id(
"id_description").send_keys(
"10 MB")
132 driver.find_element_by_id(
"id_size").clear()
133 driver.find_element_by_id(
"id_size").send_keys(
"10")
134 driver.find_element_by_xpath(
"//form/div/fieldset/div[4]/span[2]/a/span").click()
135 driver.find_element_by_xpath(
"//a[contains(text(),'" +
"virtio" +
"')]").click()
136 driver.find_element_by_css_selector(
"button.ok-button.mid_button").click()
138 self.wait_for_message([
"Disk is being created."])
140 driver.find_element_by_link_text(
"Logout").click()
144 def _test_upload_disk(self):
148 self.login_testuser(self.TEST_USER)
150 driver.get(self.
base_url +
"/resources/disks/")
152 self.wait_for_text(
"//table[@id='item-list']/tfoot/tr/td/ul/li/a", [
"Upload disk"])
154 driver.find_element_by_link_text(
"Upload disk image").click()
156 self.wait_for_text(
"//div[@id='dialog-div']/p", [
"Please specify disk parameters:"])
158 name =
"witest_disk" + str(random.randint(1, 100000))
160 driver.find_element_by_id(
"id_name").clear()
161 driver.find_element_by_id(
"id_name").send_keys(name)
162 driver.find_element_by_id(
"id_description").clear()
163 driver.find_element_by_id(
"id_description").send_keys(self.iso)
164 driver.find_element_by_id(
"id_path").clear()
165 driver.find_element_by_id(
"id_path").send_keys(self.iso)
166 driver.find_element_by_css_selector(
"button.ok-button.mid_button").click()
168 self.wait_for_message([
"Disk upload started."])
170 driver.find_element_by_link_text(
"Logout").click()
174 def _test_edit_disk(self, name, newname):
178 self.login_testuser(self.TEST_USER)
180 driver.get(self.
base_url +
"/resources/disks/")
182 self.wait_for_text(
"//table[@id='item-list']/tbody", [name])
184 self.menu_click(
"Name", name,
"Edit", {
"dict": {
"Size":
"B"},
"path":
"//table[@id='item-list']/tbody"})
186 self.wait_for_text(
"//div[@id='dialog-div']/p", [
"Edit disk data"])
188 driver.find_element_by_id(
"id_name").clear()
189 driver.find_element_by_id(
"id_name").send_keys(newname)
190 driver.find_element_by_css_selector(
"button.ok-button.mid_button").click()
192 self.wait_for_message([
"You have successfully edited selected disk."])
194 driver.find_element_by_link_text(
"Logout").click()
197 def _test_remove_disk(self, name):
201 self.login_testuser(self.TEST_USER)
203 driver.get(self.
base_url +
"/resources/disks/")
205 self.wait_for_text(
"//table[@id='item-list']/tbody", [name])
207 self.menu_click(
"Name", name,
"Delete", {
"dict": {
"Size":
"B"},
"path":
"//table[@id='item-list']/tbody"})
209 self.wait_for_text(
"//div[@id='dialog-div']/p", [
"Do you really want to delete disk volume"])
211 driver.find_element_by_css_selector(
"button.ok-button.mid_button").click()
213 self.wait_for_message([
"You have successfully deleted disk"])
215 driver.find_element_by_link_text(
"Logout").click()
217 def _test_request_network(self):
221 self.login_testuser(self.TEST_USER)
223 driver.get(self.
base_url +
"/resources/networks/")
225 self.wait_for_text(
"//table[@id='item-list']/tfoot/tr/td/ul/li/a", [
"Add a new network"])
227 driver.find_element_by_link_text(
"Add a new network").click()
229 self.wait_for_text(
"//div[@id='dialog-div']/form/div/fieldset/div/span", [
"Network name"])
231 name =
"witest_network" + str(random.randint(1, 100000))
232 driver.find_element_by_id(
"id_name").clear()
233 driver.find_element_by_id(
"id_name").send_keys(name)
234 driver.find_element_by_id(
"id_mask").clear()
235 driver.find_element_by_id(
"id_mask").send_keys(
"28")
236 driver.find_element_by_css_selector(
"button.ok-button.mid_button").click()
238 self.wait_for_message([
"You have successfully added a network"])
240 driver.find_element_by_link_text(
"Logout").click()
244 def _test_release_network(self, name):
248 self.login_testuser(self.TEST_USER)
250 driver.get(self.
base_url +
"/resources/networks/")
252 self.wait_for_text(
"//table[@id='item-list']/tbody", [name])
254 self.cell_click(
"Name", name, element=
"a")
256 self.wait_for_text(
"//div[@id='dialog-div']/p", [
"Do you want to release network"])
258 driver.find_element_by_css_selector(
"button.ok-button.mid_button").click()
260 self.wait_for_message([
"You have successfully released network"])
262 driver.find_element_by_link_text(
"Logout").click()
265 def _test_request_ip(self):
269 self.login_testuser(self.TEST_USER)
271 driver.get(self.
base_url +
"/resources/elastic_ip/")
273 self.wait_for_text(
"//table[@id='item-list']/tfoot/tr/td/ul/li/a", [
"Add a new IP"])
275 driver.find_element_by_link_text(
"Add a new IP").click()
277 self.wait_for_text(
"//div[@id='dialog-div']/p", [
"Do you want to add an IP address?"])
279 driver.find_element_by_css_selector(
"button.ok-button.mid_button").click()
281 self.wait_for_message([
"New IP address has been added."])
283 driver.find_element_by_link_text(
"Logout").click()
286 def _test_release_ip(self):
290 self.login_testuser(self.TEST_USER)
292 driver.get(self.
base_url +
"/resources/elastic_ip/")
294 self.wait_for_text(
"//table[@id='item-list']/tbody", [
"not assigned"])
296 self.cell_click(
"Attached to machine",
"not assigned", element=
"a")
298 self.wait_for_text(
"//div[@id='dialog-div']/p", [
"Do you want to release IP address"])
300 driver.find_element_by_css_selector(
"button.ok-button.mid_button").click()
302 self.wait_for_message([
"has been released."])
304 driver.find_element_by_link_text(
"Logout").click()
308 newname =
"new_witest_disk" + str(random.randint(1, 100000))
318 cm_networks_test.CMNetworksTests._test_add_pool(self)
323 cm_networks_test.CMNetworksTests._test_delete_pool(self)