@Test public void testIscsiLunDiskWithNoPortCantBeAdded() { LunDisk disk = createISCSILunDisk(); AddDiskParameters parameters = createParameters(); parameters.setDiskInfo(disk); initializeCommand(Guid.newGuid(), parameters); disk.getLun().getLunConnections().get(0).setPort(null); assertFalse( "checkIfLunDiskCanBeAdded() succeded for ISCSI lun which LUNs has storage_server_connection with a null port", command.checkIfLunDiskCanBeAdded(spyDiskValidator(disk))); assertTrue( "checkIfLunDiskCanBeAdded() failed but correct can do action hasn't been added to the return response", verifyCanDoActionMessagesContainMessage( EngineMessage.ACTION_TYPE_FAILED_DISK_LUN_ISCSI_MISSING_CONNECTION_PARAMS)); clearCanDoActionMessages(); disk.getLun().getLunConnections().get(0).setPort(""); assertFalse( "checkIfLunDiskCanBeAdded() succeded for ISCSI lun which LUNs has storage_server_connection with a empty port", command.checkIfLunDiskCanBeAdded(spyDiskValidator(disk))); assertTrue( "checkIfLunDiskCanBeAdded() failed but correct can do action hasn't been added to the return response", verifyCanDoActionMessagesContainMessage( EngineMessage.ACTION_TYPE_FAILED_DISK_LUN_ISCSI_MISSING_CONNECTION_PARAMS)); }
@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 testIscsiLunCannotBeAddedIfAddingFloatingDisk() { LunDisk disk = createISCSILunDisk(ScsiGenericIO.UNFILTERED, true, DiskInterface.IDE); AddDiskParameters parameters = createParameters(); parameters.setDiskInfo(disk); initializeCommand(Guid.newGuid(), parameters); assertFalse( "Floating disk with SCSI reservation set successfully added", command.checkIfLunDiskCanBeAdded(spyDiskValidator(disk))); verifyCanDoActionMessagesContainMessage( EngineMessage.ACTION_TYPE_FAILED_SCSI_RESERVATION_NOT_VALID_FOR_FLOATING_DISK); }
@Test public void testIscsiLunCanBeAddedIfScsiPassthroughEnabledAndScsiReservationEnabled() { LunDisk disk = createISCSILunDisk(ScsiGenericIO.UNFILTERED, true, DiskInterface.IDE); AddDiskParameters parameters = createParameters(); parameters.setDiskInfo(disk); initializeCommand(Guid.newGuid(), parameters); mockVm(); mockInterfaceList(); assertTrue( "Failed to add Lun disk when scsi passthrough and scsi reservation are enabled", command.checkIfLunDiskCanBeAdded(spyDiskValidator(disk))); }
@Test public void testIscsiLunCannotBeAddedIfSgioIsFilteredAndScsiReservationEnabled() { LunDisk disk = createISCSILunDisk(ScsiGenericIO.FILTERED, true, DiskInterface.IDE); AddDiskParameters parameters = createParameters(); parameters.setDiskInfo(disk); initializeCommand(Guid.newGuid(), parameters); mockVm(); mockInterfaceList(); assertFalse( "Lun disk added successfully WHILE sgio is filtered and scsi reservation is enabled", command.checkIfLunDiskCanBeAdded(spyDiskValidator(disk))); verifyCanDoActionMessagesContainMessage(EngineMessage.ACTION_TYPE_FAILED_SGIO_IS_FILTERED); }
@Test public void testUnknownTypeLunCantBeAdded() { LunDisk disk = createISCSILunDisk(); AddDiskParameters parameters = createParameters(); parameters.setDiskInfo(disk); initializeCommand(Guid.newGuid(), parameters); disk.getLun().setLunType(StorageType.UNKNOWN); assertFalse( "checkIfLunDiskCanBeAdded() succeded for LUN with UNKNOWN type", command.checkIfLunDiskCanBeAdded(spyDiskValidator(disk))); assertTrue( "checkIfLunDiskCanBeAdded() failed but correct can do action hasn't been added to the return response", verifyCanDoActionMessagesContainMessage( EngineMessage.ACTION_TYPE_FAILED_DISK_LUN_HAS_NO_VALID_TYPE)); }