]> WPIA git - gigi.git/blobdiff - tests/club/wpia/gigi/TestUserSerialize.java
upd: rename package name and all references to it
[gigi.git] / tests / club / wpia / gigi / TestUserSerialize.java
diff --git a/tests/club/wpia/gigi/TestUserSerialize.java b/tests/club/wpia/gigi/TestUserSerialize.java
new file mode 100644 (file)
index 0000000..70a8b6f
--- /dev/null
@@ -0,0 +1,46 @@
+package club.wpia.gigi;
+
+import static org.junit.Assert.*;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+
+import org.junit.Test;
+
+import club.wpia.gigi.dbObjects.User;
+import club.wpia.gigi.testUtils.BusinessTest;
+
+public class TestUserSerialize extends BusinessTest {
+
+    private byte[] serialize(Object o) throws IOException {
+        try (ByteArrayOutputStream baos = new ByteArrayOutputStream()) {
+            try (ObjectOutputStream oos = new ObjectOutputStream(baos)) {
+                oos.writeObject(o);
+                oos.flush();
+            }
+            baos.flush();
+            return baos.toByteArray();
+        }
+    }
+
+    private Object deserialize(byte[] ba) throws IOException, ClassNotFoundException {
+        try (ByteArrayInputStream bais = new ByteArrayInputStream(ba)) {
+            try (ObjectInputStream ois = new ObjectInputStream(bais)) {
+                Object o = ois.readObject();
+                return o;
+            }
+        }
+    }
+
+    @Test
+    public void testSerializeUser() throws GigiApiException, IOException, ClassNotFoundException {
+        User u = createVerifiedUser();
+        byte[] ba = serialize(u);
+        Object uo = deserialize(ba);
+        assertSame("Original user and the deserialized object must be the same", u, uo);
+    }
+
+}