diff options
Diffstat (limited to 'core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericInterfaceDevicesTest.java')
-rw-r--r-- | core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericInterfaceDevicesTest.java | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericInterfaceDevicesTest.java b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericInterfaceDevicesTest.java new file mode 100644 index 00000000..e4632784 --- /dev/null +++ b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericInterfaceDevicesTest.java @@ -0,0 +1,63 @@ +package org.openslx.runvirt.plugin.qemu.configuration; + +import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; +import static org.junit.jupiter.api.Assertions.assertEquals; + +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.Interface; +import org.openslx.libvirt.domain.device.Interface.Model; +import org.openslx.libvirt.domain.device.Interface.Type; +import org.openslx.runvirt.plugin.qemu.cmdln.CommandLineArgs; +import org.openslx.virtualization.configuration.VirtualizationConfigurationQemu; +import org.openslx.virtualization.configuration.transformation.TransformationException; + +public class TransformationGenericInterfaceDevicesTest +{ + @Test + @DisplayName( "Test transformation of VM network interface devices configuration with specified input data" ) + public void testTransformationGenericInterfaceDevices() throws TransformationException + { + final TransformationGenericInterfaceDevices transformation = new TransformationGenericInterfaceDevices(); + final Domain config = TransformationTestUtils.getDefaultDomain(); + final CommandLineArgs args = TransformationTestUtils.getDefaultCmdLnArgs(); + + final ArrayList<Interface> devicesBeforeTransformation = config.getInterfaceDevices(); + assertEquals( 1, devicesBeforeTransformation.size() ); + + transformation.transform( config, args ); + + final ArrayList<Interface> devicesAfterTransformation = config.getInterfaceDevices(); + assertEquals( 1, devicesAfterTransformation.size() ); + final Interface interfaceAfterTransformation = devicesAfterTransformation.get( 0 ); + assertEquals( Type.BRIDGE, interfaceAfterTransformation.getType() ); + assertEquals( Model.VIRTIO, interfaceAfterTransformation.getModel() ); + assertEquals( TransformationTestUtils.DEFAULT_VM_MAC0, interfaceAfterTransformation.getMacAddress() ); + assertEquals( VirtualizationConfigurationQemu.NETWORK_BRIDGE_NAT_DEFAULT, + interfaceAfterTransformation.getSource() ); + + assertDoesNotThrow( () -> config.validateXml() ); + } + + @Test + @DisplayName( "Test transformation of VM network interface devices configuration with unspecified input data" ) + public void testTransformationGenericInterfaceDevicesNoData() throws TransformationException + { + final TransformationGenericInterfaceDevices transformation = new TransformationGenericInterfaceDevices(); + final Domain config = TransformationTestUtils.getDefaultDomain(); + final CommandLineArgs args = TransformationTestUtils.getEmptyCmdLnArgs(); + + final ArrayList<Interface> devicesBeforeTransformation = config.getInterfaceDevices(); + assertEquals( 1, devicesBeforeTransformation.size() ); + + transformation.transform( config, args ); + + final ArrayList<Interface> devicesAfterTransformation = config.getInterfaceDevices(); + assertEquals( 0, devicesAfterTransformation.size() ); + + assertDoesNotThrow( () -> config.validateXml() ); + } +} |