From 9903d1dc34930d5059b37d7681a9f5bb39be165c Mon Sep 17 00:00:00 2001 From: Manuel Bentele Date: Wed, 11 Aug 2021 10:35:04 +0200 Subject: Add unit tests for Libvirt mediated device addresses --- .../device/HostdevMdevDeviceAddressTest.java | 71 +++++++++ .../xml/qemu-kvm_default-ubuntu-20-04-vm_mdev.xml | 175 +++++++++++++++++++++ 2 files changed, 246 insertions(+) create mode 100644 src/test/java/org/openslx/libvirt/domain/device/HostdevMdevDeviceAddressTest.java create mode 100644 src/test/resources/libvirt/xml/qemu-kvm_default-ubuntu-20-04-vm_mdev.xml (limited to 'src') diff --git a/src/test/java/org/openslx/libvirt/domain/device/HostdevMdevDeviceAddressTest.java b/src/test/java/org/openslx/libvirt/domain/device/HostdevMdevDeviceAddressTest.java new file mode 100644 index 0000000..15e419e --- /dev/null +++ b/src/test/java/org/openslx/libvirt/domain/device/HostdevMdevDeviceAddressTest.java @@ -0,0 +1,71 @@ +package org.openslx.libvirt.domain.device; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.util.UUID; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +public class HostdevMdevDeviceAddressTest +{ + @Test + @DisplayName( "Test that a mediated device address instance is parsed from a valid String" ) + public void testHostdevMdevDeviceAddressValueOfValid() + { + final UUID deviceAddress = UUID.randomUUID(); + final HostdevMdevDeviceAddress mdevDeviceAddr = HostdevMdevDeviceAddress + .valueOf( deviceAddress.toString() ); + + assertNotNull( mdevDeviceAddr ); + assertEquals( deviceAddress, mdevDeviceAddr.getDeviceAddress() ); + assertEquals( deviceAddress.toString(), mdevDeviceAddr.getDeviceAddressAsString() ); + } + + @Test + @DisplayName( "Test that no mediated device address instance is parsed from an invalid String" ) + public void testHostdevMdevDeviceAddressValueOfInvalid() + { + final HostdevMdevDeviceAddress mdevDeviceAddr = HostdevMdevDeviceAddress.valueOf( "0xaffe" ); + + assertNull( mdevDeviceAddr ); + } + + @Test + @DisplayName( "Test that two mediated device address instances are equal" ) + public void testHostdevMdevDeviceAddressEquals() + { + final HostdevMdevDeviceAddress mdevDeviceAddr1 = new HostdevMdevDeviceAddress( + new UUID( 0xdeadaffe, 0xaffedead ) ); + final HostdevMdevDeviceAddress mdevDeviceAddr2 = new HostdevMdevDeviceAddress( + new UUID( 0xdeadaffe, 0xaffedead ) ); + + assertTrue( mdevDeviceAddr1.equals( mdevDeviceAddr2 ) ); + } + + @Test + @DisplayName( "Test that two mediated device address instances are not equal" ) + public void testHostdevMdevDeviceAddressNotEquals() + { + final HostdevMdevDeviceAddress mdevDeviceAddr1 = new HostdevMdevDeviceAddress( + new UUID( 0xdeadaffe, 0xaffedead ) ); + final HostdevMdevDeviceAddress mdevDeviceAddr2 = new HostdevMdevDeviceAddress( + new UUID( 0xaffedead, 0xdeadaffe ) ); + + assertFalse( mdevDeviceAddr1.equals( mdevDeviceAddr2 ) ); + } + + @Test + @DisplayName( "Test that a mediated device address can be dumped to a String" ) + public void testHostdevMdevDeviceAddressToString() + { + final UUID deviceAddr = UUID.randomUUID(); + final HostdevMdevDeviceAddress mdevDeviceAddr = new HostdevMdevDeviceAddress( deviceAddr ); + + assertEquals( deviceAddr.toString(), mdevDeviceAddr.toString() ); + } +} diff --git a/src/test/resources/libvirt/xml/qemu-kvm_default-ubuntu-20-04-vm_mdev.xml b/src/test/resources/libvirt/xml/qemu-kvm_default-ubuntu-20-04-vm_mdev.xml new file mode 100644 index 0000000..c1bb1e2 --- /dev/null +++ b/src/test/resources/libvirt/xml/qemu-kvm_default-ubuntu-20-04-vm_mdev.xml @@ -0,0 +1,175 @@ + + ubuntu-20-04 + 8dc5433c-0228-49e4-b019-fa2b606aa544 + Ubuntu 20.04 + Ubuntu 20.04 desktop installation + + + + + + 4194304 + 4194304 + 2 + + hvm + + + + + + + + + + + + + + destroy + restart + destroy + + + + + + /usr/bin/qemu-system-x86_64 + + + + +
+ + + + + +
+ + + + +
+ + +
+ + + +
+ + + +
+ + + +
+ + +
+ + + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + +
+ + +
+ + + + + +
+ + + + + +
+ + + + + + + + + + + +
+ + + +
+ + +
+ + + + + + + + +
+ +