Arik Hadas has uploaded a new change for review.

Change subject: ffff
......................................................................

ffff

Change-Id: I04c00f9b4f6271a4662199097d4ceff3e0d3f068
Signed-off-by: Arik Hadas <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmFromConfigurationCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/ImportValidator.java
M 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ImportVMFromConfigurationCommandTest.java
M 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ImportVmCommandTest.java
A 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/validator/ImportValidatorTest.java
6 files changed, 52 insertions(+), 14 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/85/35085/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java
index 73170f8..7d0e85c 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java
@@ -174,7 +174,11 @@
 
     public ImportVmCommand(T parameters, CommandContext commandContext) {
         super(parameters, commandContext);
-        importValidator = new ImportValidator(getParameters());
+        importValidator = getImportValidator();
+    }
+
+    protected ImportValidator getImportValidator() {
+        return new ImportValidator(getParameters());
     }
 
     @Override
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmFromConfigurationCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmFromConfigurationCommand.java
index 8b9a6e3..9c4bbd3 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmFromConfigurationCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmFromConfigurationCommand.java
@@ -53,7 +53,7 @@
     @Override
     protected boolean canDoAction() {
         if (isImagesAlreadyOnTarget()) {
-            ImportValidator importValidator = new 
ImportValidator(getParameters());
+            ImportValidator importValidator = getImportValidator();
             if 
(!validate(importValidator.validateUnregisteredEntity(vmFromConfiguration, 
ovfEntityData, getImages()))) {
                 return false;
             }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/ImportValidator.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/ImportValidator.java
index fad18f7..1b73c07 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/ImportValidator.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/ImportValidator.java
@@ -45,6 +45,12 @@
         this.params = params;
     }
 
+    /**
+     * Used for testings
+     */
+    public ImportValidator() {
+    }
+
     public ValidationResult validateUnregisteredEntity(IVdcQueryable 
entityFromConfiguration, OvfEntityData ovfEntityData, List<DiskImage> images) {
         if (ovfEntityData == null && !params.isImportAsNewEntity()) {
             return new 
ValidationResult(VdcBllMessages.ACTION_TYPE_FAILED_UNSUPPORTED_OVF);
@@ -58,7 +64,7 @@
             StorageDomain sd = getStorageDomainDAO().getForStoragePool(
                     image.getStorageIds().get(0), getStoragePool().getId());
             ValidationResult result = new 
StorageDomainValidator(sd).isDomainExistAndActive();
-            if (result != ValidationResult.VALID) {
+            if (!result.isValid()) {
                 return result;
             }
         }
@@ -133,31 +139,31 @@
     public ValidationResult validateSpaceRequirements(Collection<DiskImage> 
diskImages) {
         MultipleStorageDomainsValidator sdValidator = 
createMultipleStorageDomainsValidator(diskImages);
         ValidationResult result = sdValidator.allDomainsExistAndActive();
-        if (result != ValidationResult.VALID) {
+        if (!result.isValid()) {
             return result;
         }
 
         result = sdValidator.allDomainsWithinThresholds();
-        if (result != ValidationResult.VALID) {
+        if (!result.isValid()) {
             return result;
         }
 
         if (params.getCopyCollapse()) {
             result = sdValidator.allDomainsHaveSpaceForClonedDisks(diskImages);
-            if (result != ValidationResult.VALID) {
+            if (!result.isValid()) {
                 return result;
             }
         }
 
         result = 
sdValidator.allDomainsHaveSpaceForDisksWithSnapshots(diskImages);
-        if (result != ValidationResult.VALID) {
+        if (!result.isValid()) {
             return result;
         }
 
         return ValidationResult.VALID;
     }
 
-    protected MultipleStorageDomainsValidator 
createMultipleStorageDomainsValidator(Collection<DiskImage> diskImages) {
+    public MultipleStorageDomainsValidator 
createMultipleStorageDomainsValidator(Collection<DiskImage> diskImages) {
         return new MultipleStorageDomainsValidator(params.getStoragePoolId(),
                 ImagesHandler.getAllStorageIdsForImageIds(diskImages));
     }
@@ -175,7 +181,7 @@
         return 
MacPoolPerDcSingleton.getInstance().poolForDataCenter(params.getStoragePoolId());
     }
 
-    protected StorageDomainDAO getStorageDomainDAO() {
+    public StorageDomainDAO getStorageDomainDAO() {
         return DbFacade.getInstance().getStorageDomainDao();
     }
 
@@ -183,7 +189,7 @@
         return DbFacade.getInstance().getStoragePoolDao();
     }
 
-    protected StoragePool getStoragePool() {
+    public StoragePool getStoragePool() {
         if (cachedStoragePool == null) {
             cachedStoragePool = 
getStoragePoolDAO().get(params.getStoragePoolId());
         }
diff --git 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ImportVMFromConfigurationCommandTest.java
 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ImportVMFromConfigurationCommandTest.java
index 3fda088..3846b56 100644
--- 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ImportVMFromConfigurationCommandTest.java
+++ 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ImportVMFromConfigurationCommandTest.java
@@ -14,6 +14,7 @@
 import java.nio.file.Files;
 import java.nio.file.Paths;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -24,9 +25,12 @@
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.runners.MockitoJUnitRunner;
+import org.ovirt.engine.core.bll.validator.ImportValidator;
 import org.ovirt.engine.core.common.action.ImportVmParameters;
 import org.ovirt.engine.core.common.businessentities.ArchitectureType;
+import org.ovirt.engine.core.common.businessentities.DiskImage;
 import org.ovirt.engine.core.common.businessentities.DisplayType;
+import org.ovirt.engine.core.common.businessentities.IVdcQueryable;
 import org.ovirt.engine.core.common.businessentities.OvfEntityData;
 import org.ovirt.engine.core.common.businessentities.StorageDomain;
 import org.ovirt.engine.core.common.businessentities.StorageDomainStatus;
@@ -55,6 +59,7 @@
     private StoragePool storagePool;
 
     private ImportVmFromConfigurationCommand<ImportVmParameters> cmd;
+    private ImportValidator validator;
 
     @ClassRule
     public static MockConfigRule mcr = new MockConfigRule(
@@ -99,6 +104,8 @@
         doReturn(storagePool).when(cmd).getStoragePool();
         doReturn(Boolean.TRUE).when(cmd).canDoActionAfterCloneVm(anyMap());
         doReturn(Boolean.TRUE).when(cmd).canDoActionBeforeCloneVm(anyMap());
+
+        when(validator.validateUnregisteredEntity(any(IVdcQueryable.class), 
any(OvfEntityData.class), any(List.class))).thenReturn(ValidationResult.VALID);
         CanDoActionTestUtils.runAndAssertCanDoActionSuccess(cmd);
     }
 
@@ -114,6 +121,7 @@
         when(dao.getForStoragePool(storageDomainId, 
storagePoolId)).thenReturn(storageDomain);
 
         doReturn(storageDomain).when(cmd).getStorageDomain();
+        when(validator.validateUnregisteredEntity(any(IVdcQueryable.class), 
any(OvfEntityData.class), any(List.class))).thenReturn(new 
ValidationResult(VdcBllMessages.ACTION_TYPE_FAILED_STORAGE_DOMAIN_STATUS_ILLEGAL2));
         CanDoActionTestUtils.runAndAssertCanDoActionFailure(cmd,
                 
VdcBllMessages.ACTION_TYPE_FAILED_STORAGE_DOMAIN_STATUS_ILLEGAL2);
     }
@@ -126,7 +134,7 @@
 
         // Mock Storage Domain.
         final StorageDomainDAO dao = mock(StorageDomainDAO.class);
-        doReturn(dao).when(cmd).getStorageDomainDAO();
+        when(validator.validateUnregisteredEntity(any(IVdcQueryable.class), 
any(OvfEntityData.class), any(List.class))).thenReturn(new 
ValidationResult(VdcBllMessages.ACTION_TYPE_FAILED_STORAGE_DOMAIN_STATUS_ILLEGAL2));
         when(dao.getForStoragePool(storageDomainId, 
storagePoolId)).thenReturn(storageDomain);
 
         CanDoActionTestUtils.runAndAssertCanDoActionFailure(cmd,
@@ -145,6 +153,7 @@
         ovfEntity.setOvfData("This is not a valid XML");
         initCommand(ovfEntity);
         when(unregisteredOVFDataDao.getByEntityIdAndStorageDomain(vmId, 
storageDomainId)).thenReturn(ovfEntity);
+        when(validator.validateUnregisteredEntity(any(IVdcQueryable.class), 
any(OvfEntityData.class), any(List.class))).thenReturn(new 
ValidationResult(VdcBllMessages.ACTION_TYPE_FAILED_OVF_CONFIGURATION_NOT_SUPPORTED));
         CanDoActionTestUtils.runAndAssertCanDoActionFailure(cmd,
                 
VdcBllMessages.ACTION_TYPE_FAILED_OVF_CONFIGURATION_NOT_SUPPORTED);
     }
@@ -172,9 +181,16 @@
             public VDSGroup getVdsGroup() {
                 return vdsGroup;
             }
+
+            @Override
+            protected List<DiskImage> getImages() {
+                return Collections.emptyList();
+            }
         });
+        validator = spy(new ImportValidator(parameters));
+        doReturn(validator).when(cmd).getImportValidator();
         mockStoragePool();
-        doReturn(storagePool).when(cmd).getStoragePool();
+        doReturn(storagePool).when(validator).getStoragePool();
     }
 
     private void initUnregisteredOVFData(OvfEntityData resultOvfEntityData) {
diff --git 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ImportVmCommandTest.java
 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ImportVmCommandTest.java
index fc19c7a..b1117bc 100644
--- 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ImportVmCommandTest.java
+++ 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ImportVmCommandTest.java
@@ -34,6 +34,7 @@
 import org.mockito.Mock;
 import org.mockito.runners.MockitoJUnitRunner;
 import org.ovirt.engine.core.bll.network.macpoolmanager.MacPoolManagerStrategy;
+import org.ovirt.engine.core.bll.validator.ImportValidator;
 import org.ovirt.engine.core.bll.validator.MultipleStorageDomainsValidator;
 import org.ovirt.engine.core.common.action.ImportVmParameters;
 import org.ovirt.engine.core.common.businessentities.ArchitectureType;
@@ -189,7 +190,9 @@
     }
 
     private ImportVmCommand<ImportVmParameters> 
setupDiskSpaceTest(ImportVmParameters parameters) {
-        ImportVmCommand<ImportVmParameters> cmd = spy(new 
ImportVmCommand<ImportVmParameters>(parameters));
+        ImportVmCommand<ImportVmParameters> cmd = spy(new 
ImportVmCommand<>(parameters));
+        ImportValidator validator = spy(new ImportValidator(parameters));
+        doReturn(validator).when(cmd).getImportValidator();
         parameters.setCopyCollapse(true);
         doReturn(true).when(cmd).validateNoDuplicateVm();
         doReturn(true).when(cmd).validateVdsCluster();
@@ -214,7 +217,7 @@
         }
 
         
doReturn(mockCreateDiskDummiesForSpaceValidations()).when(cmd).createDiskDummiesForSpaceValidations(anyList());
-        
doReturn(multipleSdValidator).when(cmd).createMultipleStorageDomainsValidator(anyList());
+        
doReturn(multipleSdValidator).when(validator).createMultipleStorageDomainsValidator(anyList());
         
doReturn(ValidationResult.VALID).when(multipleSdValidator).allDomainsHaveSpaceForClonedDisks(anyList());
         
doReturn(ValidationResult.VALID).when(multipleSdValidator).allDomainsHaveSpaceForDisksWithSnapshots(anyList());
         
doReturn(ValidationResult.VALID).when(multipleSdValidator).allDomainsWithinThresholds();
diff --git 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/validator/ImportValidatorTest.java
 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/validator/ImportValidatorTest.java
new file mode 100644
index 0000000..25148f4
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/validator/ImportValidatorTest.java
@@ -0,0 +1,9 @@
+package org.ovirt.engine.core.bll.validator;
+
+import org.junit.runner.RunWith;
+import org.mockito.runners.MockitoJUnitRunner;
+
+@RunWith(MockitoJUnitRunner.class)
+public class ImportValidatorTest {
+
+}


-- 
To view, visit http://gerrit.ovirt.org/35085
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I04c00f9b4f6271a4662199097d4ceff3e0d3f068
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Arik Hadas <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to