package org.ovirt.engine.core.bll; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.when; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Spy; import org.mockito.junit.MockitoJUnitRunner; import org.ovirt.engine.core.bll.validator.VmValidator; import org.ovirt.engine.core.common.action.MigrateVmParameters; import org.ovirt.engine.core.common.businessentities.VM; import org.ovirt.engine.core.common.errors.EngineMessage; import org.ovirt.engine.core.compat.Guid; @RunWith(MockitoJUnitRunner.class) public class MigrateVmCommandTest { private Guid vmId = Guid.newGuid(); @Mock VmValidator vmValidator; @Spy private MigrateVmCommand<MigrateVmParameters> command = new MigrateVmCommand<>(new MigrateVmParameters(false, vmId), null); @Before public void setUp() { VM vm = new VM(); vm.setId(vmId); command.setVm(vm); } @Test public void testValidationFailsWhenVmHasDisksPluggedWithScsiReservation() { doReturn(vmValidator).when(command).getVmValidator(); when(vmValidator.isVmPluggedDiskNotUsingScsiReservation()). thenReturn(new ValidationResult(EngineMessage.ACTION_TYPE_FAILED_VM_USES_SCSI_RESERVATION)); ValidateTestUtils.runAndAssertValidateFailure(command, EngineMessage.ACTION_TYPE_FAILED_VM_USES_SCSI_RESERVATION); } }