@Test public void testIscsiLunCanBeAdded() { LunDisk disk = createISCSILunDisk(); AddDiskParameters parameters = createParameters(); parameters.setDiskInfo(disk); initializeCommand(Guid.newGuid(), parameters); when(diskLunMapDao.getDiskIdByLunId(disk.getLun().getLUNId())).thenReturn(null); assertTrue( "checkIfLunDiskCanBeAdded() failed for valid iscsi lun", command.checkIfLunDiskCanBeAdded(spyDiskValidator(disk))); }
@Test public void testAddingPCILunExceedsSlotLimit() { mockInterfaceList(); LunDisk disk = createISCSILunDisk(); disk.setDiskInterface(DiskInterface.VirtIO); AddDiskParameters parameters = createParameters(); parameters.setDiskInfo(disk); initializeCommand(Guid.newGuid(), parameters); when(diskLunMapDao.getDiskIdByLunId(disk.getLun().getLUNId())).thenReturn(null); VM vm = mockVm(); mockMaxPciSlots(); // use maximum slots for PCI. canDo expected to succeed. fillDiskMap(disk, vm, MAX_PCI_SLOTS - 2); CanDoActionTestUtils.runAndAssertCanDoActionSuccess(command); vm.getDiskMap().put(Guid.newGuid(), disk); CanDoActionTestUtils.runAndAssertCanDoActionFailure( command, EngineMessage.ACTION_TYPE_FAILED_EXCEEDED_MAX_PCI_SLOTS); }