You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by mc...@apache.org on 2013/05/04 02:42:53 UTC

git commit: updated refs/heads/object_store to bb7a72b

Updated Branches:
  refs/heads/object_store e0ab845e9 -> bb7a72b7d


Add unit test for DataTO/DataStoreTO serializer/deserializer adapter.

Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/bb7a72b7
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/bb7a72b7
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/bb7a72b7

Branch: refs/heads/object_store
Commit: bb7a72b7d6be3003b7b217569d6d0a9a35e19711
Parents: e0ab845
Author: Min Chen <mi...@citrix.com>
Authored: Fri May 3 17:42:39 2013 -0700
Committer: Min Chen <mi...@citrix.com>
Committed: Fri May 3 17:42:39 2013 -0700

----------------------------------------------------------------------
 core/src/com/cloud/serializer/GsonHelper.java      |    2 +
 .../com/cloud/agent/transport/RequestTest.java     |   31 +++++++++++++++
 2 files changed, 33 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/bb7a72b7/core/src/com/cloud/serializer/GsonHelper.java
----------------------------------------------------------------------
diff --git a/core/src/com/cloud/serializer/GsonHelper.java b/core/src/com/cloud/serializer/GsonHelper.java
index 47e9922..5656d91 100644
--- a/core/src/com/cloud/serializer/GsonHelper.java
+++ b/core/src/com/cloud/serializer/GsonHelper.java
@@ -68,6 +68,8 @@ public class GsonHelper {
         builder.registerTypeAdapter(new TypeToken<Pair<Long, Long>>() {
         }.getType(), new NwGroupsCommandTypeAdaptor());
         Gson gson = builder.create();
+        dsAdaptor.initGson(gson);
+        dtAdaptor.initGson(gson);
         cmdAdaptor.initGson(gson);
         ansAdaptor.initGson(gson);
         return gson;

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/bb7a72b7/core/test/com/cloud/agent/transport/RequestTest.java
----------------------------------------------------------------------
diff --git a/core/test/com/cloud/agent/transport/RequestTest.java b/core/test/com/cloud/agent/transport/RequestTest.java
index 141beb8..27bb4ff 100644
--- a/core/test/com/cloud/agent/transport/RequestTest.java
+++ b/core/test/com/cloud/agent/transport/RequestTest.java
@@ -30,6 +30,7 @@ import com.cloud.agent.api.Answer;
 import com.cloud.agent.api.Command;
 import com.cloud.agent.api.GetHostStatsCommand;
 import com.cloud.agent.api.SecStorageFirewallCfgCommand;
+import com.cloud.agent.api.SecStorageSetupCommand;
 import com.cloud.agent.api.UpdateHostPasswordCommand;
 import com.cloud.agent.api.storage.DownloadAnswer;
 import com.cloud.agent.api.to.NfsTO;
@@ -129,6 +130,36 @@ public class RequestTest extends TestCase {
         compareRequest(cresp, sresp);
     }
 
+
+    public void testSerDeserTO() {
+        s_logger.info("Testing serializing and deserializing interface TO works as expected");
+
+        NfsTO nfs = new NfsTO("nfs://192.168.56.10/opt/storage/secondary", DataStoreRole.Image);
+        SecStorageSetupCommand cmd = new SecStorageSetupCommand(nfs, "nfs://192.168.56.10/opt/storage/secondary", null);
+        Request sreq = new Request(2, 3, cmd, true);
+        sreq.setSequence(892403718);
+
+
+        byte[] bytes = sreq.getBytes();
+
+        assert Request.getSequence(bytes) == 892403718;
+        assert Request.getManagementServerId(bytes) == 3;
+        assert Request.getAgentId(bytes) == 2;
+        assert Request.getViaAgentId(bytes) == 2;
+        Request creq = null;
+        try {
+            creq = Request.parse(bytes);
+        } catch (ClassNotFoundException e) {
+            s_logger.error("Unable to parse bytes: ", e);
+        } catch (UnsupportedVersionException e) {
+            s_logger.error("Unable to parse bytes: ", e);
+        }
+
+        assert creq != null : "Couldn't get the request back";
+
+        compareRequest(creq, sreq);
+    }
+
     public void testDownload() {
         s_logger.info("Testing Download answer");
         VMTemplateVO template = new VMTemplateVO(1, "templatename", ImageFormat.QCOW2, true, true, true, TemplateType.USER, "url", true, 32, 1, "chksum", "displayText", true, 30, true,