summaryrefslogtreecommitdiff
path: root/orkbasej/java/net/sf/oreka/serializers/test
diff options
context:
space:
mode:
authorHenri Herscher <henri@oreka.org>2005-10-20 13:40:58 +0000
committerHenri Herscher <henri@oreka.org>2005-10-20 13:40:58 +0000
commit7e1d63dd9fd149e4934bf77095c8610fac786b04 (patch)
tree5fe486a1b0300c3b84fb559107a868e5cc2c95da /orkbasej/java/net/sf/oreka/serializers/test
parent467768fc956fc3e5a253373f26c71c681b31b6b8 (diff)
First checkin
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@2 09dcff7a-b715-0410-9601-b79a96267cd0
Diffstat (limited to 'orkbasej/java/net/sf/oreka/serializers/test')
-rw-r--r--orkbasej/java/net/sf/oreka/serializers/test/DomSerializerTest.java82
-rw-r--r--orkbasej/java/net/sf/oreka/serializers/test/NullHttpServletRequest.java163
-rw-r--r--orkbasej/java/net/sf/oreka/serializers/test/ServletRequestSerializerTest.java45
-rw-r--r--orkbasej/java/net/sf/oreka/serializers/test/SingleLineSerializerTest.java172
-rw-r--r--orkbasej/java/net/sf/oreka/serializers/test/TestMessageSimple.xml5
-rw-r--r--orkbasej/java/net/sf/oreka/serializers/test/TestNestedMessage.xml6
6 files changed, 473 insertions, 0 deletions
diff --git a/orkbasej/java/net/sf/oreka/serializers/test/DomSerializerTest.java b/orkbasej/java/net/sf/oreka/serializers/test/DomSerializerTest.java
new file mode 100644
index 0000000..198da4d
--- /dev/null
+++ b/orkbasej/java/net/sf/oreka/serializers/test/DomSerializerTest.java
@@ -0,0 +1,82 @@
+/*
+ * Oreka -- A media capture and retrieval platform
+ *
+ * Copyright (C) 2005, orecx LLC
+ *
+ * http://www.orecx.com
+ *
+ * This program is free software, distributed under the terms of
+ * the GNU General Public License.
+ * Please refer to http://www.gnu.org/copyleft/gpl.html
+ *
+ */
+
+package net.sf.oreka.serializers.test;
+
+import java.io.InputStream;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+import net.sf.oreka.OrkObject;
+import net.sf.oreka.OrkObjectFactory;
+import net.sf.oreka.messages.test.TestNestedMessage;
+import net.sf.oreka.messages.test.TestSubMessage;
+import net.sf.oreka.serializers.DomSerializer;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+
+
+public class DomSerializerTest extends TestCase {
+
+ DocumentBuilder builder = null;
+
+ public static void main (String[] args) {
+ junit.textui.TestRunner.run (suite());
+ }
+ protected void setUp() throws Exception {
+ OrkObjectFactory.instance().registerOrkObject(new TestNestedMessage());
+ OrkObjectFactory.instance().registerOrkObject(new TestSubMessage());
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ builder = factory.newDocumentBuilder();
+ }
+ public static Test suite() {
+ return new TestSuite(DomSerializerTest.class);
+ }
+
+ public void testDeSerializeBasic() throws Exception
+ {
+ InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream ("net/sf/oreka/serializers/test/TestNestedMessage.xml");
+ Document doc = builder.parse(is);
+ DomSerializer ser = new DomSerializer();
+ OrkObject obj = ser.deSerialize(doc.getFirstChild());
+ assertTrue(((TestNestedMessage)obj).getIntParm() == 546);
+
+ TestNestedMessage tnm = (TestNestedMessage)obj;
+ TestSubMessage tsm = tnm.getSubMsg();
+ assertTrue(tsm.getStringSubParm().equals("hello"));
+ }
+
+ public void testSerializeBasic() throws Exception
+ {
+ // This does a round trip serialization-deserialization in order to test serialization
+ TestNestedMessage tnm = new TestNestedMessage();
+ tnm.getSubMsg().setStringSubParm("le maure");
+ tnm.setDoubleParm(0.666);
+ Document doc = builder.newDocument();
+ Element docNode = doc.createElement(tnm.getOrkClassName());
+ doc.appendChild(docNode);
+
+ DomSerializer ser = new DomSerializer();
+ ser.serialize(doc, docNode, tnm);
+ //System.out.println(DomSerializer.NodeToString(doc));
+ OrkObject obj = ser.deSerialize(docNode);
+ assertTrue(((TestNestedMessage)obj).getDoubleParm() == 0.666);
+ assertTrue(((TestNestedMessage)obj).getSubMsg().getStringSubParm() == "le maure");
+ }
+}
diff --git a/orkbasej/java/net/sf/oreka/serializers/test/NullHttpServletRequest.java b/orkbasej/java/net/sf/oreka/serializers/test/NullHttpServletRequest.java
new file mode 100644
index 0000000..71cb22f
--- /dev/null
+++ b/orkbasej/java/net/sf/oreka/serializers/test/NullHttpServletRequest.java
@@ -0,0 +1,163 @@
+/*
+ * Oreka -- A media capture and retrieval platform
+ *
+ * Copyright (C) 2005, orecx LLC
+ *
+ * http://www.orecx.com
+ *
+ * This program is free software, distributed under the terms of
+ * the GNU General Public License.
+ * Please refer to http://www.gnu.org/copyleft/gpl.html
+ *
+ */
+
+package net.sf.oreka.serializers.test;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.security.Principal;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.Locale;
+import java.util.Map;
+
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletInputStream;
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+
+public class NullHttpServletRequest implements HttpServletRequest
+{
+ public Hashtable<String, String> parameters = new Hashtable<String, String>();
+
+ public void setParameter(String key, String value) {
+ parameters.put(key, value);
+ }
+
+ public String getParameter(String key) {
+ return (String)this.parameters.get(key);
+ }
+
+ public Enumeration getParameterNames(){
+ return this.parameters.elements();
+ }
+
+ public Cookie[] getCookies() {return null;}
+ public String getMethod(){return null;}
+ public String getRequestURI(){return null;}
+ public String getServletPath(){return null;}
+ public String getPathInfo(){return null;}
+ public String getPathTranslated(){return null;}
+ public String getQueryString(){return null;}
+ public String getRemoteUser(){return null;}
+ public String getAuthType(){return null;}
+ public String getHeader(String name){return null;}
+ public int getIntHeader(String name){return 0;}
+ public long getDateHeader(String name){return 0;}
+ public Enumeration getHeaderNames(){return null;}
+ public HttpSession getSession(boolean create){return null;}
+ public String getRequestedSessionId(){return null;}
+ public boolean isRequestedSessionIdValid(){return false;}
+ public boolean isRequestedSessionIdFromCookie(){return false;}
+ public boolean isRequestedSessionIdFromUrl(){return false;}
+ public int getContentLength(){return 0;}
+ public String getContentType(){return null;}
+ public String getProtocol(){return null;}
+ public String getScheme(){return null;}
+ public String getServerName(){return null;}
+ public int getServerPort(){return 0;}
+ public String getRemoteAddr(){return null;}
+ public String getRemoteHost(){return null;}
+ public String getRealPath(String path){return null;}
+ public ServletInputStream getInputStream() throws IOException{return null;}
+ public String[] getParameterValues(String name){return null;}
+ public Enumeration getAttributeNames(){return null;}
+ public Object getAttribute(String name){return null;}
+ public HttpSession getSession(){return null;}
+ public BufferedReader getReader() throws IOException{return null;}
+ public String getCharacterEncoding(){return null;}
+ public void setAttribute(String name, Object o) {}
+ public boolean isRequestedSessionIdFromURL() {return false;}
+
+ public String getContextPath() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Enumeration getHeaders(String arg0) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public StringBuffer getRequestURL() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Principal getUserPrincipal() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public boolean isUserInRole(String arg0) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public String getLocalAddr() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Locale getLocale() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Enumeration getLocales() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String getLocalName() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public int getLocalPort() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ public Map getParameterMap() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public int getRemotePort() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ public RequestDispatcher getRequestDispatcher(String arg0) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public boolean isSecure() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public void removeAttribute(String arg0) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setCharacterEncoding(String arg0) throws UnsupportedEncodingException {
+ // TODO Auto-generated method stub
+
+ }
+} \ No newline at end of file
diff --git a/orkbasej/java/net/sf/oreka/serializers/test/ServletRequestSerializerTest.java b/orkbasej/java/net/sf/oreka/serializers/test/ServletRequestSerializerTest.java
new file mode 100644
index 0000000..08260fb
--- /dev/null
+++ b/orkbasej/java/net/sf/oreka/serializers/test/ServletRequestSerializerTest.java
@@ -0,0 +1,45 @@
+/*
+ * Oreka -- A media capture and retrieval platform
+ *
+ * Copyright (C) 2005, orecx LLC
+ *
+ * http://www.orecx.com
+ *
+ * This program is free software, distributed under the terms of
+ * the GNU General Public License.
+ * Please refer to http://www.gnu.org/copyleft/gpl.html
+ *
+ */
+
+package net.sf.oreka.serializers.test;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+import net.sf.oreka.OrkObject;
+import net.sf.oreka.OrkObjectFactory;
+import net.sf.oreka.messages.test.TestMessage;
+import net.sf.oreka.serializers.ServletRequestSerializer;
+
+public class ServletRequestSerializerTest extends TestCase {
+
+ public static void main (String[] args) {
+ junit.textui.TestRunner.run (suite());
+ }
+ protected void setUp() {
+ OrkObjectFactory.instance().registerOrkObject(new TestMessage());
+ }
+ public static Test suite() {
+ return new TestSuite(ServletRequestSerializerTest.class);
+ }
+
+ public void testSerializeBasic() throws Exception
+ {
+ NullHttpServletRequest req = new NullHttpServletRequest();
+ ServletRequestSerializer ser = new ServletRequestSerializer();
+ req.setParameter("cmd", "test");
+ req.setParameter("intParm", "45");
+ OrkObject obj = ser.deSerialize(req);
+ assertTrue(((TestMessage)obj).getIntParm() == 45);
+ }
+}
diff --git a/orkbasej/java/net/sf/oreka/serializers/test/SingleLineSerializerTest.java b/orkbasej/java/net/sf/oreka/serializers/test/SingleLineSerializerTest.java
new file mode 100644
index 0000000..5520626
--- /dev/null
+++ b/orkbasej/java/net/sf/oreka/serializers/test/SingleLineSerializerTest.java
@@ -0,0 +1,172 @@
+/*
+ * Oreka -- A media capture and retrieval platform
+ *
+ * Copyright (C) 2005, orecx LLC
+ *
+ * http://www.orecx.com
+ *
+ * This program is free software, distributed under the terms of
+ * the GNU General Public License.
+ * Please refer to http://www.gnu.org/copyleft/gpl.html
+ *
+ */
+
+package net.sf.oreka.serializers.test;
+
+import junit.framework.*;
+import net.sf.oreka.*;
+import net.sf.oreka.messages.*;
+import net.sf.oreka.messages.test.TestMessage;
+import net.sf.oreka.serializers.SingleLineSerializer;
+
+public class SingleLineSerializerTest extends TestCase
+{
+ public static void main (String[] args) {
+ junit.textui.TestRunner.run (suite());
+ }
+ protected void setUp() {
+ OrkObjectFactory.instance().registerOrkObject(new TestMessage());
+ }
+ public static Test suite() {
+ return new TestSuite(SingleLineSerializerTest.class);
+ }
+
+ public void testSerializeBasic() throws Exception
+ {
+ String output = null;
+
+ TestMessage msg = new TestMessage();
+ SingleLineSerializer ser = new SingleLineSerializer();
+
+ msg.setIntParm(6);
+ output = ser.serialize(msg);
+ System.out.println("\noutput:" + output);
+ assertTrue(output.toLowerCase().indexOf("intparm=6") != -1);
+
+ msg.setIntParm(-5);
+ output = ser.serialize(msg);
+ System.out.println("\noutput:" + output);
+ assertTrue(output.toLowerCase().indexOf("intparm=-5") != -1);
+
+ msg.setDoubleParm(7.7);
+ output = ser.serialize(msg);
+ System.out.println("\noutput:" + output);
+ assertTrue(output.toLowerCase().indexOf("doubleparm=7.7") != -1);
+
+ msg.setBoolParm(true);
+ output = ser.serialize(msg);
+ System.out.println("\noutput:" + output);
+ assertTrue(output.toLowerCase().indexOf("boolparm=true") != -1);
+
+ msg.setStringParm("hello");
+ output = ser.serialize(msg);
+ System.out.println("\noutput:" + output);
+ assertTrue(output.toLowerCase().indexOf("stringparm=hello") != -1);
+ }
+
+ public void testDeSerializeBasic() throws Exception
+ {
+ String input;
+ SingleLineSerializer ser = new SingleLineSerializer();
+ TestMessage msg;
+
+ input = "class=test intparm=3";
+ msg = (TestMessage)ser.deSerialize(input);
+ assertTrue(msg.getIntParm() == 3);
+
+ input = "class=test doubleparm=-14.6";
+ msg = (TestMessage)ser.deSerialize(input);
+ assertTrue(msg.getDoubleParm() == -14.6);
+
+ input = "class=test boolparm=yes";
+ msg = (TestMessage)ser.deSerialize(input);
+ assertTrue(msg.isBoolParm());
+ }
+
+ public void testDeSerializeBoolean() throws Exception
+ {
+ String input;
+ SingleLineSerializer ser = new SingleLineSerializer();
+ TestMessage msg;
+
+ input = "class=test intparm=78 boolparm=no";
+ msg = (TestMessage)ser.deSerialize(input);
+ assertFalse(msg.isBoolParm());
+
+ input = "class=test intparm=78 boolparm=0";
+ msg = (TestMessage)ser.deSerialize(input);
+ assertFalse(msg.isBoolParm());
+
+ input = "class=test intparm=78 boolparm=false";
+ msg = (TestMessage)ser.deSerialize(input);
+ assertFalse(msg.isBoolParm());
+
+ input = "class=test intparm=78 boolparm=true";
+ msg = (TestMessage)ser.deSerialize(input);
+ assertTrue(msg.isBoolParm());
+
+ input = "class=test intparm=78 boolparm=yes";
+ msg = (TestMessage)ser.deSerialize(input);
+ assertTrue(msg.isBoolParm());
+
+ input = "class=test intparm=78 boolparm=1";
+ msg = (TestMessage)ser.deSerialize(input);
+ assertTrue(msg.isBoolParm());
+
+ input = "class=test intparm=78 boolparm=asdf";
+ boolean threw = false;
+ try {
+ msg = (TestMessage)ser.deSerialize(input);
+ }
+ catch (OrkException e) {
+ threw = true;
+ }
+ assertTrue(threw);
+ }
+
+ public void testDeSerializeRequired() throws Exception
+ {
+ String input;
+ SingleLineSerializer ser = new SingleLineSerializer();
+ TestMessage msg;
+
+ input = "class=test";
+ boolean threw = false;
+ try {
+ msg = (TestMessage)ser.deSerialize(input);
+ }
+ catch (OrkException e) {
+ threw = true;
+ }
+ assertTrue(threw);
+ }
+
+ public void testEnum() throws Exception
+ {
+ // deserialize
+ String input;
+ SingleLineSerializer ser = new SingleLineSerializer();
+ TestMessage msg;
+
+ input = "class=test intparm=78 enumparm=value2";
+ msg = (TestMessage)ser.deSerialize(input);
+ assertTrue(msg.getEnumParm() == TestMessage.TestEnum.value2);
+
+ input = "class=test intparm=78 enumparm=garbage";
+ boolean threw = false;
+ try {
+ msg = (TestMessage)ser.deSerialize(input);
+ }
+ catch (OrkException e) {
+ threw = true;
+ }
+ assertTrue(threw);
+
+ // serialize
+ String output = null;
+ msg.setEnumParm(TestMessage.TestEnum.value3);
+ output = ser.serialize(msg);
+ assertTrue(output.toLowerCase().indexOf("enumparm=value3") != -1);
+ }
+
+}
diff --git a/orkbasej/java/net/sf/oreka/serializers/test/TestMessageSimple.xml b/orkbasej/java/net/sf/oreka/serializers/test/TestMessageSimple.xml
new file mode 100644
index 0000000..20347c4
--- /dev/null
+++ b/orkbasej/java/net/sf/oreka/serializers/test/TestMessageSimple.xml
@@ -0,0 +1,5 @@
+<test>
+ <intParm>
+ 546
+ </intParm>
+</test> \ No newline at end of file
diff --git a/orkbasej/java/net/sf/oreka/serializers/test/TestNestedMessage.xml b/orkbasej/java/net/sf/oreka/serializers/test/TestNestedMessage.xml
new file mode 100644
index 0000000..0309449
--- /dev/null
+++ b/orkbasej/java/net/sf/oreka/serializers/test/TestNestedMessage.xml
@@ -0,0 +1,6 @@
+<testnested>
+ <intParm>546</intParm>
+ <testsub>
+ <stringsubparm>hello</stringsubparm>
+ </testsub>
+</testnested> \ No newline at end of file