Hello Idan Shaby,
I'd like you to do a code review. Please visit
http://gerrit.ovirt.org/29808
to review the following change.
Change subject: core: update SD's setActionMessageParameters
......................................................................
core: update SD's setActionMessageParameters
Moved the inclusion of VAR__ACTION__UPDATE in UpdateStorageDomainCommand
from canDoAction() to it's rightful place, setActionMessageParameters().
This patch also includes a basic test case that verifies the above
change was done correctly.
Change-Id: I98d9959cb79e3786e5fb51d50e1e1961e85bf629
Signed-off-by: Allon Mureinik <[email protected]>
Signed-off-by: Idan Shaby <[email protected]>
---
M
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateStorageDomainCommand.java
A
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/UpdateStorageDomainCommandTest.java
2 files changed, 97 insertions(+), 1 deletion(-)
git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/08/29808/1
diff --git
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateStorageDomainCommand.java
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateStorageDomainCommand.java
index d939ac1..8b5b049 100644
---
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateStorageDomainCommand.java
+++
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateStorageDomainCommand.java
@@ -27,7 +27,6 @@
@Override
protected boolean canDoAction() {
- addCanDoActionMessage(VdcBllMessages.VAR__ACTION__UPDATE);
boolean returnValue = super.canDoAction() && checkStorageDomain()
&& checkStorageDomainStatus(StorageDomainStatus.Active) &&
checkStorageDomainNameLengthValid();
oldDomain =
getStorageDomainStaticDAO().get(getStorageDomain().getId());
@@ -69,6 +68,12 @@
}
@Override
+ protected void setActionMessageParameters() {
+ super.setActionMessageParameters();
+ addCanDoActionMessage(VdcBllMessages.VAR__ACTION__UPDATE);
+ }
+
+ @Override
public AuditLogType getAuditLogTypeValue() {
return getSucceeded() ? AuditLogType.USER_UPDATE_STORAGE_DOMAIN
: AuditLogType.USER_UPDATE_STORAGE_DOMAIN_FAILED;
diff --git
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/UpdateStorageDomainCommandTest.java
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/UpdateStorageDomainCommandTest.java
new file mode 100644
index 0000000..2adc932
--- /dev/null
+++
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/UpdateStorageDomainCommandTest.java
@@ -0,0 +1,91 @@
+package org.ovirt.engine.core.bll.storage;
+
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+import static org.ovirt.engine.core.utils.MockConfigRule.mockConfig;
+
+import java.util.List;
+import org.junit.Before;
+import org.junit.ClassRule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.runners.MockitoJUnitRunner;
+import org.ovirt.engine.core.bll.CanDoActionTestUtils;
+import org.ovirt.engine.core.common.action.StorageDomainManagementParameter;
+import org.ovirt.engine.core.common.businessentities.StorageDomain;
+import org.ovirt.engine.core.common.businessentities.StorageDomainStatic;
+import org.ovirt.engine.core.common.businessentities.StorageDomainStatus;
+import org.ovirt.engine.core.common.businessentities.StorageDomainType;
+import org.ovirt.engine.core.common.businessentities.StorageFormatType;
+import org.ovirt.engine.core.common.businessentities.StorageType;
+import org.ovirt.engine.core.common.config.ConfigValues;
+import org.ovirt.engine.core.common.errors.VdcBllMessages;
+import org.ovirt.engine.core.compat.Guid;
+import org.ovirt.engine.core.dao.StorageDomainStaticDAO;
+import org.ovirt.engine.core.utils.MockConfigRule;
+
+/**
+ * A test case for the {@link UpdateStorageDomainCommand} class.
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class UpdateStorageDomainCommandTest {
+ private Guid sdId;
+ private StorageDomain sd;
+ private StorageDomainStatic oldSdStatic;
+ private StorageDomainStatic newSdStatic;
+ private UpdateStorageDomainCommand<StorageDomainManagementParameter> cmd;
+
+ @ClassRule
+ public static MockConfigRule mcr =
+ new
MockConfigRule(mockConfig(ConfigValues.StorageDomainNameSizeLimit, 100));
+
+ @Mock
+ private StorageDomainStaticDAO sdsDao;
+
+ @Before
+ public void setUp() {
+ sdId = Guid.newGuid();
+ oldSdStatic = createStorageDomain();
+ newSdStatic = createStorageDomain();
+
+ sd = new StorageDomain();
+ sd.setStorageStaticData(newSdStatic);
+ sd.setStatus(StorageDomainStatus.Active);
+
+ cmd = spy(new UpdateStorageDomainCommand<>(new
StorageDomainManagementParameter(newSdStatic)));
+ doReturn(sd).when(cmd).getStorageDomain();
+ doReturn(sdsDao).when(cmd).getStorageDomainStaticDAO();
+
+ when(sdsDao.get(sdId)).thenReturn(oldSdStatic);
+ }
+
+ private StorageDomainStatic createStorageDomain() {
+ StorageDomainStatic sd = new StorageDomainStatic();
+ sd.setId(sdId);
+ sd.setStorageName("newStorageDomain");
+ sd.setComment("a storage domain for testing");
+ sd.setDescription("a storage domain for testing");
+ sd.setStorageDomainType(StorageDomainType.Data);
+ sd.setStorageType(StorageType.NFS);
+ sd.setStorageFormat(StorageFormatType.V3);
+ return sd;
+ }
+
+ @Test
+ public void canDoActionSame() {
+ CanDoActionTestUtils.runAndAssertCanDoActionSuccess(cmd);
+ }
+
+ @Test
+ public void setActionMessageParameters() {
+ cmd.setActionMessageParameters();
+ List<String> messages = cmd.getReturnValue().getCanDoActionMessages();
+ assertTrue("action name not in messages",
messages.remove(VdcBllMessages.VAR__ACTION__UPDATE.name()));
+ assertTrue("type not in messages",
messages.remove(VdcBllMessages.VAR__TYPE__STORAGE__DOMAIN.name()));
+ assertTrue("redundant messages " + messages, messages.isEmpty());
+ }
+
+}
--
To view, visit http://gerrit.ovirt.org/29808
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I98d9959cb79e3786e5fb51d50e1e1961e85bf629
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Allon Mureinik <[email protected]>
Gerrit-Reviewer: Idan Shaby <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches