Tal Nisan has uploaded a new change for review.

Change subject: core: Add storage pool validation to AddStorageDomainCommand
......................................................................

core: Add storage pool validation to AddStorageDomainCommand

Change-Id: Ie7f16dfdb94e981747f58caafca132c341daba62
Bug-Url: https://bugzilla.redhat.com/1141784
Signed-off-by: Tal Nisan <tni...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddStorageDomainCommand.java
M 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/AddStorageDomainCommonTest.java
2 files changed, 16 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/80/33180/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddStorageDomainCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddStorageDomainCommand.java
index ad12acb..1260dfa 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddStorageDomainCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddStorageDomainCommand.java
@@ -157,6 +157,10 @@
             return 
failCanDoAction(VdcBllMessages.ACTION_TYPE_FAILED_STORAGE_DOMAIN_TYPE_ILLEGAL);
         }
 
+        if (!Guid.isNullOrEmpty(getParameters().getStoragePoolId()) && 
getTargetStoragePool() == null) {
+            return 
failCanDoAction(VdcBllMessages.ACTION_TYPE_FAILED_STORAGE_POOL_NOT_EXIST);
+        }
+
         ensureStorageFormatInitialized();
         if (!isStorageFormatSupportedByStoragePool() || 
!isStorageFormatCompatibleWithDomain()) {
             
addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_STORAGE_DOMAIN_FORMAT_ILLEGAL_HOST);
diff --git 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/AddStorageDomainCommonTest.java
 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/AddStorageDomainCommonTest.java
index 0df200d..2e7d8f8 100644
--- 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/AddStorageDomainCommonTest.java
+++ 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/AddStorageDomainCommonTest.java
@@ -64,6 +64,7 @@
     private Guid spId;
     private StoragePool sp;
     private Guid connId;
+    private StorageDomainManagementParameter params;
 
     @Before
     public void setUp() {
@@ -96,7 +97,7 @@
 
         when(sscDao.get(connId.toString())).thenReturn(conn);
 
-        StorageDomainManagementParameter params = new 
StorageDomainManagementParameter(sd);
+        params = new StorageDomainManagementParameter(sd);
         params.setVdsId(vdsId);
 
         cmd = spy(new AddStorageDomainCommon<>(params));
@@ -158,13 +159,22 @@
     }
 
     @Test
-    public void canDoActionSucceedsNoPool() {
+    public void canDoActionSucceedsPoolNotSpecified() {
         sd.setStorageFormat(null);
         vds.setStoragePoolId(null);
         CanDoActionTestUtils.runAndAssertCanDoActionSuccess(cmd);
     }
 
     @Test
+    public void canDoActionFailsPoolSpecifiedDoesNotExist() {
+        params.setStoragePoolId(spId);
+        when(spDao.get(spId)).thenReturn(null);
+        CanDoActionTestUtils.runAndAssertCanDoActionFailure
+                (cmd, 
VdcBllMessages.ACTION_TYPE_FAILED_STORAGE_POOL_NOT_EXIST);
+    }
+
+
+    @Test
     public void canDoActionFailsBlockIso() {
         sd.setStorageDomainType(StorageDomainType.ISO);
         sd.setStorageType(StorageType.FCP);


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie7f16dfdb94e981747f58caafca132c341daba62
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Tal Nisan <tni...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to