You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by dk...@apache.org on 2016/03/01 15:50:45 UTC
[7/9] cayenne git commit: Tests for hessian serialization service.
Tests for hessian serialization service.
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/d96ddec1
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/d96ddec1
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/d96ddec1
Branch: refs/heads/master
Commit: d96ddec1c6860f93e4a1950f4554cdb2d05cd837
Parents: 1d9c26b
Author: Dzmitry Kazimirchyk <dk...@gmail.com>
Authored: Mon Jan 25 18:28:41 2016 +0300
Committer: Dzmitry Kazimirchyk <dk...@gmail.com>
Committed: Tue Mar 1 14:10:20 2016 +0300
----------------------------------------------------------------------
.../http/HessianROPSerializationServiceIT.java | 94 ++++++++++++++++++++
1 file changed, 94 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/d96ddec1/cayenne-client/src/test/java/org/apache/cayenne/rop/http/HessianROPSerializationServiceIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/rop/http/HessianROPSerializationServiceIT.java b/cayenne-client/src/test/java/org/apache/cayenne/rop/http/HessianROPSerializationServiceIT.java
new file mode 100644
index 0000000..770b625
--- /dev/null
+++ b/cayenne-client/src/test/java/org/apache/cayenne/rop/http/HessianROPSerializationServiceIT.java
@@ -0,0 +1,94 @@
+package org.apache.cayenne.rop.http;
+
+import org.apache.cayenne.CayenneContext;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.rop.ROPSerializationService;
+import org.apache.cayenne.rop.ServerHessianSerializationServiceProvider;
+import org.apache.cayenne.testdo.mt.ClientMtTable1;
+import org.apache.cayenne.testdo.mt.ClientMtTable2;
+import org.apache.cayenne.unit.di.client.ClientCase;
+import org.apache.cayenne.unit.di.server.CayenneProjects;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+
+import static org.junit.Assert.*;
+
+@UseServerRuntime(CayenneProjects.MULTI_TIER_PROJECT)
+public class HessianROPSerializationServiceIT extends ClientCase {
+
+ @Inject
+ private CayenneContext context;
+
+ @Test
+ public void testByteArraySerialization() throws Exception {
+ ClientMtTable1 table1 = context.newObject(ClientMtTable1.class);
+ table1.setGlobalAttribute1("Test table1");
+
+ ClientMtTable2 table2 = context.newObject(ClientMtTable2.class);
+ table2.setGlobalAttribute("Test table2");
+ table2.setTable1(table1);
+
+ ROPSerializationService clientService = createClientSerializationService();
+ ROPSerializationService serverService = createServerSerializationService();
+
+ // test client to server serialization
+ byte[] data = clientService.serialize(table2);
+ ClientMtTable2 serverTable2 = serverService.deserialize(data, ClientMtTable2.class);
+
+ assertEquals("Test table2", serverTable2.getGlobalAttribute());
+ assertEquals("Test table1", serverTable2.getTable1().getGlobalAttribute1());
+
+ // test server to client serialization
+ data = serverService.serialize(table2);
+ ClientMtTable2 clientTable2 = clientService.deserialize(data, ClientMtTable2.class);
+
+ assertEquals("Test table2", clientTable2.getGlobalAttribute());
+ assertEquals("Test table1", clientTable2.getTable1().getGlobalAttribute1());
+ }
+
+ @Test
+ public void testStreamSerialization() throws Exception {
+ ClientMtTable1 table1 = context.newObject(ClientMtTable1.class);
+ table1.setGlobalAttribute1("Test table1");
+
+ ClientMtTable2 table2 = context.newObject(ClientMtTable2.class);
+ table2.setGlobalAttribute("Test table2");
+ table2.setTable1(table1);
+
+ ROPSerializationService clientService = createClientSerializationService();
+ ROPSerializationService serverService = createServerSerializationService();
+
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+
+ // test client to server serialization
+ clientService.serialize(table2, out);
+ out.flush();
+ ClientMtTable2 serverTable2 = serverService.deserialize(
+ new ByteArrayInputStream(out.toByteArray()), ClientMtTable2.class);
+
+ assertEquals("Test table2", serverTable2.getGlobalAttribute());
+ assertEquals("Test table1", serverTable2.getTable1().getGlobalAttribute1());
+
+ // test server to client serialization
+ out = new ByteArrayOutputStream();
+ serverService.serialize(table2, out);
+ out.flush();
+ ClientMtTable2 clientTable2 = clientService.deserialize(
+ new ByteArrayInputStream(out.toByteArray()), ClientMtTable2.class);
+
+ assertEquals("Test table2", clientTable2.getGlobalAttribute());
+ assertEquals("Test table1", clientTable2.getTable1().getGlobalAttribute1());
+ }
+
+ private ROPSerializationService createClientSerializationService() {
+ return new ClientHessianSerializationServiceProvider().get();
+ }
+
+ private ROPSerializationService createServerSerializationService() {
+ return new ServerHessianSerializationServiceProvider().get();
+ }
+
+}