Fixed unit tests

This commit is contained in:
Harikrishna Patnala 2024-01-30 18:37:06 +05:30
parent a47d50a225
commit d3b552cfd6
2 changed files with 20 additions and 27 deletions

View File

@ -30,13 +30,14 @@ import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockedConstruction;
import org.mockito.Mockito; import org.mockito.Mockito;
import org.mockito.Spy; import org.mockito.Spy;
import org.powermock.api.mockito.PowerMockito; import org.mockito.junit.MockitoJUnitRunner;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
@RunWith(PowerMockRunner.class) import static org.mockito.Mockito.when;
@RunWith(MockitoJUnitRunner.class)
public class LibvirtCheckAndRepairVolumeCommandWrapperTest { public class LibvirtCheckAndRepairVolumeCommandWrapperTest {
@Spy @Spy
@ -53,32 +54,29 @@ public class LibvirtCheckAndRepairVolumeCommandWrapperTest {
@Before @Before
public void init() { public void init() {
Mockito.when(libvirtComputingResourceMock.getCmdsTimeout()).thenReturn(60); when(libvirtComputingResourceMock.getCmdsTimeout()).thenReturn(60);
} }
@Test @Test
@PrepareForTest(LibvirtCheckAndRepairVolumeCommandWrapper.class)
public void testCheckAndRepairVolume() throws Exception { public void testCheckAndRepairVolume() throws Exception {
CheckAndRepairVolumeCommand cmd = Mockito.mock(CheckAndRepairVolumeCommand.class); CheckAndRepairVolumeCommand cmd = Mockito.mock(CheckAndRepairVolumeCommand.class);
Mockito.when(cmd.getPath()).thenReturn("cbac516a-0f1f-4559-921c-1a7c6c408ccf"); when(cmd.getPath()).thenReturn("cbac516a-0f1f-4559-921c-1a7c6c408ccf");
Mockito.when(cmd.getRepair()).thenReturn(null); when(cmd.getRepair()).thenReturn(null);
StorageFilerTO spool = Mockito.mock(StorageFilerTO.class); StorageFilerTO spool = Mockito.mock(StorageFilerTO.class);
Mockito.when(cmd.getPool()).thenReturn(spool); when(cmd.getPool()).thenReturn(spool);
KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class); KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
Mockito.when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr); when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
KVMStoragePool pool = Mockito.mock(KVMStoragePool.class); KVMStoragePool pool = Mockito.mock(KVMStoragePool.class);
Mockito.when(spool.getType()).thenReturn(Storage.StoragePoolType.PowerFlex); when(spool.getType()).thenReturn(Storage.StoragePoolType.PowerFlex);
Mockito.when(spool.getUuid()).thenReturn("b6be258b-42b8-49a4-ad51-3634ef8ff76a"); when(spool.getUuid()).thenReturn("b6be258b-42b8-49a4-ad51-3634ef8ff76a");
Mockito.when(storagePoolMgr.getStoragePool(Storage.StoragePoolType.PowerFlex, "b6be258b-42b8-49a4-ad51-3634ef8ff76a")).thenReturn(pool); when(storagePoolMgr.getStoragePool(Storage.StoragePoolType.PowerFlex, "b6be258b-42b8-49a4-ad51-3634ef8ff76a")).thenReturn(pool);
KVMPhysicalDisk vol = Mockito.mock(KVMPhysicalDisk.class); KVMPhysicalDisk vol = Mockito.mock(KVMPhysicalDisk.class);
Mockito.when(pool.getPhysicalDisk("cbac516a-0f1f-4559-921c-1a7c6c408ccf")).thenReturn(vol); when(pool.getPhysicalDisk("cbac516a-0f1f-4559-921c-1a7c6c408ccf")).thenReturn(vol);
VolumeInfo volume = Mockito.mock(VolumeInfo.class); VolumeInfo volume = Mockito.mock(VolumeInfo.class);
Mockito.when(volume.getPoolId()).thenReturn(1L);
Mockito.when(volume.getPath()).thenReturn("cbac516a-0f1f-4559-921c-1a7c6c408ccf");
String checkResult = "{\n" + String checkResult = "{\n" +
" \"image-end-offset\": 6442582016,\n" + " \"image-end-offset\": 6442582016,\n" +
@ -91,12 +89,12 @@ public class LibvirtCheckAndRepairVolumeCommandWrapperTest {
" \"fragmented-clusters\": 96135\n" + " \"fragmented-clusters\": 96135\n" +
"}"; "}";
PowerMockito.whenNew(QemuImg.class).withArguments(Mockito.anyInt()).thenReturn(qemuImgMock); try (MockedConstruction<QemuImg> ignored = Mockito.mockConstruction(QemuImg.class, (mock, context) -> {
Mockito.when(qemuImgMock.checkAndRepair(Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any())).thenReturn(checkResult); when(mock.checkAndRepair(Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any())).thenReturn(checkResult);
})) {
CheckAndRepairVolumeAnswer result = (CheckAndRepairVolumeAnswer) libvirtCheckAndRepairVolumeCommandWrapperSpy.execute(cmd, libvirtComputingResourceMock); CheckAndRepairVolumeAnswer result = (CheckAndRepairVolumeAnswer) libvirtCheckAndRepairVolumeCommandWrapperSpy.execute(cmd, libvirtComputingResourceMock);
Assert.assertEquals(checkResult, result.getVolumeCheckExecutionResult());
Assert.assertEquals(checkResult, result.getVolumeCheckExecutionResult()); }
} }
} }

