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
