Federico Simoncelli has uploaded a new change for review. Change subject: tests: fix MoveDisksCommandTest for vmNotInPreview ......................................................................
tests: fix MoveDisksCommandTest for vmNotInPreview In this patch: * fix the MoveDisksCommandTest that were failing during the vmNotInPreview validation * add a new canDoActionVmInPreview test to verify the vmNotInPreview validation Change-Id: I79a5c0e519f70d887d0f84017d870c4c475ea8e9 Signed-off-by: Federico Simoncelli <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveDisksCommand.java M backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/MoveDisksCommandTest.java 2 files changed, 43 insertions(+), 2 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/10/11510/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveDisksCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveDisksCommand.java index d269b07..12ca472 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveDisksCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveDisksCommand.java @@ -95,9 +95,8 @@ List<VM> allVms = getVmDAO().getVmsListForDisk(diskImage.getId()); VM vm = !allVms.isEmpty() ? allVms.get(0) : null; - SnapshotsValidator snapshotsValidator = new SnapshotsValidator(); - if (vm != null && !validate(snapshotsValidator.vmNotInPreview(vm.getId()))) { + if (vm != null && !validate(createSnapshotsValidator().vmNotInPreview(vm.getId()))) { return false; } @@ -175,4 +174,8 @@ protected DiskImageDAO getDiskImageDao() { return getDbFacade().getDiskImageDao(); } + + protected SnapshotsValidator createSnapshotsValidator() { + return new SnapshotsValidator(); + } } diff --git a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/MoveDisksCommandTest.java b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/MoveDisksCommandTest.java index 1a6dde8..9e164d0 100644 --- a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/MoveDisksCommandTest.java +++ b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/MoveDisksCommandTest.java @@ -17,9 +17,11 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; +import org.ovirt.engine.core.bll.snapshots.SnapshotsValidator; import org.ovirt.engine.core.common.action.MoveDiskParameters; import org.ovirt.engine.core.common.action.MoveDisksParameters; import org.ovirt.engine.core.common.businessentities.DiskImage; +import org.ovirt.engine.core.common.businessentities.Snapshot.SnapshotStatus; import org.ovirt.engine.core.common.businessentities.VM; import org.ovirt.engine.core.common.businessentities.VMStatus; import org.ovirt.engine.core.compat.Guid; @@ -27,6 +29,7 @@ import org.ovirt.engine.core.dal.VdcBllMessages; import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogableBaseMockUtils; import org.ovirt.engine.core.dao.DiskImageDAO; +import org.ovirt.engine.core.dao.SnapshotDao; import org.ovirt.engine.core.dao.VmDAO; @RunWith(MockitoJUnitRunner.class) @@ -43,6 +46,9 @@ @Mock private VmDAO vmDao; + @Mock + protected SnapshotDao snapshotDao; + /** * The command under test */ @@ -51,6 +57,7 @@ @Before public void setupCommand() { initSpyCommand(); + mockSnapshotValidator(); mockDaos(); } @@ -92,6 +99,20 @@ assertTrue(command.getReturnValue() .getCanDoActionMessages() .contains(VdcBllMessages.ACTION_TYPE_FAILED_VM_IS_NOT_DOWN_OR_UP.toString())); + } + + @Test + public void canDoActionVmInPreview() { + command.getParameters().setParametersList(createMoveDisksParameters()); + + initDiskImage(diskImageId); + initVm(VMStatus.Down, null, diskImageId); + setVmInPreview(true); + + assertFalse(command.canDoAction()); + assertTrue(command.getReturnValue() + .getCanDoActionMessages() + .contains(VdcBllMessages.ACTION_TYPE_FAILED_VM_IN_PREVIEW.toString())); } @Test @@ -165,6 +186,12 @@ when(vmDao.get(any(Guid.class))).thenReturn(vm); when(vmDao.getVmsListForDisk(diskImageId)).thenReturn(Collections.singletonList(vm)); + + setVmInPreview(false); + } + + private void setVmInPreview(boolean isInPreview) { + when(snapshotDao.exists(any(Guid.class), any(SnapshotStatus.class))).thenReturn(isInPreview); } private void initDiskImage(Guid diskImageId) { @@ -185,6 +212,17 @@ return diskImage; } + private void mockSnapshotValidator() { + SnapshotsValidator validator = new SnapshotsValidator() { + @Override + protected SnapshotDao getSnapshotDao() { + return snapshotDao; + } + + }; + doReturn(validator).when(command).createSnapshotsValidator(); + } + /** Mock DAOs */ private void mockDaos() { -- To view, visit http://gerrit.ovirt.org/11510 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I79a5c0e519f70d887d0f84017d870c4c475ea8e9 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Federico Simoncelli <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