View File

@ -1666,7 +1666,6 @@ public class VolumeApiServiceImplTest {
@Test @Test
public void testValidationsForCheckVolumeAPI() { public void testValidationsForCheckVolumeAPI() {
VolumeVO volume = mock(VolumeVO.class); VolumeVO volume = mock(VolumeVO.class);
when(volumeDaoMock.findById(1L)).thenReturn(volume);
AccountVO account = new AccountVO("admin", 1L, "networkDomain", Account.Type.NORMAL, "uuid"); AccountVO account = new AccountVO("admin", 1L, "networkDomain", Account.Type.NORMAL, "uuid");
UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN);
@ -1688,7 +1687,6 @@ public class VolumeApiServiceImplTest {
@Test(expected = InvalidParameterValueException.class) @Test(expected = InvalidParameterValueException.class)
public void testValidationsForCheckVolumeAPIWithRunningVM() { public void testValidationsForCheckVolumeAPIWithRunningVM() {
VolumeVO volume = mock(VolumeVO.class); VolumeVO volume = mock(VolumeVO.class);
when(volumeDaoMock.findById(1L)).thenReturn(volume);
AccountVO account = new AccountVO("admin", 1L, "networkDomain", Account.Type.NORMAL, "uuid"); AccountVO account = new AccountVO("admin", 1L, "networkDomain", Account.Type.NORMAL, "uuid");
UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN);
@ -1707,7 +1705,6 @@ public class VolumeApiServiceImplTest {
@Test(expected = InvalidParameterValueException.class) @Test(expected = InvalidParameterValueException.class)
public void testValidationsForCheckVolumeAPIWithNonexistedVM() { public void testValidationsForCheckVolumeAPIWithNonexistedVM() {
VolumeVO volume = mock(VolumeVO.class); VolumeVO volume = mock(VolumeVO.class);
when(volumeDaoMock.findById(1L)).thenReturn(volume);
AccountVO account = new AccountVO("admin", 1L, "networkDomain", Account.Type.NORMAL, "uuid"); AccountVO account = new AccountVO("admin", 1L, "networkDomain", Account.Type.NORMAL, "uuid");
UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN);
@ -1724,7 +1721,6 @@ public class VolumeApiServiceImplTest {
@Test(expected = InvalidParameterValueException.class) @Test(expected = InvalidParameterValueException.class)
public void testValidationsForCheckVolumeAPIWithAllocatedVolume() { public void testValidationsForCheckVolumeAPIWithAllocatedVolume() {
VolumeVO volume = mock(VolumeVO.class); VolumeVO volume = mock(VolumeVO.class);
when(volumeDaoMock.findById(1L)).thenReturn(volume);
AccountVO account = new AccountVO("admin", 1L, "networkDomain", Account.Type.NORMAL, "uuid"); AccountVO account = new AccountVO("admin", 1L, "networkDomain", Account.Type.NORMAL, "uuid");
UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN);
@ -1744,7 +1740,6 @@ public class VolumeApiServiceImplTest {
@Test(expected = InvalidParameterValueException.class) @Test(expected = InvalidParameterValueException.class)
public void testValidationsForCheckVolumeAPIWithNonKVMhypervisor() { public void testValidationsForCheckVolumeAPIWithNonKVMhypervisor() {
VolumeVO volume = mock(VolumeVO.class); VolumeVO volume = mock(VolumeVO.class);
when(volumeDaoMock.findById(1L)).thenReturn(volume);
AccountVO account = new AccountVO("admin", 1L, "networkDomain", Account.Type.NORMAL, "uuid"); AccountVO account = new AccountVO("admin", 1L, "networkDomain", Account.Type.NORMAL, "uuid");
UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN);