diff options
Diffstat (limited to 'orkbasej/java/net/sf/oreka/serializers/test')
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 |