Alissa Bonas has uploaded a new change for review.

Change subject: core: validate vfstype is not empty for Posix conn
......................................................................

core: validate vfstype is not empty for Posix conn

Add validation when adding a new Posix storage connection that
vfsType is not empty.

Change-Id: I38bf5820ed6c6220bd2c9b9d6be1fa6dd31934ea
Signed-off-by: Alissa Bonas <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddStorageServerConnectionCommand.java
A 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/AddStorageServerConnectionCommandTest.java
2 files changed, 73 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/60/13760/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddStorageServerConnectionCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddStorageServerConnectionCommand.java
index 631fd80..34c7f88 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddStorageServerConnectionCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddStorageServerConnectionCommand.java
@@ -67,6 +67,9 @@
             returnValue = false;
             
addCanDoActionMessage(VdcBllMessages.VALIDATION_STORAGE_CONNECTION_INVALID);
         }
+        if (paramConnection.getstorage_type() == StorageType.POSIXFS && 
(StringUtils.isEmpty(paramConnection.getVfsType()))) {
+            return 
failCanDoAction(VdcBllMessages.VALIDATION_STORAGE_CONNECTION_EMPTY_VFSTYPE);
+        }
 
         if (getParameters().getVdsId().equals(Guid.Empty)) {
             returnValue = InitializeVds();
diff --git 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/AddStorageServerConnectionCommandTest.java
 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/AddStorageServerConnectionCommandTest.java
new file mode 100644
index 0000000..0027f3f
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/AddStorageServerConnectionCommandTest.java
@@ -0,0 +1,70 @@
+package org.ovirt.engine.core.bll.storage;
+
+import org.junit.Before;
+import org.junit.ClassRule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.runners.MockitoJUnitRunner;
+import org.ovirt.engine.core.bll.CanDoActionTestUtils;
+import 
org.ovirt.engine.core.common.action.StorageServerConnectionParametersBase;
+import org.ovirt.engine.core.common.businessentities.StorageServerConnections;
+import org.ovirt.engine.core.common.businessentities.StorageType;
+import org.ovirt.engine.core.compat.Guid;
+import org.ovirt.engine.core.dal.VdcBllMessages;
+import org.ovirt.engine.core.utils.MockEJBStrategyRule;
+
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
+
+@RunWith(MockitoJUnitRunner.class)
+public class AddStorageServerConnectionCommandTest {
+    @ClassRule
+    public static MockEJBStrategyRule ejbRule = new MockEJBStrategyRule();
+
+    private 
AddStorageServerConnectionCommand<StorageServerConnectionParametersBase> 
command = null;
+
+    private StorageServerConnectionParametersBase parameters;
+
+    @Before
+    public void prepareParams() {
+       parameters = new StorageServerConnectionParametersBase();
+       parameters.setVdsId(Guid.NewGuid());
+       parameters.setStoragePoolId(Guid.NewGuid());
+       command = spy(new 
AddStorageServerConnectionCommand<StorageServerConnectionParametersBase>(parameters));
+    }
+
+     private StorageServerConnections createPosixConnection(String connection, 
StorageType type, String vfsType, String mountOptions) {
+        Guid id = Guid.NewGuid();
+        StorageServerConnections connectionDetails = 
populateBasicConnectionDetails(id, connection, type);
+        connectionDetails.setVfsType(vfsType);
+        connectionDetails.setMountOptions(mountOptions);
+        return connectionDetails;
+    }
+
+    private StorageServerConnections populateBasicConnectionDetails(Guid id, 
String connection, StorageType type) {
+        StorageServerConnections connectionDetails = new 
StorageServerConnections();
+        connectionDetails.setid(id.toString());
+        connectionDetails.setconnection(connection);
+        connectionDetails.setstorage_type(type);
+        return connectionDetails;
+    }
+
+     @Test
+     public void updatePosixEmptyVFSType() {
+        StorageServerConnections newPosixConnection = 
createPosixConnection("multipass.my.domain.tlv.company.com:/export/allstorage/data1",
 StorageType.POSIXFS, null , "timeo=30");
+        parameters.setStorageServerConnection(newPosixConnection);
+        CanDoActionTestUtils.runAndAssertCanDoActionFailure(command,
+                VdcBllMessages.VALIDATION_STORAGE_CONNECTION_EMPTY_VFSTYPE);
+    }
+
+    @Test
+     public void updatePosixNonEmptyVFSType() {
+        StorageServerConnections newPosixConnection = 
createPosixConnection("multipass.my.domain.tlv.company.com:/export/allstorage/data1",
 StorageType.POSIXFS, "nfs" , "timeo=30");
+        parameters.setStorageServerConnection(newPosixConnection);
+        parameters.setVdsId(Guid.Empty);
+        doReturn(true).when(command).InitializeVds();
+        CanDoActionTestUtils.runAndAssertCanDoActionSuccess(command);
+    }
+
+
+}


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

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

Reply via email to