From 2cdee4f4023ec003fe65cfa85ebb654f1446ff59 Mon Sep 17 00:00:00 2001 From: Manuel Bentele Date: Wed, 19 May 2021 09:48:37 +0200 Subject: Rename 'vm.disk' package to 'virtualization.disk' --- .../VirtualizationConfigurationQemuTest.java | 6 +- .../VirtualizationConfigurationVirtualBoxTest.java | 2 +- ...urationLogicDozModServerToDozModClientTest.java | 2 +- .../virtualization/disk/DiskImageQcow2Test.java | 221 +++++++++++++++++++++ .../openslx/virtualization/disk/DiskImageTest.java | 19 ++ .../disk/DiskImageTestResources.java | 16 ++ .../virtualization/disk/DiskImageVdiTest.java | 44 ++++ .../virtualization/disk/DiskImageVmdkTest.java | 111 +++++++++++ .../org/openslx/vm/disk/DiskImageQcow2Test.java | 221 --------------------- .../java/org/openslx/vm/disk/DiskImageTest.java | 19 -- .../openslx/vm/disk/DiskImageTestResources.java | 16 -- .../java/org/openslx/vm/disk/DiskImageVdiTest.java | 44 ---- .../org/openslx/vm/disk/DiskImageVmdkTest.java | 111 ----------- 13 files changed, 416 insertions(+), 416 deletions(-) create mode 100644 src/test/java/org/openslx/virtualization/disk/DiskImageQcow2Test.java create mode 100644 src/test/java/org/openslx/virtualization/disk/DiskImageTest.java create mode 100644 src/test/java/org/openslx/virtualization/disk/DiskImageTestResources.java create mode 100644 src/test/java/org/openslx/virtualization/disk/DiskImageVdiTest.java create mode 100644 src/test/java/org/openslx/virtualization/disk/DiskImageVmdkTest.java delete mode 100644 src/test/java/org/openslx/vm/disk/DiskImageQcow2Test.java delete mode 100644 src/test/java/org/openslx/vm/disk/DiskImageTest.java delete mode 100644 src/test/java/org/openslx/vm/disk/DiskImageTestResources.java delete mode 100644 src/test/java/org/openslx/vm/disk/DiskImageVdiTest.java delete mode 100644 src/test/java/org/openslx/vm/disk/DiskImageVmdkTest.java (limited to 'src/test') diff --git a/src/test/java/org/openslx/virtualization/configuration/VirtualizationConfigurationQemuTest.java b/src/test/java/org/openslx/virtualization/configuration/VirtualizationConfigurationQemuTest.java index 1cc7841..fa2ed13 100644 --- a/src/test/java/org/openslx/virtualization/configuration/VirtualizationConfigurationQemuTest.java +++ b/src/test/java/org/openslx/virtualization/configuration/VirtualizationConfigurationQemuTest.java @@ -40,9 +40,9 @@ import org.openslx.virtualization.configuration.VirtualizationConfiguration.Ethe import org.openslx.virtualization.configuration.VirtualizationConfiguration.SoundCardType; import org.openslx.virtualization.configuration.VirtualizationConfiguration.UsbSpeed; import org.openslx.virtualization.configuration.logic.ConfigurationLogicTestUtils; -import org.openslx.vm.disk.DiskImage; -import org.openslx.vm.disk.DiskImageTestResources; -import org.openslx.vm.disk.DiskImage.ImageFormat; +import org.openslx.virtualization.disk.DiskImage; +import org.openslx.virtualization.disk.DiskImageTestResources; +import org.openslx.virtualization.disk.DiskImage.ImageFormat; public class VirtualizationConfigurationQemuTest { diff --git a/src/test/java/org/openslx/virtualization/configuration/VirtualizationConfigurationVirtualBoxTest.java b/src/test/java/org/openslx/virtualization/configuration/VirtualizationConfigurationVirtualBoxTest.java index 597fffb..1689007 100644 --- a/src/test/java/org/openslx/virtualization/configuration/VirtualizationConfigurationVirtualBoxTest.java +++ b/src/test/java/org/openslx/virtualization/configuration/VirtualizationConfigurationVirtualBoxTest.java @@ -20,7 +20,7 @@ import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; import org.openslx.virtualization.Version; -import org.openslx.vm.disk.DiskImage.ImageFormat; +import org.openslx.virtualization.disk.DiskImage.ImageFormat; public class VirtualizationConfigurationVirtualBoxTest { diff --git a/src/test/java/org/openslx/virtualization/configuration/logic/ConfigurationLogicDozModServerToDozModClientTest.java b/src/test/java/org/openslx/virtualization/configuration/logic/ConfigurationLogicDozModServerToDozModClientTest.java index 96180ed..cb5cbb3 100644 --- a/src/test/java/org/openslx/virtualization/configuration/logic/ConfigurationLogicDozModServerToDozModClientTest.java +++ b/src/test/java/org/openslx/virtualization/configuration/logic/ConfigurationLogicDozModServerToDozModClientTest.java @@ -15,7 +15,7 @@ import org.openslx.libvirt.xml.LibvirtXmlTestResources; import org.openslx.virtualization.configuration.VirtualizationConfiguration; import org.openslx.virtualization.configuration.data.ConfigurationDataDozModServerToDozModClient; import org.openslx.virtualization.configuration.transformation.TransformationException; -import org.openslx.vm.disk.DiskImageTestResources; +import org.openslx.virtualization.disk.DiskImageTestResources; public class ConfigurationLogicDozModServerToDozModClientTest { diff --git a/src/test/java/org/openslx/virtualization/disk/DiskImageQcow2Test.java b/src/test/java/org/openslx/virtualization/disk/DiskImageQcow2Test.java new file mode 100644 index 0000000..c6a294c --- /dev/null +++ b/src/test/java/org/openslx/virtualization/disk/DiskImageQcow2Test.java @@ -0,0 +1,221 @@ +package org.openslx.virtualization.disk; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; + +import java.io.IOException; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.openslx.virtualization.Version; +import org.openslx.virtualization.disk.DiskImage.ImageFormat; + +public class DiskImageQcow2Test +{ + @Test + @DisplayName( "Test detection of default QCOW2 disk image" ) + public void testQcow2DiskImage() throws DiskImageException, IOException + { + final DiskImage image = DiskImage.newInstance( DiskImageTestResources.getDiskFile( "image-default.qcow2" ) ); + final Version imageVersion = new Version( Short.valueOf( "3" ) ); + + assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() ); + assertEquals( true, image.isStandalone() ); + assertEquals( false, image.isSnapshot() ); + assertEquals( false, image.isCompressed() ); + assertEquals( imageVersion, image.getVersion() ); + assertNull( image.getDescription() ); + } + + @Test + @DisplayName( "Test detection of compressed, 16384 byte cluster QCOW2 disk image with extended L2 tables" ) + public void testQcow2DetectionL2Compressed16384DiskImage() throws DiskImageException, IOException + { + final DiskImage image = DiskImage + .newInstance( DiskImageTestResources.getDiskFile( "image_cs-16384_cp-on_l2-on.qcow2" ) ); + final Version imageVersion = new Version( Short.valueOf( "3" ) ); + + assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() ); + assertEquals( true, image.isStandalone() ); + assertEquals( false, image.isSnapshot() ); + assertEquals( true, image.isCompressed() ); + assertEquals( imageVersion, image.getVersion() ); + assertNull( image.getDescription() ); + } + + @Test + @DisplayName( "Test detection of compressed, 16384 byte cluster QCOW2 disk image without extended L2 tables" ) + public void testQcow2DetectionNonL2Compressed16384DiskImage() throws DiskImageException, IOException + { + final DiskImage image = DiskImage + .newInstance( DiskImageTestResources.getDiskFile( "image_cs-16384_cp-on_l2-off.qcow2" ) ); + final Version imageVersion = new Version( Short.valueOf( "3" ) ); + + assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() ); + assertEquals( true, image.isStandalone() ); + assertEquals( false, image.isSnapshot() ); + assertEquals( true, image.isCompressed() ); + assertEquals( imageVersion, image.getVersion() ); + assertNull( image.getDescription() ); + } + + @Test + @DisplayName( "Test detection of non-compressed, 16384 byte cluster QCOW2 disk image with extended L2 tables" ) + public void testQcow2DetectionL2NonCompressed16384DiskImage() throws DiskImageException, IOException + { + final DiskImage image = DiskImage + .newInstance( DiskImageTestResources.getDiskFile( "image_cs-16384_cp-off_l2-on.qcow2" ) ); + final Version imageVersion = new Version( Short.valueOf( "3" ) ); + + assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() ); + assertEquals( true, image.isStandalone() ); + assertEquals( false, image.isSnapshot() ); + assertEquals( false, image.isCompressed() ); + assertEquals( imageVersion, image.getVersion() ); + assertNull( image.getDescription() ); + } + + @Test + @DisplayName( "Test detection of non-compressed, 16384 byte cluster QCOW2 disk image without extended L2 tables" ) + public void testQcow2DetectionNonL2NonCompressed16384DiskImage() throws DiskImageException, IOException + { + final DiskImage image = DiskImage + .newInstance( DiskImageTestResources.getDiskFile( "image_cs-16384_cp-off_l2-off.qcow2" ) ); + final Version imageVersion = new Version( Short.valueOf( "3" ) ); + + assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() ); + assertEquals( true, image.isStandalone() ); + assertEquals( false, image.isSnapshot() ); + assertEquals( false, image.isCompressed() ); + assertEquals( imageVersion, image.getVersion() ); + assertNull( image.getDescription() ); + } + + @Test + @DisplayName( "Test detection of compressed, 65536 byte cluster QCOW2 disk image with extended L2 tables" ) + public void testQcow2DetectionL2Compressed65536DiskImage() throws DiskImageException, IOException + { + final DiskImage image = DiskImage + .newInstance( DiskImageTestResources.getDiskFile( "image_cs-65536_cp-on_l2-on.qcow2" ) ); + final Version imageVersion = new Version( Short.valueOf( "3" ) ); + + assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() ); + assertEquals( true, image.isStandalone() ); + assertEquals( false, image.isSnapshot() ); + assertEquals( true, image.isCompressed() ); + assertEquals( imageVersion, image.getVersion() ); + assertNull( image.getDescription() ); + } + + @Test + @DisplayName( "Test detection of compressed, 65536 byte cluster QCOW2 disk image without extended L2 tables" ) + public void testQcow2DetectionNonL2Compressed65536DiskImage() throws DiskImageException, IOException + { + final DiskImage image = DiskImage + .newInstance( DiskImageTestResources.getDiskFile( "image_cs-65536_cp-on_l2-off.qcow2" ) ); + final Version imageVersion = new Version( Short.valueOf( "3" ) ); + + assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() ); + assertEquals( true, image.isStandalone() ); + assertEquals( false, image.isSnapshot() ); + assertEquals( true, image.isCompressed() ); + assertEquals( imageVersion, image.getVersion() ); + assertNull( image.getDescription() ); + } + + @Test + @DisplayName( "Test detection of non-compressed, 65536 byte cluster QCOW2 disk image with extended L2 tables" ) + public void testQcow2DetectionL2NonCompressed65536DiskImage() throws DiskImageException, IOException + { + final DiskImage image = DiskImage + .newInstance( DiskImageTestResources.getDiskFile( "image_cs-65536_cp-off_l2-on.qcow2" ) ); + final Version imageVersion = new Version( Short.valueOf( "3" ) ); + + assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() ); + assertEquals( true, image.isStandalone() ); + assertEquals( false, image.isSnapshot() ); + assertEquals( false, image.isCompressed() ); + assertEquals( imageVersion, image.getVersion() ); + assertNull( image.getDescription() ); + } + + @Test + @DisplayName( "Test detection of non-compressed, 65536 byte cluster QCOW2 disk image without extended L2 tables" ) + public void testQcow2DetectionNonL2NonCompressed65536DiskImage() throws DiskImageException, IOException + { + final DiskImage image = DiskImage + .newInstance( DiskImageTestResources.getDiskFile( "image_cs-65536_cp-off_l2-off.qcow2" ) ); + final Version imageVersion = new Version( Short.valueOf( "3" ) ); + + assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() ); + assertEquals( true, image.isStandalone() ); + assertEquals( false, image.isSnapshot() ); + assertEquals( false, image.isCompressed() ); + assertEquals( imageVersion, image.getVersion() ); + assertNull( image.getDescription() ); + } + + @Test + @DisplayName( "Test detection of compressed, 2097152 byte cluster QCOW2 disk image with extended L2 tables" ) + public void testQcow2DetectionL2Compressed2097152DiskImage() throws DiskImageException, IOException + { + final DiskImage image = DiskImage + .newInstance( DiskImageTestResources.getDiskFile( "image_cs-2097152_cp-on_l2-on.qcow2" ) ); + final Version imageVersion = new Version( Short.valueOf( "3" ) ); + + assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() ); + assertEquals( true, image.isStandalone() ); + assertEquals( false, image.isSnapshot() ); + assertEquals( true, image.isCompressed() ); + assertEquals( imageVersion, image.getVersion() ); + assertNull( image.getDescription() ); + } + + @Test + @DisplayName( "Test detection of compressed, 2097152 byte cluster QCOW2 disk image without extended L2 tables" ) + public void testQcow2DetectionNonL2Compressed2097152DiskImage() throws DiskImageException, IOException + { + final DiskImage image = DiskImage + .newInstance( DiskImageTestResources.getDiskFile( "image_cs-2097152_cp-on_l2-off.qcow2" ) ); + final Version imageVersion = new Version( Short.valueOf( "3" ) ); + + assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() ); + assertEquals( true, image.isStandalone() ); + assertEquals( false, image.isSnapshot() ); + assertEquals( true, image.isCompressed() ); + assertEquals( imageVersion, image.getVersion() ); + assertNull( image.getDescription() ); + } + + @Test + @DisplayName( "Test detection of non-compressed, 2097152 byte cluster QCOW2 disk image with extended L2 tables" ) + public void testQcow2DetectionL2NonCompressed2097152DiskImage() throws DiskImageException, IOException + { + final DiskImage image = DiskImage + .newInstance( DiskImageTestResources.getDiskFile( "image_cs-2097152_cp-off_l2-on.qcow2" ) ); + final Version imageVersion = new Version( Short.valueOf( "3" ) ); + + assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() ); + assertEquals( true, image.isStandalone() ); + assertEquals( false, image.isSnapshot() ); + assertEquals( false, image.isCompressed() ); + assertEquals( imageVersion, image.getVersion() ); + assertNull( image.getDescription() ); + } + + @Test + @DisplayName( "Test detection of non-compressed, 2097152 byte cluster QCOW2 disk image without extended L2 tables" ) + public void testQcow2DetectionNonL2NonCompressed2097152DiskImage() throws DiskImageException, IOException + { + final DiskImage image = DiskImage + .newInstance( DiskImageTestResources.getDiskFile( "image_cs-2097152_cp-off_l2-off.qcow2" ) ); + final Version imageVersion = new Version( Short.valueOf( "3" ) ); + + assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() ); + assertEquals( true, image.isStandalone() ); + assertEquals( false, image.isSnapshot() ); + assertEquals( false, image.isCompressed() ); + assertEquals( imageVersion, image.getVersion() ); + assertNull( image.getDescription() ); + } +} diff --git a/src/test/java/org/openslx/virtualization/disk/DiskImageTest.java b/src/test/java/org/openslx/virtualization/disk/DiskImageTest.java new file mode 100644 index 0000000..9293a90 --- /dev/null +++ b/src/test/java/org/openslx/virtualization/disk/DiskImageTest.java @@ -0,0 +1,19 @@ +package org.openslx.virtualization.disk; + +import java.io.IOException; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +public class DiskImageTest +{ + @Test + @DisplayName( "Test of invalid disk image" ) + public void testInvalidDiskImage() throws IOException + { + Assertions.assertThrows( DiskImageException.class, () -> { + DiskImage.newInstance( DiskImageTestResources.getDiskFile( "image-default.invalid" ) ); + } ); + } +} diff --git a/src/test/java/org/openslx/virtualization/disk/DiskImageTestResources.java b/src/test/java/org/openslx/virtualization/disk/DiskImageTestResources.java new file mode 100644 index 0000000..ab97bbd --- /dev/null +++ b/src/test/java/org/openslx/virtualization/disk/DiskImageTestResources.java @@ -0,0 +1,16 @@ +package org.openslx.virtualization.disk; + +import java.io.File; +import java.net.URL; + +public class DiskImageTestResources +{ + private static final String DISK_PREFIX_PATH = File.separator + "disk"; + + public static File getDiskFile( String diskFileName ) + { + String diskPath = DiskImageTestResources.DISK_PREFIX_PATH + File.separator + diskFileName; + URL disk = DiskImageTestResources.class.getResource( diskPath ); + return new File( disk.getFile() ); + } +} diff --git a/src/test/java/org/openslx/virtualization/disk/DiskImageVdiTest.java b/src/test/java/org/openslx/virtualization/disk/DiskImageVdiTest.java new file mode 100644 index 0000000..06307fa --- /dev/null +++ b/src/test/java/org/openslx/virtualization/disk/DiskImageVdiTest.java @@ -0,0 +1,44 @@ +package org.openslx.virtualization.disk; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; + +import java.io.IOException; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.openslx.virtualization.Version; +import org.openslx.virtualization.disk.DiskImage.ImageFormat; + +public class DiskImageVdiTest +{ + @Test + @DisplayName( "Test detection of default VDI disk image" ) + public void testVdiDiskImage() throws DiskImageException, IOException + { + final DiskImage image = DiskImage.newInstance( DiskImageTestResources.getDiskFile( "image-default.vdi" ) ); + final Version imageVersion = new Version( Short.valueOf( "1" ), Short.valueOf( "1" ) ); + + assertEquals( ImageFormat.VDI.toString(), image.getFormat().toString() ); + assertEquals( true, image.isStandalone() ); + assertEquals( false, image.isSnapshot() ); + assertEquals( false, image.isCompressed() ); + assertEquals( imageVersion, image.getVersion() ); + assertNotNull( image.getDescription() ); + } + + @Test + @DisplayName( "Test detection of VDI disk image snapshot" ) + public void testVdiDiskImageSnapshot() throws DiskImageException, IOException + { + final DiskImage image = DiskImage.newInstance( DiskImageTestResources.getDiskFile( "image-default_snapshot.vdi" ) ); + final Version imageVersion = new Version( Short.valueOf( "1" ), Short.valueOf( "1" ) ); + + assertEquals( ImageFormat.VDI.toString(), image.getFormat().toString() ); + assertEquals( true, image.isStandalone() ); + assertEquals( true, image.isSnapshot() ); + assertEquals( false, image.isCompressed() ); + assertEquals( imageVersion, image.getVersion() ); + assertNotNull( image.getDescription() ); + } +} diff --git a/src/test/java/org/openslx/virtualization/disk/DiskImageVmdkTest.java b/src/test/java/org/openslx/virtualization/disk/DiskImageVmdkTest.java new file mode 100644 index 0000000..5b3cccf --- /dev/null +++ b/src/test/java/org/openslx/virtualization/disk/DiskImageVmdkTest.java @@ -0,0 +1,111 @@ +package org.openslx.virtualization.disk; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; + +import java.io.IOException; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.openslx.virtualization.Version; +import org.openslx.virtualization.disk.DiskImage.ImageFormat; + +public class DiskImageVmdkTest +{ + @Test + @DisplayName( "Test detection of default VMDK disk image" ) + public void testVmdkDiskImage() throws DiskImageException, IOException + { + final DiskImage image = DiskImage.newInstance( DiskImageTestResources.getDiskFile( "image-default.vmdk" ) ); + final Version imageVersion = new Version( Short.valueOf( "1" ) ); + final Version imageHwVersion = new Version( Short.valueOf( "18" ) ); + + assertEquals( ImageFormat.VMDK.toString(), image.getFormat().toString() ); + assertEquals( true, image.isStandalone() ); + assertEquals( false, image.isSnapshot() ); + assertEquals( false, image.isCompressed() ); + assertEquals( imageVersion, image.getVersion() ); + assertNull( image.getDescription() ); + + // test special features of the VMDK disk image format + final DiskImageVmdk vmdkImage = DiskImageVmdk.class.cast( image ); + assertEquals( imageHwVersion, vmdkImage.getHwVersion() ); + } + + @Test + @DisplayName( "Test detection of VMDK disk image (type 0: single growable virtual disk)" ) + public void testVmdkDiskImageType0() throws DiskImageException, IOException + { + final DiskImage image = DiskImage.newInstance( DiskImageTestResources.getDiskFile( "image_t0.vmdk" ) ); + final Version imageVersion = new Version( Short.valueOf( "1" ) ); + final Version imageHwVersion = new Version( Short.valueOf( "18" ) ); + + assertEquals( ImageFormat.VMDK.toString(), image.getFormat().toString() ); + assertEquals( true, image.isStandalone() ); + assertEquals( false, image.isSnapshot() ); + assertEquals( false, image.isCompressed() ); + assertEquals( imageVersion, image.getVersion() ); + assertNull( image.getDescription() ); + + // test special features of the VMDK disk image format + final DiskImageVmdk vmdkImage = DiskImageVmdk.class.cast( image ); + assertEquals( imageHwVersion, vmdkImage.getHwVersion() ); + } + + @Test + @DisplayName( "Test detection of VMDK disk image (type 1: growable virtual disk split into multiple files)" ) + public void testVmdkDiskImageType1() throws DiskImageException, IOException + { + Assertions.assertThrows( DiskImageException.class, () -> { + DiskImage.newInstance( DiskImageTestResources.getDiskFile( "image_t1.vmdk" ) ); + } ); + } + + @Test + @DisplayName( "Test detection of VMDK disk image (type 2: preallocated virtual disk)" ) + public void testVmdkDiskImageType2() throws DiskImageException, IOException + { + Assertions.assertThrows( DiskImageException.class, () -> { + DiskImage.newInstance( DiskImageTestResources.getDiskFile( "image_t2.vmdk" ) ); + } ); + } + + @Test + @DisplayName( "Test detection of VMDK disk image (type 3: preallocated virtual disk split into multiple files)" ) + public void testVmdkDiskImageType3() throws DiskImageException, IOException + { + Assertions.assertThrows( DiskImageException.class, () -> { + DiskImage.newInstance( DiskImageTestResources.getDiskFile( "image_t3.vmdk" ) ); + } ); + } + + @Test + @DisplayName( "Test detection of VMDK disk image (type 4: preallocated ESX-type virtual disk)" ) + public void testVmdkDiskImageType4() throws DiskImageException, IOException + { + Assertions.assertThrows( DiskImageException.class, () -> { + DiskImage.newInstance( DiskImageTestResources.getDiskFile( "image_t4.vmdk" ) ); + } ); + } + + @Test + @DisplayName( "Test detection of VMDK disk image (type 5: compressed disk optimized for streaming)" ) + public void testVmdkDiskImageType5() throws DiskImageException, IOException + { + final DiskImage image = DiskImage.newInstance( DiskImageTestResources.getDiskFile( "image_t5.vmdk" ) ); + final Version imageVersion = new Version( Short.valueOf( "3" ) ); + final Version imageHwVersion = new Version( Short.valueOf( "18" ) ); + + assertEquals( ImageFormat.VMDK.toString(), image.getFormat().toString() ); + assertEquals( true, image.isStandalone() ); + assertEquals( false, image.isSnapshot() ); + assertEquals( true, image.isCompressed() ); + assertEquals( imageVersion, image.getVersion() ); + assertNull( image.getDescription() ); + + // test special features of the VMDK disk image format + final DiskImageVmdk vmdkImage = DiskImageVmdk.class.cast( image ); + assertEquals( imageHwVersion, vmdkImage.getHwVersion() ); + } +} diff --git a/src/test/java/org/openslx/vm/disk/DiskImageQcow2Test.java b/src/test/java/org/openslx/vm/disk/DiskImageQcow2Test.java deleted file mode 100644 index 7804d7d..0000000 --- a/src/test/java/org/openslx/vm/disk/DiskImageQcow2Test.java +++ /dev/null @@ -1,221 +0,0 @@ -package org.openslx.vm.disk; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNull; - -import java.io.IOException; - -import org.junit.jupiter.api.DisplayName; -import org.junit.jupiter.api.Test; -import org.openslx.virtualization.Version; -import org.openslx.vm.disk.DiskImage.ImageFormat; - -public class DiskImageQcow2Test -{ - @Test - @DisplayName( "Test detection of default QCOW2 disk image" ) - public void testQcow2DiskImage() throws DiskImageException, IOException - { - final DiskImage image = DiskImage.newInstance( DiskImageTestResources.getDiskFile( "image-default.qcow2" ) ); - final Version imageVersion = new Version( Short.valueOf( "3" ) ); - - assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() ); - assertEquals( true, image.isStandalone() ); - assertEquals( false, image.isSnapshot() ); - assertEquals( false, image.isCompressed() ); - assertEquals( imageVersion, image.getVersion() ); - assertNull( image.getDescription() ); - } - - @Test - @DisplayName( "Test detection of compressed, 16384 byte cluster QCOW2 disk image with extended L2 tables" ) - public void testQcow2DetectionL2Compressed16384DiskImage() throws DiskImageException, IOException - { - final DiskImage image = DiskImage - .newInstance( DiskImageTestResources.getDiskFile( "image_cs-16384_cp-on_l2-on.qcow2" ) ); - final Version imageVersion = new Version( Short.valueOf( "3" ) ); - - assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() ); - assertEquals( true, image.isStandalone() ); - assertEquals( false, image.isSnapshot() ); - assertEquals( true, image.isCompressed() ); - assertEquals( imageVersion, image.getVersion() ); - assertNull( image.getDescription() ); - } - - @Test - @DisplayName( "Test detection of compressed, 16384 byte cluster QCOW2 disk image without extended L2 tables" ) - public void testQcow2DetectionNonL2Compressed16384DiskImage() throws DiskImageException, IOException - { - final DiskImage image = DiskImage - .newInstance( DiskImageTestResources.getDiskFile( "image_cs-16384_cp-on_l2-off.qcow2" ) ); - final Version imageVersion = new Version( Short.valueOf( "3" ) ); - - assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() ); - assertEquals( true, image.isStandalone() ); - assertEquals( false, image.isSnapshot() ); - assertEquals( true, image.isCompressed() ); - assertEquals( imageVersion, image.getVersion() ); - assertNull( image.getDescription() ); - } - - @Test - @DisplayName( "Test detection of non-compressed, 16384 byte cluster QCOW2 disk image with extended L2 tables" ) - public void testQcow2DetectionL2NonCompressed16384DiskImage() throws DiskImageException, IOException - { - final DiskImage image = DiskImage - .newInstance( DiskImageTestResources.getDiskFile( "image_cs-16384_cp-off_l2-on.qcow2" ) ); - final Version imageVersion = new Version( Short.valueOf( "3" ) ); - - assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() ); - assertEquals( true, image.isStandalone() ); - assertEquals( false, image.isSnapshot() ); - assertEquals( false, image.isCompressed() ); - assertEquals( imageVersion, image.getVersion() ); - assertNull( image.getDescription() ); - } - - @Test - @DisplayName( "Test detection of non-compressed, 16384 byte cluster QCOW2 disk image without extended L2 tables" ) - public void testQcow2DetectionNonL2NonCompressed16384DiskImage() throws DiskImageException, IOException - { - final DiskImage image = DiskImage - .newInstance( DiskImageTestResources.getDiskFile( "image_cs-16384_cp-off_l2-off.qcow2" ) ); - final Version imageVersion = new Version( Short.valueOf( "3" ) ); - - assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() ); - assertEquals( true, image.isStandalone() ); - assertEquals( false, image.isSnapshot() ); - assertEquals( false, image.isCompressed() ); - assertEquals( imageVersion, image.getVersion() ); - assertNull( image.getDescription() ); - } - - @Test - @DisplayName( "Test detection of compressed, 65536 byte cluster QCOW2 disk image with extended L2 tables" ) - public void testQcow2DetectionL2Compressed65536DiskImage() throws DiskImageException, IOException - { - final DiskImage image = DiskImage - .newInstance( DiskImageTestResources.getDiskFile( "image_cs-65536_cp-on_l2-on.qcow2" ) ); - final Version imageVersion = new Version( Short.valueOf( "3" ) ); - - assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() ); - assertEquals( true, image.isStandalone() ); - assertEquals( false, image.isSnapshot() ); - assertEquals( true, image.isCompressed() ); - assertEquals( imageVersion, image.getVersion() ); - assertNull( image.getDescription() ); - } - - @Test - @DisplayName( "Test detection of compressed, 65536 byte cluster QCOW2 disk image without extended L2 tables" ) - public void testQcow2DetectionNonL2Compressed65536DiskImage() throws DiskImageException, IOException - { - final DiskImage image = DiskImage - .newInstance( DiskImageTestResources.getDiskFile( "image_cs-65536_cp-on_l2-off.qcow2" ) ); - final Version imageVersion = new Version( Short.valueOf( "3" ) ); - - assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() ); - assertEquals( true, image.isStandalone() ); - assertEquals( false, image.isSnapshot() ); - assertEquals( true, image.isCompressed() ); - assertEquals( imageVersion, image.getVersion() ); - assertNull( image.getDescription() ); - } - - @Test - @DisplayName( "Test detection of non-compressed, 65536 byte cluster QCOW2 disk image with extended L2 tables" ) - public void testQcow2DetectionL2NonCompressed65536DiskImage() throws DiskImageException, IOException - { - final DiskImage image = DiskImage - .newInstance( DiskImageTestResources.getDiskFile( "image_cs-65536_cp-off_l2-on.qcow2" ) ); - final Version imageVersion = new Version( Short.valueOf( "3" ) ); - - assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() ); - assertEquals( true, image.isStandalone() ); - assertEquals( false, image.isSnapshot() ); - assertEquals( false, image.isCompressed() ); - assertEquals( imageVersion, image.getVersion() ); - assertNull( image.getDescription() ); - } - - @Test - @DisplayName( "Test detection of non-compressed, 65536 byte cluster QCOW2 disk image without extended L2 tables" ) - public void testQcow2DetectionNonL2NonCompressed65536DiskImage() throws DiskImageException, IOException - { - final DiskImage image = DiskImage - .newInstance( DiskImageTestResources.getDiskFile( "image_cs-65536_cp-off_l2-off.qcow2" ) ); - final Version imageVersion = new Version( Short.valueOf( "3" ) ); - - assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() ); - assertEquals( true, image.isStandalone() ); - assertEquals( false, image.isSnapshot() ); - assertEquals( false, image.isCompressed() ); - assertEquals( imageVersion, image.getVersion() ); - assertNull( image.getDescription() ); - } - - @Test - @DisplayName( "Test detection of compressed, 2097152 byte cluster QCOW2 disk image with extended L2 tables" ) - public void testQcow2DetectionL2Compressed2097152DiskImage() throws DiskImageException, IOException - { - final DiskImage image = DiskImage - .newInstance( DiskImageTestResources.getDiskFile( "image_cs-2097152_cp-on_l2-on.qcow2" ) ); - final Version imageVersion = new Version( Short.valueOf( "3" ) ); - - assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() ); - assertEquals( true, image.isStandalone() ); - assertEquals( false, image.isSnapshot() ); - assertEquals( true, image.isCompressed() ); - assertEquals( imageVersion, image.getVersion() ); - assertNull( image.getDescription() ); - } - - @Test - @DisplayName( "Test detection of compressed, 2097152 byte cluster QCOW2 disk image without extended L2 tables" ) - public void testQcow2DetectionNonL2Compressed2097152DiskImage() throws DiskImageException, IOException - { - final DiskImage image = DiskImage - .newInstance( DiskImageTestResources.getDiskFile( "image_cs-2097152_cp-on_l2-off.qcow2" ) ); - final Version imageVersion = new Version( Short.valueOf( "3" ) ); - - assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() ); - assertEquals( true, image.isStandalone() ); - assertEquals( false, image.isSnapshot() ); - assertEquals( true, image.isCompressed() ); - assertEquals( imageVersion, image.getVersion() ); - assertNull( image.getDescription() ); - } - - @Test - @DisplayName( "Test detection of non-compressed, 2097152 byte cluster QCOW2 disk image with extended L2 tables" ) - public void testQcow2DetectionL2NonCompressed2097152DiskImage() throws DiskImageException, IOException - { - final DiskImage image = DiskImage - .newInstance( DiskImageTestResources.getDiskFile( "image_cs-2097152_cp-off_l2-on.qcow2" ) ); - final Version imageVersion = new Version( Short.valueOf( "3" ) ); - - assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() ); - assertEquals( true, image.isStandalone() ); - assertEquals( false, image.isSnapshot() ); - assertEquals( false, image.isCompressed() ); - assertEquals( imageVersion, image.getVersion() ); - assertNull( image.getDescription() ); - } - - @Test - @DisplayName( "Test detection of non-compressed, 2097152 byte cluster QCOW2 disk image without extended L2 tables" ) - public void testQcow2DetectionNonL2NonCompressed2097152DiskImage() throws DiskImageException, IOException - { - final DiskImage image = DiskImage - .newInstance( DiskImageTestResources.getDiskFile( "image_cs-2097152_cp-off_l2-off.qcow2" ) ); - final Version imageVersion = new Version( Short.valueOf( "3" ) ); - - assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() ); - assertEquals( true, image.isStandalone() ); - assertEquals( false, image.isSnapshot() ); - assertEquals( false, image.isCompressed() ); - assertEquals( imageVersion, image.getVersion() ); - assertNull( image.getDescription() ); - } -} diff --git a/src/test/java/org/openslx/vm/disk/DiskImageTest.java b/src/test/java/org/openslx/vm/disk/DiskImageTest.java deleted file mode 100644 index 2572c58..0000000 --- a/src/test/java/org/openslx/vm/disk/DiskImageTest.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.openslx.vm.disk; - -import java.io.IOException; - -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.DisplayName; -import org.junit.jupiter.api.Test; - -public class DiskImageTest -{ - @Test - @DisplayName( "Test of invalid disk image" ) - public void testInvalidDiskImage() throws IOException - { - Assertions.assertThrows( DiskImageException.class, () -> { - DiskImage.newInstance( DiskImageTestResources.getDiskFile( "image-default.invalid" ) ); - } ); - } -} diff --git a/src/test/java/org/openslx/vm/disk/DiskImageTestResources.java b/src/test/java/org/openslx/vm/disk/DiskImageTestResources.java deleted file mode 100644 index 2ec2e05..0000000 --- a/src/test/java/org/openslx/vm/disk/DiskImageTestResources.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.openslx.vm.disk; - -import java.io.File; -import java.net.URL; - -public class DiskImageTestResources -{ - private static final String DISK_PREFIX_PATH = File.separator + "disk"; - - public static File getDiskFile( String diskFileName ) - { - String diskPath = DiskImageTestResources.DISK_PREFIX_PATH + File.separator + diskFileName; - URL disk = DiskImageTestResources.class.getResource( diskPath ); - return new File( disk.getFile() ); - } -} diff --git a/src/test/java/org/openslx/vm/disk/DiskImageVdiTest.java b/src/test/java/org/openslx/vm/disk/DiskImageVdiTest.java deleted file mode 100644 index 85112cc..0000000 --- a/src/test/java/org/openslx/vm/disk/DiskImageVdiTest.java +++ /dev/null @@ -1,44 +0,0 @@ -package org.openslx.vm.disk; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotNull; - -import java.io.IOException; - -import org.junit.jupiter.api.DisplayName; -import org.junit.jupiter.api.Test; -import org.openslx.virtualization.Version; -import org.openslx.vm.disk.DiskImage.ImageFormat; - -public class DiskImageVdiTest -{ - @Test - @DisplayName( "Test detection of default VDI disk image" ) - public void testVdiDiskImage() throws DiskImageException, IOException - { - final DiskImage image = DiskImage.newInstance( DiskImageTestResources.getDiskFile( "image-default.vdi" ) ); - final Version imageVersion = new Version( Short.valueOf( "1" ), Short.valueOf( "1" ) ); - - assertEquals( ImageFormat.VDI.toString(), image.getFormat().toString() ); - assertEquals( true, image.isStandalone() ); - assertEquals( false, image.isSnapshot() ); - assertEquals( false, image.isCompressed() ); - assertEquals( imageVersion, image.getVersion() ); - assertNotNull( image.getDescription() ); - } - - @Test - @DisplayName( "Test detection of VDI disk image snapshot" ) - public void testVdiDiskImageSnapshot() throws DiskImageException, IOException - { - final DiskImage image = DiskImage.newInstance( DiskImageTestResources.getDiskFile( "image-default_snapshot.vdi" ) ); - final Version imageVersion = new Version( Short.valueOf( "1" ), Short.valueOf( "1" ) ); - - assertEquals( ImageFormat.VDI.toString(), image.getFormat().toString() ); - assertEquals( true, image.isStandalone() ); - assertEquals( true, image.isSnapshot() ); - assertEquals( false, image.isCompressed() ); - assertEquals( imageVersion, image.getVersion() ); - assertNotNull( image.getDescription() ); - } -} diff --git a/src/test/java/org/openslx/vm/disk/DiskImageVmdkTest.java b/src/test/java/org/openslx/vm/disk/DiskImageVmdkTest.java deleted file mode 100644 index 4c8be82..0000000 --- a/src/test/java/org/openslx/vm/disk/DiskImageVmdkTest.java +++ /dev/null @@ -1,111 +0,0 @@ -package org.openslx.vm.disk; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNull; - -import java.io.IOException; - -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.DisplayName; -import org.junit.jupiter.api.Test; -import org.openslx.virtualization.Version; -import org.openslx.vm.disk.DiskImage.ImageFormat; - -public class DiskImageVmdkTest -{ - @Test - @DisplayName( "Test detection of default VMDK disk image" ) - public void testVmdkDiskImage() throws DiskImageException, IOException - { - final DiskImage image = DiskImage.newInstance( DiskImageTestResources.getDiskFile( "image-default.vmdk" ) ); - final Version imageVersion = new Version( Short.valueOf( "1" ) ); - final Version imageHwVersion = new Version( Short.valueOf( "18" ) ); - - assertEquals( ImageFormat.VMDK.toString(), image.getFormat().toString() ); - assertEquals( true, image.isStandalone() ); - assertEquals( false, image.isSnapshot() ); - assertEquals( false, image.isCompressed() ); - assertEquals( imageVersion, image.getVersion() ); - assertNull( image.getDescription() ); - - // test special features of the VMDK disk image format - final DiskImageVmdk vmdkImage = DiskImageVmdk.class.cast( image ); - assertEquals( imageHwVersion, vmdkImage.getHwVersion() ); - } - - @Test - @DisplayName( "Test detection of VMDK disk image (type 0: single growable virtual disk)" ) - public void testVmdkDiskImageType0() throws DiskImageException, IOException - { - final DiskImage image = DiskImage.newInstance( DiskImageTestResources.getDiskFile( "image_t0.vmdk" ) ); - final Version imageVersion = new Version( Short.valueOf( "1" ) ); - final Version imageHwVersion = new Version( Short.valueOf( "18" ) ); - - assertEquals( ImageFormat.VMDK.toString(), image.getFormat().toString() ); - assertEquals( true, image.isStandalone() ); - assertEquals( false, image.isSnapshot() ); - assertEquals( false, image.isCompressed() ); - assertEquals( imageVersion, image.getVersion() ); - assertNull( image.getDescription() ); - - // test special features of the VMDK disk image format - final DiskImageVmdk vmdkImage = DiskImageVmdk.class.cast( image ); - assertEquals( imageHwVersion, vmdkImage.getHwVersion() ); - } - - @Test - @DisplayName( "Test detection of VMDK disk image (type 1: growable virtual disk split into multiple files)" ) - public void testVmdkDiskImageType1() throws DiskImageException, IOException - { - Assertions.assertThrows( DiskImageException.class, () -> { - DiskImage.newInstance( DiskImageTestResources.getDiskFile( "image_t1.vmdk" ) ); - } ); - } - - @Test - @DisplayName( "Test detection of VMDK disk image (type 2: preallocated virtual disk)" ) - public void testVmdkDiskImageType2() throws DiskImageException, IOException - { - Assertions.assertThrows( DiskImageException.class, () -> { - DiskImage.newInstance( DiskImageTestResources.getDiskFile( "image_t2.vmdk" ) ); - } ); - } - - @Test - @DisplayName( "Test detection of VMDK disk image (type 3: preallocated virtual disk split into multiple files)" ) - public void testVmdkDiskImageType3() throws DiskImageException, IOException - { - Assertions.assertThrows( DiskImageException.class, () -> { - DiskImage.newInstance( DiskImageTestResources.getDiskFile( "image_t3.vmdk" ) ); - } ); - } - - @Test - @DisplayName( "Test detection of VMDK disk image (type 4: preallocated ESX-type virtual disk)" ) - public void testVmdkDiskImageType4() throws DiskImageException, IOException - { - Assertions.assertThrows( DiskImageException.class, () -> { - DiskImage.newInstance( DiskImageTestResources.getDiskFile( "image_t4.vmdk" ) ); - } ); - } - - @Test - @DisplayName( "Test detection of VMDK disk image (type 5: compressed disk optimized for streaming)" ) - public void testVmdkDiskImageType5() throws DiskImageException, IOException - { - final DiskImage image = DiskImage.newInstance( DiskImageTestResources.getDiskFile( "image_t5.vmdk" ) ); - final Version imageVersion = new Version( Short.valueOf( "3" ) ); - final Version imageHwVersion = new Version( Short.valueOf( "18" ) ); - - assertEquals( ImageFormat.VMDK.toString(), image.getFormat().toString() ); - assertEquals( true, image.isStandalone() ); - assertEquals( false, image.isSnapshot() ); - assertEquals( true, image.isCompressed() ); - assertEquals( imageVersion, image.getVersion() ); - assertNull( image.getDescription() ); - - // test special features of the VMDK disk image format - final DiskImageVmdk vmdkImage = DiskImageVmdk.class.cast( image ); - assertEquals( imageHwVersion, vmdkImage.getHwVersion() ); - } -} -- cgit v1.2.3-55-g7522