Ravi Nori has uploaded a new change for review.

Change subject: engine : Add serialization test for StopVmCommand
......................................................................

engine : Add serialization test for StopVmCommand

Added serialization deserilaization test for
VmOperationParameterBase which adds two parameters
to the VdcParametersMap and verifies that the
values are retained on serializing the object to
JSON and deserializing JSON to Object.

Change-Id: I9f3df6b3b5981f3a6cb4de785f6c567be63e3cb2
Signed-off-by: Ravi Nori <rn...@redhat.com>
---
A 
backend/manager/modules/utils/src/test/java/org/ovirt/engine/core/utils/serialization/json/JsonObjectSerializationParametersTest.java
1 file changed, 56 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/80/20480/1

diff --git 
a/backend/manager/modules/utils/src/test/java/org/ovirt/engine/core/utils/serialization/json/JsonObjectSerializationParametersTest.java
 
b/backend/manager/modules/utils/src/test/java/org/ovirt/engine/core/utils/serialization/json/JsonObjectSerializationParametersTest.java
new file mode 100644
index 0000000..611d2a2
--- /dev/null
+++ 
b/backend/manager/modules/utils/src/test/java/org/ovirt/engine/core/utils/serialization/json/JsonObjectSerializationParametersTest.java
@@ -0,0 +1,56 @@
+package org.ovirt.engine.core.utils.serialization.json;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.io.Serializable;
+import static org.junit.Assert.fail;
+
+import org.junit.Test;
+import org.ovirt.engine.core.common.action.StopVmTypeEnum;
+import org.ovirt.engine.core.common.action.VmOperationParameterBase;
+import org.ovirt.engine.core.common.queries.InvalidParameterValueException;
+import org.ovirt.engine.core.common.utils.VmVdcParameter;
+import org.ovirt.engine.core.compat.Guid;
+
+
+/**
+ * This test is designed to test that the parameter classes can be 
serialized/deserialized by Jackson correctly.
+ */
+public class JsonObjectSerializationParametersTest {
+
+    @Test
+    public void serializeAndDeserializeEntity() throws Exception {
+        Guid vmId = new Guid("00000000-0000-0000-0000-000000000000");
+        StopVmTypeEnum stopVmType = StopVmTypeEnum.CANNOT_SHUTDOWN;
+        VmOperationParameterBase parameter = getStopVmParameters(vmId, 
stopVmType);
+        String serializedEntity = new 
JsonObjectSerializer().serialize(parameter);
+        assertNotNull(serializedEntity);
+
+        Serializable deserializedEntity =
+                new JsonObjectDeserializer().deserialize(serializedEntity, 
parameter.getClass());
+        assertNotNull(deserializedEntity);
+
+        VmOperationParameterBase deserializedParameter = 
(VmOperationParameterBase) deserializedEntity;
+        Guid deserializedVmId = (Guid) 
deserializedParameter.getParameterValue(VmVdcParameter.VmId);
+        StopVmTypeEnum deSerializedStopVmType = (StopVmTypeEnum) 
deserializedParameter.getParameterValue(VmVdcParameter.StopVmType);
+
+        assertNotNull(deserializedVmId);
+        assertNotNull(deSerializedStopVmType);
+
+        assertEquals(vmId, deserializedVmId);
+        assertEquals(stopVmType, deSerializedStopVmType);
+        assertEquals(parameter, deserializedParameter);
+    }
+
+    private VmOperationParameterBase getStopVmParameters(Guid vmId, 
StopVmTypeEnum stopVmType) {
+        VmOperationParameterBase params = new VmOperationParameterBase(vmId);
+        try {
+            params.addParameter(VmVdcParameter.VmId, vmId);
+            params.addParameter(VmVdcParameter.StopVmType, stopVmType);
+        } catch (InvalidParameterValueException e) {
+            fail(e.getMessage());
+        }
+        return params;
+    }
+}


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I9f3df6b3b5981f3a6cb4de785f6c567be63e3cb2
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Ravi Nori <rn...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to