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

Reply via email to