From d7107c26227bbc6f396ccef6ffda015e79dd3e5c Mon Sep 17 00:00:00 2001 From: yunmingyang Date: Mon, 20 Feb 2023 05:30:47 +0800 Subject: [PATCH] test: add a test that creating VMs until no default name generated and checking --- test/check-machines-create | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/test/check-machines-create b/test/check-machines-create index 837fbba25..2eb64ed58 100755 --- a/test/check-machines-create +++ b/test/check-machines-create @@ -21,6 +21,7 @@ import contextlib import math import os import re +import string import time import xml.etree.ElementTree as ET from datetime import datetime @@ -253,6 +254,9 @@ class TestMachinesCreate(machineslib.VirtualMachinesCase): dialog.cancel() def testCreateNameGeneration(self): + m = self.machine + b = self.browser + config = TestMachinesCreate.TestCreateConfig runner = TestMachinesCreate.CreateVmRunner(self) @@ -304,6 +308,38 @@ class TestMachinesCreate(machineslib.VirtualMachinesCase): create_and_run=False), check_env_empty=False) + # Create VMs until no default generated name + for v in string.ascii_uppercase: + vm_name = predicted_name + v + vm_path = "/tmp/" + vm_name + + m.execute(f"touch {vm_path}") + m.execute( + "virt-install --connect system" + f" --name {vm_name}" + f" --os-variant {config.FEDORA_28_SHORTID}" + f" --disk {vm_path}" + " --memory 1 --wait -1 --print-xml > /tmp/xml;" + " virsh define /tmp/xml") + b.wait_visible(f"#vm-{vm_name}-system-name") + + self.addCleanup(self.machine.execute, f"virsh undefine {vm_name}") + + b.click("#create-new-vm") + b.wait_visible("#create-vm-dialog") + b.wait_attr("#vm-name", "placeholder", "Unique name") + + b.click("#os-select-group > div button") + b.click(f"#os-select li:contains('{config.FEDORA_28}') button") + b.wait_attr("#os-select-group input", "value", config.FEDORA_28) + + b.click("#create-and-edit") + + b.wait_visible("#create-vm-dialog") + b.wait_text("#vm-name-helper", "Name must not be empty") + b.wait_visible("#create-and-run:[aria-disabled=true]") + b.wait_visible("#create-and-edit:[aria-disabled=true]") + def testCreateCloudBaseImage(self): runner = TestMachinesCreate.CreateVmRunner(self) config = TestMachinesCreate.TestCreateConfig