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
