Tal Nisan has uploaded a new change for review.

Change subject: core: Added tests for validation on managed custom mount option
......................................................................

core: Added tests for validation on managed custom mount option

Change-Id: I678e116b8a534b69f87be59f9be8813b08cb6910
Bug-Url: https://bugzilla.redhat.com/1129597
Signed-off-by: Tal Nisan <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectStorageToVdsCommand.java
A 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/ConnectStorageToVdsCommandTest.java
M 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/StorageServerConnectionTestCommon.java
3 files changed, 90 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/73/32373/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectStorageToVdsCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectStorageToVdsCommand.java
index a52e324..d9dc122 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectStorageToVdsCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectStorageToVdsCommand.java
@@ -113,7 +113,7 @@
     private static final List<String> NFS_MANAGED_OPTIONS = 
Arrays.asList("timeout", "retrans", "vfs_type", "protocol_version", "nfsvers", 
"vers");
     private static final List<String> POSIX_MANAGED_OPTIONS = 
Arrays.asList("vfs_type");
 
-    private ValidationResult validateMountOptions() {
+    protected ValidationResult validateMountOptions() {
         String mountOptions = getConnection().getMountOptions();
         if (StringUtils.isBlank(mountOptions)) {
             return ValidationResult.VALID;
diff --git 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/ConnectStorageToVdsCommandTest.java
 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/ConnectStorageToVdsCommandTest.java
new file mode 100644
index 0000000..21b24c3
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/ConnectStorageToVdsCommandTest.java
@@ -0,0 +1,66 @@
+package org.ovirt.engine.core.bll.storage;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.ovirt.engine.core.bll.CanDoActionTestUtils;
+import org.ovirt.engine.core.bll.ValidationResult;
+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.common.errors.VdcBllMessages;
+import org.ovirt.engine.core.compat.Guid;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+public class ConnectStorageToVdsCommandTest {
+
+    private ConnectStorageToVdsCommand command;
+    private StorageServerConnectionParametersBase params;
+
+    @Before
+    public void prepareCommand() {
+        params = new StorageServerConnectionParametersBase();
+        command = new ConnectStorageToVdsCommand(params);
+    }
+
+    private StorageServerConnections createConnection(StorageType storageType, 
String mountOptions) {
+        StorageServerConnections conn = new StorageServerConnections();
+        conn.setstorage_type(storageType);
+        conn.setMountOptions(mountOptions);
+        return conn;
+    }
+
+    @Test
+    public void testPosixConnectionWithInvalidMountOptions() {
+        StorageServerConnections conn =createConnection(StorageType.POSIXFS, 
"timeo=30, vfs_type=nfs");
+        params.setStorageServerConnection(conn);
+        ValidationResult result = command.validateMountOptions();
+        assertFalse(result.isValid());
+    }
+
+    @Test
+    public void testNfsConnectionWithInvalidMountOptions() {
+        StorageServerConnections newPosixConnection =
+                createConnection(StorageType.NFS, "timeo=30, nfsvers=4");
+        params.setStorageServerConnection(newPosixConnection);
+        ValidationResult result = command.validateMountOptions();
+        assertFalse(result.isValid());
+    }
+
+    @Test
+    public void testPosixConnectionWithValidMountOptions() {
+        StorageServerConnections conn =createConnection(StorageType.POSIXFS, 
"timeo=30, validoption=666");
+        params.setStorageServerConnection(conn);
+        ValidationResult result = command.validateMountOptions();
+        assertTrue(result.isValid());
+    }
+
+    @Test
+    public void testNfsConnectionWithValidMountOptions() {
+        StorageServerConnections newPosixConnection = 
createConnection(StorageType.NFS, "timeo=30, validoption=666");
+        params.setStorageServerConnection(newPosixConnection);
+        ValidationResult result = command.validateMountOptions();
+        assertTrue(result.isValid());
+    }
+}
diff --git 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/StorageServerConnectionTestCommon.java
 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/StorageServerConnectionTestCommon.java
index c9d24153..2568f68 100644
--- 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/StorageServerConnectionTestCommon.java
+++ 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/StorageServerConnectionTestCommon.java
@@ -2,6 +2,7 @@
 
 import org.junit.Test;
 import org.ovirt.engine.core.bll.CanDoActionTestUtils;
+import org.ovirt.engine.core.bll.ValidationResult;
 import 
org.ovirt.engine.core.common.action.StorageServerConnectionParametersBase;
 import org.ovirt.engine.core.common.businessentities.NfsVersion;
 import org.ovirt.engine.core.common.businessentities.StorageServerConnections;
@@ -120,6 +121,28 @@
                 VdcBllMessages.VALIDATION_STORAGE_CONNECTION_EMPTY_VFSTYPE);
     }
 
+    @Test
+    public void testConnectionWithInvalidMountOptionsFails() {
+        StorageServerConnections newPosixConnection =
+                
createPosixConnection("multipass.my.domain.tlv.company.com:/export/allstorage/data1",
+                        StorageType.NFS, "nfs", "timeo=30");
+        parameters.setStorageServerConnection(newPosixConnection);
+        parameters.setVdsId(Guid.Empty);
+        doReturn(new 
ValidationResult(VdcBllMessages.VALIDATION_STORAGE_CONNECTION_MOUNT_OPTIONS_CONTAINS_MANAGED_PROPERTY)).when(getCommand()).validateMountOptions();
+        CanDoActionTestUtils.runAndAssertCanDoActionFailure(getCommand(), 
VdcBllMessages.VALIDATION_STORAGE_CONNECTION_MOUNT_OPTIONS_CONTAINS_MANAGED_PROPERTY);
+    }
+
+    @Test
+    public void testConnectionWithValidMountOptionsSucceeds() {
+        StorageServerConnections newPosixConnection =
+                
createPosixConnection("multipass.my.domain.tlv.company.com:/export/allstorage/data1",
+                        StorageType.NFS, "nfs", "timeo=30");
+        parameters.setStorageServerConnection(newPosixConnection);
+        parameters.setVdsId(Guid.Empty);
+        
doReturn(ValidationResult.VALID).when(getCommand()).validateMountOptions();
+        CanDoActionTestUtils.runAndAssertCanDoActionSuccess(getCommand());
+    }
+
     protected abstract ConnectStorageToVdsCommand getCommand();
     protected abstract boolean createConnectionWithId();
 }


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

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

Reply via email to