From 2af60cedcd0daa393791f550aaf767d4f7e8edc3 Mon Sep 17 00:00:00 2001 From: Manuel Bentele Date: Tue, 25 May 2021 09:12:06 +0200 Subject: [qemu] Rename test classes to match naming convention of 'transformation' --- .../qemu/configuration/FilterGenericCpuTest.java | 34 ------ .../FilterGenericDiskStorageDevicesTest.java | 61 ----------- .../configuration/FilterGenericMemoryTest.java | 35 ------- .../qemu/configuration/FilterGenericNameTest.java | 30 ------ .../qemu/configuration/FilterGenericUuidTest.java | 28 ----- .../qemu/configuration/FilterTestResources.java | 17 --- .../plugin/qemu/configuration/FilterTestUtils.java | 114 --------------------- .../TransformationGenericCpuTest.java | 34 ++++++ ...ransformationGenericDiskStorageDevicesTest.java | 55 ++++++++++ .../TransformationGenericMemoryTest.java | 35 +++++++ .../TransformationGenericNameTest.java | 30 ++++++ .../TransformationGenericUuidTest.java | 28 +++++ .../configuration/TransformationTestResources.java | 17 +++ .../configuration/TransformationTestUtils.java | 114 +++++++++++++++++++++ 14 files changed, 313 insertions(+), 319 deletions(-) delete mode 100644 core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericCpuTest.java delete mode 100644 core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericDiskStorageDevicesTest.java delete mode 100644 core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericMemoryTest.java delete mode 100644 core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericNameTest.java delete mode 100644 core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericUuidTest.java delete mode 100644 core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterTestResources.java delete mode 100644 core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterTestUtils.java create mode 100644 core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericCpuTest.java create mode 100644 core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericDiskStorageDevicesTest.java create mode 100644 core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericMemoryTest.java create mode 100644 core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericNameTest.java create mode 100644 core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericUuidTest.java create mode 100644 core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationTestResources.java create mode 100644 core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationTestUtils.java diff --git a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericCpuTest.java b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericCpuTest.java deleted file mode 100644 index 560d4b7c..00000000 --- a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericCpuTest.java +++ /dev/null @@ -1,34 +0,0 @@ -package org.openslx.runvirt.plugin.qemu.configuration; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotEquals; - -import org.junit.jupiter.api.DisplayName; -import org.junit.jupiter.api.Test; -import org.openslx.libvirt.domain.Domain; -import org.openslx.libvirt.domain.Domain.CpuCheck; -import org.openslx.libvirt.domain.Domain.CpuMode; -import org.openslx.runvirt.plugin.qemu.cmdln.CommandLineArgs; -import org.openslx.virtualization.configuration.transformation.TransformationException; - -public class FilterGenericCpuTest -{ - @Test - @DisplayName( "Test filtering of VM CPU configuration" ) - public void testFilterGenericCpu() throws TransformationException - { - final TransformationGenericCpu filter = new TransformationGenericCpu(); - final Domain config = FilterTestUtils.getDefaultDomain(); - final CommandLineArgs args = FilterTestUtils.getDefaultCmdLnArgs(); - - assertNotEquals( Integer.parseInt( FilterTestUtils.DEFAULT_VM_NCPUS ), config.getVCpu() ); - assertNotEquals( CpuMode.HOST_PASSTHROUGH, config.getCpuMode() ); - assertEquals( CpuCheck.PARTIAL, config.getCpuCheck() ); - - filter.transform( config, args ); - - assertEquals( Integer.parseInt( FilterTestUtils.DEFAULT_VM_NCPUS ), config.getVCpu() ); - assertEquals( CpuMode.HOST_PASSTHROUGH, config.getCpuMode() ); - assertEquals( CpuCheck.PARTIAL, config.getCpuCheck() ); - } -} diff --git a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericDiskStorageDevicesTest.java b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericDiskStorageDevicesTest.java deleted file mode 100644 index 5dd9e4cc..00000000 --- a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericDiskStorageDevicesTest.java +++ /dev/null @@ -1,61 +0,0 @@ -package org.openslx.runvirt.plugin.qemu.configuration; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotEquals; - -import java.util.ArrayList; - -import org.junit.jupiter.api.DisplayName; -import org.junit.jupiter.api.Test; -import org.openslx.libvirt.domain.Domain; -import org.openslx.libvirt.domain.device.Disk.StorageType; -import org.openslx.libvirt.domain.device.DiskStorage; -import org.openslx.runvirt.plugin.qemu.cmdln.CommandLineArgs; -import org.openslx.virtualization.configuration.transformation.TransformationException; - -public class FilterGenericDiskStorageDevicesTest -{ - @Test - @DisplayName( "Test filtering of VM disk storage devices configuration with specified input data" ) - public void testFilterGenericDiskStorageDevices() throws TransformationException - { - final TransformationGenericDiskStorageDevices filter = new TransformationGenericDiskStorageDevices(); - final Domain config = FilterTestUtils.getDefaultDomain(); - final CommandLineArgs args = FilterTestUtils.getDefaultCmdLnArgs(); - - final ArrayList devicesBeforeFiltering = config.getDiskStorageDevices(); - assertEquals( 1, devicesBeforeFiltering.size() ); - assertNotEquals( StorageType.FILE, devicesBeforeFiltering.get( 0 ).getStorageType() ); - assertNotEquals( FilterTestUtils.DEFAULT_VM_HDD0, devicesBeforeFiltering.get( 0 ).getStorageSource() ); - - filter.transform( config, args ); - - final ArrayList devicesAfterFiltering = config.getDiskStorageDevices(); - assertEquals( 1, devicesAfterFiltering.size() ); - assertEquals( StorageType.FILE, devicesAfterFiltering.get( 0 ).getStorageType() ); - assertEquals( FilterTestUtils.DEFAULT_VM_HDD0, devicesAfterFiltering.get( 0 ).getStorageSource() ); - } - - @Test - @DisplayName( "Test filtering of VM disk storage devices configuration with unspecified input data" ) - public void testFilterGenericDiskStorageDevicesNoData() throws TransformationException - { - final TransformationGenericDiskStorageDevices filter = new TransformationGenericDiskStorageDevices(); - final Domain config = FilterTestUtils.getDefaultDomain(); - final CommandLineArgs args = FilterTestUtils.getEmptyCmdLnArgs(); - - final ArrayList devicesBeforeFiltering = config.getDiskStorageDevices(); - assertEquals( 1, devicesBeforeFiltering.size() ); - - filter.transform( config, args ); - - final ArrayList devicesAfterFiltering = config.getDiskStorageDevices(); - assertEquals( 0, devicesAfterFiltering.size() ); - } - - public static void main( String[] args ) throws TransformationException - { - FilterGenericDiskStorageDevicesTest test = new FilterGenericDiskStorageDevicesTest(); - test.testFilterGenericDiskStorageDevicesNoData(); - } -} diff --git a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericMemoryTest.java b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericMemoryTest.java deleted file mode 100644 index 2bbda865..00000000 --- a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericMemoryTest.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.openslx.runvirt.plugin.qemu.configuration; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotEquals; - -import java.math.BigInteger; - -import org.junit.jupiter.api.DisplayName; -import org.junit.jupiter.api.Test; -import org.openslx.libvirt.domain.Domain; -import org.openslx.libvirt.domain.DomainUtils; -import org.openslx.runvirt.plugin.qemu.cmdln.CommandLineArgs; -import org.openslx.virtualization.configuration.transformation.TransformationException; - -public class FilterGenericMemoryTest -{ - @Test - @DisplayName( "Test filtering of VM memory configuration" ) - public void testFilterGenericMemory() throws TransformationException - { - final TransformationGenericMemory filter = new TransformationGenericMemory(); - final Domain config = FilterTestUtils.getDefaultDomain(); - final CommandLineArgs args = FilterTestUtils.getDefaultCmdLnArgs(); - - final BigInteger defaultMemory = DomainUtils.decodeMemory( FilterTestUtils.DEFAULT_VM_MEM, "MiB" ); - - assertNotEquals( defaultMemory.toString(), config.getMemory().toString() ); - assertNotEquals( defaultMemory.toString(), config.getCurrentMemory().toString() ); - - filter.transform( config, args ); - - assertEquals( defaultMemory.toString(), config.getMemory().toString() ); - assertEquals( defaultMemory.toString(), config.getCurrentMemory().toString() ); - } -} diff --git a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericNameTest.java b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericNameTest.java deleted file mode 100644 index 188a13fa..00000000 --- a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericNameTest.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.openslx.runvirt.plugin.qemu.configuration; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotEquals; - -import org.junit.jupiter.api.DisplayName; -import org.junit.jupiter.api.Test; -import org.openslx.libvirt.domain.Domain; -import org.openslx.runvirt.plugin.qemu.cmdln.CommandLineArgs; -import org.openslx.virtualization.configuration.transformation.TransformationException; - -public class FilterGenericNameTest -{ - @Test - @DisplayName( "Test filtering of VM (display) name configuration" ) - public void testFilterGenericName() throws TransformationException - { - final TransformationGenericName filter = new TransformationGenericName(); - final Domain config = FilterTestUtils.getDefaultDomain(); - final CommandLineArgs args = FilterTestUtils.getDefaultCmdLnArgs(); - - assertNotEquals( FilterTestUtils.DEFAULT_VM_NAME, config.getName() ); - assertNotEquals( FilterTestUtils.DEFAULT_VM_DSPLNAME, config.getTitle() ); - - filter.transform( config, args ); - - assertEquals( FilterTestUtils.DEFAULT_VM_NAME, config.getName() ); - assertEquals( FilterTestUtils.DEFAULT_VM_DSPLNAME, config.getTitle() ); - } -} diff --git a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericUuidTest.java b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericUuidTest.java deleted file mode 100644 index e15c1856..00000000 --- a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericUuidTest.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.openslx.runvirt.plugin.qemu.configuration; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotEquals; - -import org.junit.jupiter.api.DisplayName; -import org.junit.jupiter.api.Test; -import org.openslx.libvirt.domain.Domain; -import org.openslx.runvirt.plugin.qemu.cmdln.CommandLineArgs; -import org.openslx.virtualization.configuration.transformation.TransformationException; - -public class FilterGenericUuidTest -{ - @Test - @DisplayName( "Test filtering of VM UUID configuration" ) - public void testFilterGenericUuid() throws TransformationException - { - final TransformationGenericUuid filter = new TransformationGenericUuid(); - final Domain config = FilterTestUtils.getDefaultDomain(); - final CommandLineArgs args = FilterTestUtils.getDefaultCmdLnArgs(); - - assertNotEquals( FilterTestUtils.DEFAULT_VM_UUID, config.getUuid() ); - - filter.transform( config, args ); - - assertEquals( FilterTestUtils.DEFAULT_VM_UUID, config.getUuid() ); - } -} diff --git a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterTestResources.java b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterTestResources.java deleted file mode 100644 index 80fa2636..00000000 --- a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterTestResources.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.openslx.runvirt.plugin.qemu.configuration; - -import java.io.File; -import java.net.URL; - -public class FilterTestResources -{ - private static final String LIBVIRT_PREFIX_PATH = File.separator + "libvirt"; - private static final String LIBVIRT_PREFIX_PATH_XML = LIBVIRT_PREFIX_PATH + File.separator + "xml"; - - public static File getLibvirtXmlFile( String libvirtXmlFileName ) - { - String libvirtXmlPath = FilterTestResources.LIBVIRT_PREFIX_PATH_XML + File.separator + libvirtXmlFileName; - URL libvirtXml = FilterTestResources.class.getResource( libvirtXmlPath ); - return new File( libvirtXml.getFile() ); - } -} diff --git a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterTestUtils.java b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterTestUtils.java deleted file mode 100644 index a308693f..00000000 --- a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterTestUtils.java +++ /dev/null @@ -1,114 +0,0 @@ -package org.openslx.runvirt.plugin.qemu.configuration; - -import static org.junit.jupiter.api.Assertions.fail; - -import org.openslx.libvirt.domain.Domain; -import org.openslx.libvirt.xml.LibvirtXmlDocumentException; -import org.openslx.libvirt.xml.LibvirtXmlSerializationException; -import org.openslx.libvirt.xml.LibvirtXmlTestResources; -import org.openslx.libvirt.xml.LibvirtXmlValidationException; -import org.openslx.runvirt.plugin.qemu.cmdln.CommandLineArgs; -import org.openslx.runvirt.plugin.qemu.cmdln.CommandLineArgs.CmdLnOption; -import org.openslx.runvirt.plugin.qemu.cmdln.CommandLineArgsException; -import org.openslx.runvirt.plugin.qemu.cmdln.CommandLineArgsTest; - -public class FilterTestUtils -{ - // @formatter:off - public static final String DEFAULT_VM_NAME = "archlinux"; - public static final String DEFAULT_VM_UUID = "4ec504d5-5eac-482f-a344-dbf1dd4956c8"; - public static final String DEFAULT_VM_DSPLNAME = "Archlinux"; - public static final String DEFAULT_VM_OS = "Windows 10 (x64)"; - public static final String DEFAULT_VM_NCPUS = "16"; - public static final String DEFAULT_VM_MEM = "1024"; - public static final String DEFAULT_VM_HDD0 = "/mnt/vm/windows.qcow2"; - public static final String DEFAULT_VM_FLOPPY0 = "/mnt/vm/floppy0.qcow2"; - public static final String DEFAULT_VM_FLOPPY1 = "/mnt/vm/floppy1.qcow2"; - public static final String DEFAULT_VM_CDROM0 = "/dev/sr0"; - public static final String DEFAULT_VM_CDROM1 = "/mnt/vm/cdrom1.qcow2"; - public static final String DEFAULT_VM_PARALLEL0 = "/dev/parport0"; - public static final String DEFAULT_VM_SERIAL0 = "/dev/ttyS0"; - public static final String DEFAULT_VM_MAC0 = "ca:06:29:84:f0:6d"; - public static final String DEFAULT_VM_FSSRC0 = "/mnt/shared/folder0"; - public static final String DEFAULT_VM_FSTGT0 = "folder0"; - public static final String DEFAULT_VM_FSSRC1 = "/mnt/shared/folder1"; - public static final String DEFAULT_VM_FSTGT1 = "folder1"; - // @formatter:on - - private static final String[] DEFAULT_CMDLN_ARGS = { - CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_NAME.getLongOption(), - FilterTestUtils.DEFAULT_VM_NAME, - CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_UUID.getLongOption(), - FilterTestUtils.DEFAULT_VM_UUID, - CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_DSPLNAME.getLongOption(), - FilterTestUtils.DEFAULT_VM_DSPLNAME, - CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_OS.getLongOption(), - FilterTestUtils.DEFAULT_VM_OS, - CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_NCPUS.getLongOption(), - FilterTestUtils.DEFAULT_VM_NCPUS, - CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_MEM.getLongOption(), - FilterTestUtils.DEFAULT_VM_MEM, - CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_HDD0.getLongOption(), - FilterTestUtils.DEFAULT_VM_HDD0, - CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_FLOPPY0.getLongOption(), - FilterTestUtils.DEFAULT_VM_FLOPPY0, - CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_FLOPPY1.getLongOption(), - FilterTestUtils.DEFAULT_VM_FLOPPY1, - CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_CDROM0.getLongOption(), - FilterTestUtils.DEFAULT_VM_CDROM0, - CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_CDROM1.getLongOption(), - FilterTestUtils.DEFAULT_VM_CDROM1, - CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_PARALLEL0.getLongOption(), - FilterTestUtils.DEFAULT_VM_PARALLEL0, - CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_SERIAL0.getLongOption(), - FilterTestUtils.DEFAULT_VM_SERIAL0, - CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_MAC0.getLongOption(), - FilterTestUtils.DEFAULT_VM_MAC0, - CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_FSSRC0.getLongOption(), - FilterTestUtils.DEFAULT_VM_FSSRC0, - CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_FSTGT0.getLongOption(), - FilterTestUtils.DEFAULT_VM_FSTGT0, - CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_FSSRC1.getLongOption(), - FilterTestUtils.DEFAULT_VM_FSSRC1, - CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_FSTGT1.getLongOption(), - FilterTestUtils.DEFAULT_VM_FSTGT1 - }; - - private static CommandLineArgs getCmdLnArgs( String[] args ) - { - final CommandLineArgs cmdLnArgs = new CommandLineArgs(); - - try { - cmdLnArgs.parseCmdLnArgs( args ); - } catch ( CommandLineArgsException e ) { - fail( e.getLocalizedMessage() ); - } - - return cmdLnArgs; - } - - public static CommandLineArgs getDefaultCmdLnArgs() - { - return FilterTestUtils.getCmdLnArgs( FilterTestUtils.DEFAULT_CMDLN_ARGS ); - } - - public static CommandLineArgs getEmptyCmdLnArgs() - { - return FilterTestUtils.getCmdLnArgs( new String[] {} ); - } - - public static Domain getDefaultDomain() - { - Domain domain = null; - - try { - domain = new Domain( LibvirtXmlTestResources - .getLibvirtXmlStream( "qemu-kvm_default-ubuntu-20-04-vm_transform-non-persistent.xml" ) ); - } catch ( LibvirtXmlDocumentException | LibvirtXmlSerializationException | LibvirtXmlValidationException e ) { - fail( "Cannot prepare requested Libvirt domain XML file from the resources folder: " - + e.getLocalizedMessage() ); - } - - return domain; - } -} diff --git a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericCpuTest.java b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericCpuTest.java new file mode 100644 index 00000000..9553db08 --- /dev/null +++ b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericCpuTest.java @@ -0,0 +1,34 @@ +package org.openslx.runvirt.plugin.qemu.configuration; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotEquals; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.openslx.libvirt.domain.Domain; +import org.openslx.libvirt.domain.Domain.CpuCheck; +import org.openslx.libvirt.domain.Domain.CpuMode; +import org.openslx.runvirt.plugin.qemu.cmdln.CommandLineArgs; +import org.openslx.virtualization.configuration.transformation.TransformationException; + +public class TransformationGenericCpuTest +{ + @Test + @DisplayName( "Test filtering of VM CPU configuration" ) + public void testFilterGenericCpu() throws TransformationException + { + final TransformationGenericCpu filter = new TransformationGenericCpu(); + final Domain config = TransformationTestUtils.getDefaultDomain(); + final CommandLineArgs args = TransformationTestUtils.getDefaultCmdLnArgs(); + + assertNotEquals( Integer.parseInt( TransformationTestUtils.DEFAULT_VM_NCPUS ), config.getVCpu() ); + assertNotEquals( CpuMode.HOST_PASSTHROUGH, config.getCpuMode() ); + assertEquals( CpuCheck.PARTIAL, config.getCpuCheck() ); + + filter.transform( config, args ); + + assertEquals( Integer.parseInt( TransformationTestUtils.DEFAULT_VM_NCPUS ), config.getVCpu() ); + assertEquals( CpuMode.HOST_PASSTHROUGH, config.getCpuMode() ); + assertEquals( CpuCheck.PARTIAL, config.getCpuCheck() ); + } +} diff --git a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericDiskStorageDevicesTest.java b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericDiskStorageDevicesTest.java new file mode 100644 index 00000000..20fd2fb6 --- /dev/null +++ b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericDiskStorageDevicesTest.java @@ -0,0 +1,55 @@ +package org.openslx.runvirt.plugin.qemu.configuration; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotEquals; + +import java.util.ArrayList; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.openslx.libvirt.domain.Domain; +import org.openslx.libvirt.domain.device.Disk.StorageType; +import org.openslx.libvirt.domain.device.DiskStorage; +import org.openslx.runvirt.plugin.qemu.cmdln.CommandLineArgs; +import org.openslx.virtualization.configuration.transformation.TransformationException; + +public class TransformationGenericDiskStorageDevicesTest +{ + @Test + @DisplayName( "Test filtering of VM disk storage devices configuration with specified input data" ) + public void testFilterGenericDiskStorageDevices() throws TransformationException + { + final TransformationGenericDiskStorageDevices filter = new TransformationGenericDiskStorageDevices(); + final Domain config = TransformationTestUtils.getDefaultDomain(); + final CommandLineArgs args = TransformationTestUtils.getDefaultCmdLnArgs(); + + final ArrayList devicesBeforeFiltering = config.getDiskStorageDevices(); + assertEquals( 1, devicesBeforeFiltering.size() ); + assertNotEquals( StorageType.FILE, devicesBeforeFiltering.get( 0 ).getStorageType() ); + assertNotEquals( TransformationTestUtils.DEFAULT_VM_HDD0, devicesBeforeFiltering.get( 0 ).getStorageSource() ); + + filter.transform( config, args ); + + final ArrayList devicesAfterFiltering = config.getDiskStorageDevices(); + assertEquals( 1, devicesAfterFiltering.size() ); + assertEquals( StorageType.FILE, devicesAfterFiltering.get( 0 ).getStorageType() ); + assertEquals( TransformationTestUtils.DEFAULT_VM_HDD0, devicesAfterFiltering.get( 0 ).getStorageSource() ); + } + + @Test + @DisplayName( "Test filtering of VM disk storage devices configuration with unspecified input data" ) + public void testFilterGenericDiskStorageDevicesNoData() throws TransformationException + { + final TransformationGenericDiskStorageDevices filter = new TransformationGenericDiskStorageDevices(); + final Domain config = TransformationTestUtils.getDefaultDomain(); + final CommandLineArgs args = TransformationTestUtils.getEmptyCmdLnArgs(); + + final ArrayList devicesBeforeFiltering = config.getDiskStorageDevices(); + assertEquals( 1, devicesBeforeFiltering.size() ); + + filter.transform( config, args ); + + final ArrayList devicesAfterFiltering = config.getDiskStorageDevices(); + assertEquals( 0, devicesAfterFiltering.size() ); + } +} diff --git a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericMemoryTest.java b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericMemoryTest.java new file mode 100644 index 00000000..9ef1f1d2 --- /dev/null +++ b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericMemoryTest.java @@ -0,0 +1,35 @@ +package org.openslx.runvirt.plugin.qemu.configuration; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotEquals; + +import java.math.BigInteger; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.openslx.libvirt.domain.Domain; +import org.openslx.libvirt.domain.DomainUtils; +import org.openslx.runvirt.plugin.qemu.cmdln.CommandLineArgs; +import org.openslx.virtualization.configuration.transformation.TransformationException; + +public class TransformationGenericMemoryTest +{ + @Test + @DisplayName( "Test filtering of VM memory configuration" ) + public void testFilterGenericMemory() throws TransformationException + { + final TransformationGenericMemory filter = new TransformationGenericMemory(); + final Domain config = TransformationTestUtils.getDefaultDomain(); + final CommandLineArgs args = TransformationTestUtils.getDefaultCmdLnArgs(); + + final BigInteger defaultMemory = DomainUtils.decodeMemory( TransformationTestUtils.DEFAULT_VM_MEM, "MiB" ); + + assertNotEquals( defaultMemory.toString(), config.getMemory().toString() ); + assertNotEquals( defaultMemory.toString(), config.getCurrentMemory().toString() ); + + filter.transform( config, args ); + + assertEquals( defaultMemory.toString(), config.getMemory().toString() ); + assertEquals( defaultMemory.toString(), config.getCurrentMemory().toString() ); + } +} diff --git a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericNameTest.java b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericNameTest.java new file mode 100644 index 00000000..f85af001 --- /dev/null +++ b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericNameTest.java @@ -0,0 +1,30 @@ +package org.openslx.runvirt.plugin.qemu.configuration; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotEquals; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.openslx.libvirt.domain.Domain; +import org.openslx.runvirt.plugin.qemu.cmdln.CommandLineArgs; +import org.openslx.virtualization.configuration.transformation.TransformationException; + +public class TransformationGenericNameTest +{ + @Test + @DisplayName( "Test filtering of VM (display) name configuration" ) + public void testFilterGenericName() throws TransformationException + { + final TransformationGenericName filter = new TransformationGenericName(); + final Domain config = TransformationTestUtils.getDefaultDomain(); + final CommandLineArgs args = TransformationTestUtils.getDefaultCmdLnArgs(); + + assertNotEquals( TransformationTestUtils.DEFAULT_VM_NAME, config.getName() ); + assertNotEquals( TransformationTestUtils.DEFAULT_VM_DSPLNAME, config.getTitle() ); + + filter.transform( config, args ); + + assertEquals( TransformationTestUtils.DEFAULT_VM_NAME, config.getName() ); + assertEquals( TransformationTestUtils.DEFAULT_VM_DSPLNAME, config.getTitle() ); + } +} diff --git a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericUuidTest.java b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericUuidTest.java new file mode 100644 index 00000000..8b2dc69b --- /dev/null +++ b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericUuidTest.java @@ -0,0 +1,28 @@ +package org.openslx.runvirt.plugin.qemu.configuration; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotEquals; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.openslx.libvirt.domain.Domain; +import org.openslx.runvirt.plugin.qemu.cmdln.CommandLineArgs; +import org.openslx.virtualization.configuration.transformation.TransformationException; + +public class TransformationGenericUuidTest +{ + @Test + @DisplayName( "Test filtering of VM UUID configuration" ) + public void testFilterGenericUuid() throws TransformationException + { + final TransformationGenericUuid filter = new TransformationGenericUuid(); + final Domain config = TransformationTestUtils.getDefaultDomain(); + final CommandLineArgs args = TransformationTestUtils.getDefaultCmdLnArgs(); + + assertNotEquals( TransformationTestUtils.DEFAULT_VM_UUID, config.getUuid() ); + + filter.transform( config, args ); + + assertEquals( TransformationTestUtils.DEFAULT_VM_UUID, config.getUuid() ); + } +} diff --git a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationTestResources.java b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationTestResources.java new file mode 100644 index 00000000..b04685f9 --- /dev/null +++ b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationTestResources.java @@ -0,0 +1,17 @@ +package org.openslx.runvirt.plugin.qemu.configuration; + +import java.io.File; +import java.net.URL; + +public class TransformationTestResources +{ + private static final String LIBVIRT_PREFIX_PATH = File.separator + "libvirt"; + private static final String LIBVIRT_PREFIX_PATH_XML = LIBVIRT_PREFIX_PATH + File.separator + "xml"; + + public static File getLibvirtXmlFile( String libvirtXmlFileName ) + { + String libvirtXmlPath = TransformationTestResources.LIBVIRT_PREFIX_PATH_XML + File.separator + libvirtXmlFileName; + URL libvirtXml = TransformationTestResources.class.getResource( libvirtXmlPath ); + return new File( libvirtXml.getFile() ); + } +} diff --git a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationTestUtils.java b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationTestUtils.java new file mode 100644 index 00000000..132c6ba3 --- /dev/null +++ b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationTestUtils.java @@ -0,0 +1,114 @@ +package org.openslx.runvirt.plugin.qemu.configuration; + +import static org.junit.jupiter.api.Assertions.fail; + +import org.openslx.libvirt.domain.Domain; +import org.openslx.libvirt.xml.LibvirtXmlDocumentException; +import org.openslx.libvirt.xml.LibvirtXmlSerializationException; +import org.openslx.libvirt.xml.LibvirtXmlTestResources; +import org.openslx.libvirt.xml.LibvirtXmlValidationException; +import org.openslx.runvirt.plugin.qemu.cmdln.CommandLineArgs; +import org.openslx.runvirt.plugin.qemu.cmdln.CommandLineArgs.CmdLnOption; +import org.openslx.runvirt.plugin.qemu.cmdln.CommandLineArgsException; +import org.openslx.runvirt.plugin.qemu.cmdln.CommandLineArgsTest; + +public class TransformationTestUtils +{ + // @formatter:off + public static final String DEFAULT_VM_NAME = "archlinux"; + public static final String DEFAULT_VM_UUID = "4ec504d5-5eac-482f-a344-dbf1dd4956c8"; + public static final String DEFAULT_VM_DSPLNAME = "Archlinux"; + public static final String DEFAULT_VM_OS = "Windows 10 (x64)"; + public static final String DEFAULT_VM_NCPUS = "16"; + public static final String DEFAULT_VM_MEM = "1024"; + public static final String DEFAULT_VM_HDD0 = "/mnt/vm/windows.qcow2"; + public static final String DEFAULT_VM_FLOPPY0 = "/mnt/vm/floppy0.qcow2"; + public static final String DEFAULT_VM_FLOPPY1 = "/mnt/vm/floppy1.qcow2"; + public static final String DEFAULT_VM_CDROM0 = "/dev/sr0"; + public static final String DEFAULT_VM_CDROM1 = "/mnt/vm/cdrom1.qcow2"; + public static final String DEFAULT_VM_PARALLEL0 = "/dev/parport0"; + public static final String DEFAULT_VM_SERIAL0 = "/dev/ttyS0"; + public static final String DEFAULT_VM_MAC0 = "ca:06:29:84:f0:6d"; + public static final String DEFAULT_VM_FSSRC0 = "/mnt/shared/folder0"; + public static final String DEFAULT_VM_FSTGT0 = "folder0"; + public static final String DEFAULT_VM_FSSRC1 = "/mnt/shared/folder1"; + public static final String DEFAULT_VM_FSTGT1 = "folder1"; + // @formatter:on + + private static final String[] DEFAULT_CMDLN_ARGS = { + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_NAME.getLongOption(), + TransformationTestUtils.DEFAULT_VM_NAME, + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_UUID.getLongOption(), + TransformationTestUtils.DEFAULT_VM_UUID, + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_DSPLNAME.getLongOption(), + TransformationTestUtils.DEFAULT_VM_DSPLNAME, + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_OS.getLongOption(), + TransformationTestUtils.DEFAULT_VM_OS, + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_NCPUS.getLongOption(), + TransformationTestUtils.DEFAULT_VM_NCPUS, + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_MEM.getLongOption(), + TransformationTestUtils.DEFAULT_VM_MEM, + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_HDD0.getLongOption(), + TransformationTestUtils.DEFAULT_VM_HDD0, + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_FLOPPY0.getLongOption(), + TransformationTestUtils.DEFAULT_VM_FLOPPY0, + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_FLOPPY1.getLongOption(), + TransformationTestUtils.DEFAULT_VM_FLOPPY1, + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_CDROM0.getLongOption(), + TransformationTestUtils.DEFAULT_VM_CDROM0, + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_CDROM1.getLongOption(), + TransformationTestUtils.DEFAULT_VM_CDROM1, + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_PARALLEL0.getLongOption(), + TransformationTestUtils.DEFAULT_VM_PARALLEL0, + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_SERIAL0.getLongOption(), + TransformationTestUtils.DEFAULT_VM_SERIAL0, + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_MAC0.getLongOption(), + TransformationTestUtils.DEFAULT_VM_MAC0, + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_FSSRC0.getLongOption(), + TransformationTestUtils.DEFAULT_VM_FSSRC0, + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_FSTGT0.getLongOption(), + TransformationTestUtils.DEFAULT_VM_FSTGT0, + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_FSSRC1.getLongOption(), + TransformationTestUtils.DEFAULT_VM_FSSRC1, + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_FSTGT1.getLongOption(), + TransformationTestUtils.DEFAULT_VM_FSTGT1 + }; + + private static CommandLineArgs getCmdLnArgs( String[] args ) + { + final CommandLineArgs cmdLnArgs = new CommandLineArgs(); + + try { + cmdLnArgs.parseCmdLnArgs( args ); + } catch ( CommandLineArgsException e ) { + fail( e.getLocalizedMessage() ); + } + + return cmdLnArgs; + } + + public static CommandLineArgs getDefaultCmdLnArgs() + { + return TransformationTestUtils.getCmdLnArgs( TransformationTestUtils.DEFAULT_CMDLN_ARGS ); + } + + public static CommandLineArgs getEmptyCmdLnArgs() + { + return TransformationTestUtils.getCmdLnArgs( new String[] {} ); + } + + public static Domain getDefaultDomain() + { + Domain domain = null; + + try { + domain = new Domain( LibvirtXmlTestResources + .getLibvirtXmlStream( "qemu-kvm_default-ubuntu-20-04-vm_transform-non-persistent.xml" ) ); + } catch ( LibvirtXmlDocumentException | LibvirtXmlSerializationException | LibvirtXmlValidationException e ) { + fail( "Cannot prepare requested Libvirt domain XML file from the resources folder: " + + e.getLocalizedMessage() ); + } + + return domain; + } +} -- cgit v1.2.3-55-g7522