virt-manager/tests/uitests/createvol.py

61 lines
2.0 KiB
Python

# This work is licensed under the GNU GPLv2 or later.
# See the COPYING file in the top-level directory.
from tests.uitests import utils as uiutils
class CreateVol(uiutils.UITestCase):
"""
UI tests for the createvol wizard
"""
##############
# Test cases #
##############
def testCreateVol(self):
# Open the createnet dialog
hostwin = self._open_host_window("Storage")
poolcell = hostwin.find("default-pool", "table cell")
poolcell.click()
hostwin.find("vol-new", "push button").click()
win = self.app.root.find(
"Add a Storage Volume", "frame")
# Create a default qcow2 volume
newname = "a-newvol"
finish = win.find("Finish", "push button")
name = win.find("Name:", "text")
name.text = newname
win.find("Max Capacity:", "spin button").text = "10.5"
finish.click()
# Delete it
vollist = hostwin.find("vol-list", "table")
volcell = vollist.find(newname + ".qcow2")
volcell.click()
hostwin.find("vol-refresh", "push button").click()
hostwin.find("vol-delete", "push button").click()
alert = self.app.root.find("vmm dialog", "alert")
alert.find_fuzzy("permanently delete the volume", "label")
alert.find("Yes", "push button").click()
uiutils.check_in_loop(lambda: volcell.dead)
# Create a raw volume too
hostwin.find("vol-new", "push button").click()
uiutils.check_in_loop(lambda: win.active)
newname = "a-newvol.raw"
name.text = newname
combo = win.find("Format:", "combo box")
combo.click()
combo.find("raw", "menu item").click()
win.find("Allocation:", "spin button").text = "0.5"
finish.click()
vollist.find(newname)
# Ensure host window closes fine
hostwin.keyCombo("<ctrl>w")
uiutils.check_in_loop(lambda: not hostwin.showing and
not hostwin.active)