summaryrefslogtreecommitdiffstats
path: root/src/test
diff options
context:
space:
mode:
authorManuel Bentele2021-04-23 16:44:18 +0200
committerManuel Bentele2021-04-23 16:44:18 +0200
commit966cbd842fac0996742f33c85c60221c9e461930 (patch)
tree75970d9c506730c1736c8b01430b5ad0c56b22ed /src/test
parentEncapsulate transformation logic for virtualization configurations (diff)
downloadmaster-sync-shared-966cbd842fac0996742f33c85c60221c9e461930.tar.gz
master-sync-shared-966cbd842fac0996742f33c85c60221c9e461930.tar.xz
master-sync-shared-966cbd842fac0996742f33c85c60221c9e461930.zip
Refactors and abstracts version information in config logic and disk image
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/org/openslx/virtualization/VersionTest.java98
-rw-r--r--src/test/java/org/openslx/virtualization/configuration/VirtualizationConfigurationQemuTest.java35
-rw-r--r--src/test/java/org/openslx/vm/disk/DiskImageQcow2Test.java27
-rw-r--r--src/test/java/org/openslx/vm/disk/DiskImageVdiTest.java7
-rw-r--r--src/test/java/org/openslx/vm/disk/DiskImageVmdkTest.java13
5 files changed, 126 insertions, 54 deletions
diff --git a/src/test/java/org/openslx/virtualization/VersionTest.java b/src/test/java/org/openslx/virtualization/VersionTest.java
new file mode 100644
index 0000000..c1ad21b
--- /dev/null
+++ b/src/test/java/org/openslx/virtualization/VersionTest.java
@@ -0,0 +1,98 @@
+package org.openslx.virtualization;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.junit.jupiter.api.DisplayName;
+import org.junit.jupiter.api.Test;
+
+public class VersionTest
+{
+ @Test
+ @DisplayName( "Test that version is supported in list of versions" )
+ public void testVersionIsSupported()
+ {
+ final Version version = new Version( Short.valueOf( "2" ), Short.valueOf( "3" ) );
+ final List<Version> versions = Collections.unmodifiableList( Arrays.asList(
+ new Version( Short.valueOf( "2" ) ),
+ new Version( Short.valueOf( "4" ), Short.valueOf( "3" ) ),
+ new Version( Short.valueOf( "2" ), Short.valueOf( "3" ) ),
+ new Version( Short.valueOf( "1" ), Short.valueOf( "3" ) ) ) );
+
+ assertTrue( version.isSupported( versions ) );
+ }
+
+ @Test
+ @DisplayName( "Test that version is not supported in list of versions" )
+ public void testVersionIsNotSupported()
+ {
+ final Version version = new Version( Short.valueOf( "2" ), Short.valueOf( "3" ) );
+ final List<Version> versions = Collections.unmodifiableList( Arrays.asList(
+ new Version( Short.valueOf( "2" ) ),
+ new Version( Short.valueOf( "4" ), Short.valueOf( "3" ) ),
+ new Version( Short.valueOf( "6" ), Short.valueOf( "9" ) ),
+ new Version( Short.valueOf( "1" ), Short.valueOf( "3" ) ) ) );
+
+ assertFalse( version.isSupported( versions ) );
+ }
+
+ @Test
+ @DisplayName( "Test that versions are equal" )
+ public void testVersionEquals()
+ {
+ final Version versionOne = new Version( Short.valueOf( "2" ), Short.valueOf( "3" ) );
+ final Version versionTwo = new Version( Short.valueOf( "2" ), Short.valueOf( "3" ) );
+
+ assertTrue( versionOne.equals( versionTwo ) );
+ assertTrue( versionTwo.equals( versionOne ) );
+ }
+
+ @Test
+ @DisplayName( "Test that versions are not equal" )
+ public void testVersionNotEquals()
+ {
+ final Version versionOne = new Version( Short.valueOf( "3" ), Short.valueOf( "2" ) );
+ final Version versionTwo = new Version( Short.valueOf( "3" ), Short.valueOf( "3" ) );
+
+ assertFalse( versionOne.equals( versionTwo ) );
+ assertFalse( versionTwo.equals( versionOne ) );
+ }
+
+ @Test
+ @DisplayName( "Test that version is smaller than" )
+ public void testVersionSmallerThan()
+ {
+ final Version versionOne = new Version( Short.valueOf( "2" ), Short.valueOf( "3" ) );
+ final Version versionTwo = new Version( Short.valueOf( "3" ), Short.valueOf( "2" ) );
+
+ assertEquals( -1, versionOne.compareTo( versionTwo ) );
+ assertEquals( 1, versionTwo.compareTo( versionOne ) );
+ }
+
+ @Test
+ @DisplayName( "Test that version is larger than" )
+ public void testVersionLargerThan()
+ {
+ final Version versionOne = new Version( Short.valueOf( "3" ), Short.valueOf( "3" ) );
+ final Version versionTwo = new Version( Short.valueOf( "3" ), Short.valueOf( "2" ) );
+
+ assertEquals( 1, versionOne.compareTo( versionTwo ) );
+ assertEquals( -1, versionTwo.compareTo( versionOne ) );
+ }
+
+ @Test
+ @DisplayName( "Test that versions are equal (compareTo)" )
+ public void testVersionEqualCompareTo()
+ {
+ final Version versionOne = new Version( Short.valueOf( "2" ), Short.valueOf( "3" ) );
+ final Version versionTwo = new Version( Short.valueOf( "2" ), Short.valueOf( "3" ) );
+
+ assertEquals( 0, versionOne.compareTo( versionTwo ) );
+ assertEquals( 0, versionTwo.compareTo( versionOne ) );
+ }
+}
diff --git a/src/test/java/org/openslx/virtualization/configuration/VirtualizationConfigurationQemuTest.java b/src/test/java/org/openslx/virtualization/configuration/VirtualizationConfigurationQemuTest.java
index fe82a53..0412002 100644
--- a/src/test/java/org/openslx/virtualization/configuration/VirtualizationConfigurationQemuTest.java
+++ b/src/test/java/org/openslx/virtualization/configuration/VirtualizationConfigurationQemuTest.java
@@ -107,7 +107,7 @@ public class VirtualizationConfigurationQemuTest
final Domain vmLibvirtDomainConfig = VirtualizationConfigurationQemuTest
.getPrivateDomainFromQemuMetaData( vmConfig );
- final List<DiskImage.ImageFormat> supportedImageFormats = vmConfig.getSupportedImageFormats();
+ final List<DiskImage.ImageFormat> supportedImageFormats = vmConfig.getVirtualizer().getSupportedImageFormats();
assertNotNull( supportedImageFormats );
assertEquals( 3, supportedImageFormats.size() );
@@ -150,9 +150,7 @@ public class VirtualizationConfigurationQemuTest
final Domain vmLibvirtDomainConfig = VirtualizationConfigurationQemuTest
.getPrivateDomainFromQemuMetaData( vmConfig );
- final int numberOfDeletedElements = 1;
-
- final String unfilteredXmlConfig = new String( vmConfig.getDefinitionArray(), StandardCharsets.UTF_8 );
+ final String unfilteredXmlConfig = new String( vmConfig.getConfigurationAsByteArray(), StandardCharsets.UTF_8 );
final String originalXmlConfig = FileUtils.readFileToString( file, StandardCharsets.UTF_8 );
assertNotNull( unfilteredXmlConfig );
@@ -160,34 +158,7 @@ public class VirtualizationConfigurationQemuTest
final int lengthUnfilteredXmlConfig = unfilteredXmlConfig.split( System.lineSeparator() ).length;
final int lengthOriginalXmlConfig = originalXmlConfig.split( System.lineSeparator() ).length;
- assertEquals( lengthOriginalXmlConfig, lengthUnfilteredXmlConfig + numberOfDeletedElements );
-
- assertDoesNotThrow( () -> vmLibvirtDomainConfig.validateXml() );
- }
-
- @Test
- @DisplayName( "Test output of filtered VM configuration" )
- public void testQemuMetaDataGetFilteredDefinitionArray()
- throws VirtualizationConfigurationException, IOException, NoSuchFieldException, SecurityException,
- IllegalArgumentException, IllegalAccessException
- {
- File file = LibvirtXmlTestResources.getLibvirtXmlFile( "qemu-kvm_default-archlinux-vm.xml" );
- VirtualizationConfigurationQemu vmConfig = new VirtualizationConfigurationQemu( null, file );
-
- final Domain vmLibvirtDomainConfig = VirtualizationConfigurationQemuTest
- .getPrivateDomainFromQemuMetaData( vmConfig );
-
- final int numberOfDeletedElements = 2;
-
- final String filteredXmlConfig = new String( vmConfig.getFilteredDefinitionArray(), StandardCharsets.UTF_8 );
- final String originalXmlConfig = FileUtils.readFileToString( file, StandardCharsets.UTF_8 );
-
- assertNotNull( filteredXmlConfig );
-
- final int lengthFilteredXmlConfig = filteredXmlConfig.split( System.lineSeparator() ).length;
- final int lengthOriginalXmlConfig = originalXmlConfig.split( System.lineSeparator() ).length;
-
- assertEquals( lengthOriginalXmlConfig, lengthFilteredXmlConfig + numberOfDeletedElements );
+ assertEquals( lengthOriginalXmlConfig, lengthUnfilteredXmlConfig );
assertDoesNotThrow( () -> vmLibvirtDomainConfig.validateXml() );
}
diff --git a/src/test/java/org/openslx/vm/disk/DiskImageQcow2Test.java b/src/test/java/org/openslx/vm/disk/DiskImageQcow2Test.java
index 530cd60..7804d7d 100644
--- a/src/test/java/org/openslx/vm/disk/DiskImageQcow2Test.java
+++ b/src/test/java/org/openslx/vm/disk/DiskImageQcow2Test.java
@@ -7,6 +7,7 @@ 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
@@ -16,7 +17,7 @@ public class DiskImageQcow2Test
public void testQcow2DiskImage() throws DiskImageException, IOException
{
final DiskImage image = DiskImage.newInstance( DiskImageTestResources.getDiskFile( "image-default.qcow2" ) );
- final int imageVersion = DiskImageUtils.versionFromMajor( Short.valueOf( "3" ) );
+ final Version imageVersion = new Version( Short.valueOf( "3" ) );
assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() );
assertEquals( true, image.isStandalone() );
@@ -32,7 +33,7 @@ public class DiskImageQcow2Test
{
final DiskImage image = DiskImage
.newInstance( DiskImageTestResources.getDiskFile( "image_cs-16384_cp-on_l2-on.qcow2" ) );
- final int imageVersion = DiskImageUtils.versionFromMajor( Short.valueOf( "3" ) );
+ final Version imageVersion = new Version( Short.valueOf( "3" ) );
assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() );
assertEquals( true, image.isStandalone() );
@@ -48,7 +49,7 @@ public class DiskImageQcow2Test
{
final DiskImage image = DiskImage
.newInstance( DiskImageTestResources.getDiskFile( "image_cs-16384_cp-on_l2-off.qcow2" ) );
- final int imageVersion = DiskImageUtils.versionFromMajor( Short.valueOf( "3" ) );
+ final Version imageVersion = new Version( Short.valueOf( "3" ) );
assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() );
assertEquals( true, image.isStandalone() );
@@ -64,7 +65,7 @@ public class DiskImageQcow2Test
{
final DiskImage image = DiskImage
.newInstance( DiskImageTestResources.getDiskFile( "image_cs-16384_cp-off_l2-on.qcow2" ) );
- final int imageVersion = DiskImageUtils.versionFromMajor( Short.valueOf( "3" ) );
+ final Version imageVersion = new Version( Short.valueOf( "3" ) );
assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() );
assertEquals( true, image.isStandalone() );
@@ -80,7 +81,7 @@ public class DiskImageQcow2Test
{
final DiskImage image = DiskImage
.newInstance( DiskImageTestResources.getDiskFile( "image_cs-16384_cp-off_l2-off.qcow2" ) );
- final int imageVersion = DiskImageUtils.versionFromMajor( Short.valueOf( "3" ) );
+ final Version imageVersion = new Version( Short.valueOf( "3" ) );
assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() );
assertEquals( true, image.isStandalone() );
@@ -96,7 +97,7 @@ public class DiskImageQcow2Test
{
final DiskImage image = DiskImage
.newInstance( DiskImageTestResources.getDiskFile( "image_cs-65536_cp-on_l2-on.qcow2" ) );
- final int imageVersion = DiskImageUtils.versionFromMajor( Short.valueOf( "3" ) );
+ final Version imageVersion = new Version( Short.valueOf( "3" ) );
assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() );
assertEquals( true, image.isStandalone() );
@@ -112,7 +113,7 @@ public class DiskImageQcow2Test
{
final DiskImage image = DiskImage
.newInstance( DiskImageTestResources.getDiskFile( "image_cs-65536_cp-on_l2-off.qcow2" ) );
- final int imageVersion = DiskImageUtils.versionFromMajor( Short.valueOf( "3" ) );
+ final Version imageVersion = new Version( Short.valueOf( "3" ) );
assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() );
assertEquals( true, image.isStandalone() );
@@ -128,7 +129,7 @@ public class DiskImageQcow2Test
{
final DiskImage image = DiskImage
.newInstance( DiskImageTestResources.getDiskFile( "image_cs-65536_cp-off_l2-on.qcow2" ) );
- final int imageVersion = DiskImageUtils.versionFromMajor( Short.valueOf( "3" ) );
+ final Version imageVersion = new Version( Short.valueOf( "3" ) );
assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() );
assertEquals( true, image.isStandalone() );
@@ -144,7 +145,7 @@ public class DiskImageQcow2Test
{
final DiskImage image = DiskImage
.newInstance( DiskImageTestResources.getDiskFile( "image_cs-65536_cp-off_l2-off.qcow2" ) );
- final int imageVersion = DiskImageUtils.versionFromMajor( Short.valueOf( "3" ) );
+ final Version imageVersion = new Version( Short.valueOf( "3" ) );
assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() );
assertEquals( true, image.isStandalone() );
@@ -160,7 +161,7 @@ public class DiskImageQcow2Test
{
final DiskImage image = DiskImage
.newInstance( DiskImageTestResources.getDiskFile( "image_cs-2097152_cp-on_l2-on.qcow2" ) );
- final int imageVersion = DiskImageUtils.versionFromMajor( Short.valueOf( "3" ) );
+ final Version imageVersion = new Version( Short.valueOf( "3" ) );
assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() );
assertEquals( true, image.isStandalone() );
@@ -176,7 +177,7 @@ public class DiskImageQcow2Test
{
final DiskImage image = DiskImage
.newInstance( DiskImageTestResources.getDiskFile( "image_cs-2097152_cp-on_l2-off.qcow2" ) );
- final int imageVersion = DiskImageUtils.versionFromMajor( Short.valueOf( "3" ) );
+ final Version imageVersion = new Version( Short.valueOf( "3" ) );
assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() );
assertEquals( true, image.isStandalone() );
@@ -192,7 +193,7 @@ public class DiskImageQcow2Test
{
final DiskImage image = DiskImage
.newInstance( DiskImageTestResources.getDiskFile( "image_cs-2097152_cp-off_l2-on.qcow2" ) );
- final int imageVersion = DiskImageUtils.versionFromMajor( Short.valueOf( "3" ) );
+ final Version imageVersion = new Version( Short.valueOf( "3" ) );
assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() );
assertEquals( true, image.isStandalone() );
@@ -208,7 +209,7 @@ public class DiskImageQcow2Test
{
final DiskImage image = DiskImage
.newInstance( DiskImageTestResources.getDiskFile( "image_cs-2097152_cp-off_l2-off.qcow2" ) );
- final int imageVersion = DiskImageUtils.versionFromMajor( Short.valueOf( "3" ) );
+ final Version imageVersion = new Version( Short.valueOf( "3" ) );
assertEquals( ImageFormat.QCOW2.toString(), image.getFormat().toString() );
assertEquals( true, image.isStandalone() );
diff --git a/src/test/java/org/openslx/vm/disk/DiskImageVdiTest.java b/src/test/java/org/openslx/vm/disk/DiskImageVdiTest.java
index 492c6aa..85112cc 100644
--- a/src/test/java/org/openslx/vm/disk/DiskImageVdiTest.java
+++ b/src/test/java/org/openslx/vm/disk/DiskImageVdiTest.java
@@ -7,6 +7,7 @@ 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
@@ -16,7 +17,7 @@ public class DiskImageVdiTest
public void testVdiDiskImage() throws DiskImageException, IOException
{
final DiskImage image = DiskImage.newInstance( DiskImageTestResources.getDiskFile( "image-default.vdi" ) );
- final int imageVersion = DiskImageUtils.versionFromMajorMinor( Short.valueOf( "1" ), Short.valueOf( "1" ) );
+ final Version imageVersion = new Version( Short.valueOf( "1" ), Short.valueOf( "1" ) );
assertEquals( ImageFormat.VDI.toString(), image.getFormat().toString() );
assertEquals( true, image.isStandalone() );
@@ -25,13 +26,13 @@ public class DiskImageVdiTest
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 int imageVersion = DiskImageUtils.versionFromMajorMinor( Short.valueOf( "1" ), Short.valueOf( "1" ) );
+ final Version imageVersion = new Version( Short.valueOf( "1" ), Short.valueOf( "1" ) );
assertEquals( ImageFormat.VDI.toString(), image.getFormat().toString() );
assertEquals( true, image.isStandalone() );
diff --git a/src/test/java/org/openslx/vm/disk/DiskImageVmdkTest.java b/src/test/java/org/openslx/vm/disk/DiskImageVmdkTest.java
index 00cf561..4c8be82 100644
--- a/src/test/java/org/openslx/vm/disk/DiskImageVmdkTest.java
+++ b/src/test/java/org/openslx/vm/disk/DiskImageVmdkTest.java
@@ -8,6 +8,7 @@ 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
@@ -17,8 +18,8 @@ public class DiskImageVmdkTest
public void testVmdkDiskImage() throws DiskImageException, IOException
{
final DiskImage image = DiskImage.newInstance( DiskImageTestResources.getDiskFile( "image-default.vmdk" ) );
- final int imageVersion = DiskImageUtils.versionFromMajor( Short.valueOf( "1" ) );
- final int imageHwVersion = DiskImageUtils.versionFromMajor( Short.valueOf( "18" ) );
+ 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() );
@@ -37,8 +38,8 @@ public class DiskImageVmdkTest
public void testVmdkDiskImageType0() throws DiskImageException, IOException
{
final DiskImage image = DiskImage.newInstance( DiskImageTestResources.getDiskFile( "image_t0.vmdk" ) );
- final int imageVersion = DiskImageUtils.versionFromMajor( Short.valueOf( "1" ) );
- final int imageHwVersion = DiskImageUtils.versionFromMajor( Short.valueOf( "18" ) );
+ 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() );
@@ -93,8 +94,8 @@ public class DiskImageVmdkTest
public void testVmdkDiskImageType5() throws DiskImageException, IOException
{
final DiskImage image = DiskImage.newInstance( DiskImageTestResources.getDiskFile( "image_t5.vmdk" ) );
- final int imageVersion = DiskImageUtils.versionFromMajor( Short.valueOf( "3" ) );
- final int imageHwVersion = DiskImageUtils.versionFromMajor( Short.valueOf( "18" ) );
+ 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() );