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

Reply via email to