Modified: webservices/xmlrpc/branches/XMLRPC_3_0_BRANCH/tests/src/test/java/org/apache/xmlrpc/test/JiraTest.java URL: http://svn.apache.org/viewvc/webservices/xmlrpc/branches/XMLRPC_3_0_BRANCH/tests/src/test/java/org/apache/xmlrpc/test/JiraTest.java?view=diff&rev=468141&r1=468140&r2=468141 ============================================================================== --- webservices/xmlrpc/branches/XMLRPC_3_0_BRANCH/tests/src/test/java/org/apache/xmlrpc/test/JiraTest.java (original) +++ webservices/xmlrpc/branches/XMLRPC_3_0_BRANCH/tests/src/test/java/org/apache/xmlrpc/test/JiraTest.java Thu Oct 26 14:25:51 2006 @@ -1,323 +1,356 @@ -/* - * Copyright 1999,2005 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.xmlrpc.test; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.io.Writer; -import java.net.HttpURLConnection; -import java.net.URL; -import java.util.Collections; -import java.util.Hashtable; -import java.util.Iterator; -import java.util.Map; -import java.util.Properties; -import java.util.Vector; - -import org.apache.log4j.BasicConfigurator; -import org.apache.xmlrpc.XmlRpcException; -import org.apache.xmlrpc.client.XmlRpcClient; -import org.apache.xmlrpc.client.XmlRpcHttpClientConfig; -import org.apache.xmlrpc.client.util.ClientFactory; -import org.apache.xmlrpc.common.XmlRpcStreamRequestConfig; -import org.apache.xmlrpc.parser.XmlRpcResponseParser; -import org.apache.xmlrpc.server.XmlRpcHandlerMapping; -import org.apache.xmlrpc.util.SAXParsers; -import org.xml.sax.InputSource; -import org.xml.sax.XMLReader; - - -/** - * Test case for various jira issues. - */ -public class JiraTest extends XmlRpcTestCase { - /** Interface of the handler for [EMAIL PROTECTED] JiraTest#testXMLRPC89()} - */ - public interface XMLRPC89Handler { - /** - * Returns the reversed vector. - */ - Vector reverse(Vector pVector); - /** - * Returns the same hashtable, but doubles the - * values. - */ - Hashtable doubledValues(Hashtable pMap); - /** - * Returns the same properties, but doubles the - * values. - */ - Properties doubledPropertyValues(Properties pMap); - } - - /** - * Handler for [EMAIL PROTECTED] JiraTest#testXMLRPC89()} - */ - public static class XMLRPC89HandlerImpl implements XMLRPC89Handler { - public Vector reverse(Vector pVector) { - Vector result = new Vector(pVector.size()); - result.addAll(pVector); - Collections.reverse(result); - return result; - } - public Hashtable doubledValues(Hashtable pMap) { - final Hashtable result; - if (pMap instanceof Properties) { - result = new Properties(); - } else { - result = new Hashtable(); - } - result.putAll(pMap); - for (Iterator iter = result.entrySet().iterator(); iter.hasNext(); ) { - Map.Entry entry = (Map.Entry) iter.next(); - Object value = entry.getValue(); - final Integer i; - if (pMap instanceof Properties) { - i = Integer.valueOf((String) value); - } else { - i = (Integer) value; - } - Integer iDoubled = new Integer(i.intValue()*2); - if (pMap instanceof Properties) { - entry.setValue(iDoubled.toString()); - } else { - entry.setValue(iDoubled); - } - } - return result; - } - public Properties doubledPropertyValues(Properties pProperties) { - return (Properties) doubledValues(pProperties); - } - } - - protected XmlRpcHandlerMapping getHandlerMapping() throws IOException, - XmlRpcException { - return getHandlerMapping("JiraTest.properties"); - } - - /** - * Test case for <a href="http://issues.apache.org/jira/browse/XMLRPC-89"> - * XMLRPC-89</a> - */ - public void testXMLRPC89() throws Exception { - for (int i = 0; i < providers.length; i++) { - testXMLRPC89Vector(providers[i]); - testXMLRPC89Hashtable(providers[i]); - testXMLRPC89Properties(providers[i]); - } - } - - private void testXMLRPC89Vector(ClientProvider pProvider) throws Exception { - Vector values = new Vector(); - for (int i = 0; i < 3; i++) { - values.add(new Integer(i)); - } - Vector params = new Vector(); - params.add(values); - XmlRpcClient client = pProvider.getClient(); - client.setConfig(getConfig(pProvider)); - Object res = client.execute(XMLRPC89Handler.class.getName() + ".reverse", params); - Object[] result = (Object[]) res; - assertNotNull(result); - assertEquals(3, result.length); - for (int i = 0; i < 3; i++) { - assertEquals(new Integer(2-i), result[i]); - } - - ClientFactory factory = new ClientFactory(client); - XMLRPC89Handler handler = (XMLRPC89Handler) factory.newInstance(XMLRPC89Handler.class); - Vector resultVector = handler.reverse(values); - assertNotNull(resultVector); - assertEquals(3, resultVector.size()); - for (int i = 0; i < 3; i++) { - assertEquals(new Integer(2-i), resultVector.get(i)); - } - } - - private void verifyXMLRPC89Hashtable(Map pMap) { - assertNotNull(pMap); - assertEquals(3, pMap.size()); - for (int i = 0; i < 3; i++) { - Integer j = (Integer) pMap.get(String.valueOf(i)); - assertEquals(i*2, j.intValue()); - } - } - - private void testXMLRPC89Hashtable(ClientProvider pProvider) throws Exception { - Hashtable values = new Hashtable(); - for (int i = 0; i < 3; i++) { - values.put(String.valueOf(i), new Integer(i)); - } - XmlRpcClient client = pProvider.getClient(); - client.setConfig(getConfig(pProvider)); - Object res = client.execute(XMLRPC89Handler.class.getName() + ".doubledValues", new Object[]{values}); - verifyXMLRPC89Hashtable((Map) res); - - ClientFactory factory = new ClientFactory(client); - XMLRPC89Handler handler = (XMLRPC89Handler) factory.newInstance(XMLRPC89Handler.class); - Hashtable result = handler.doubledValues(values); - verifyXMLRPC89Hashtable(result); - } - - private void verifyXMLRPC89Properties(Map pMap) { - assertNotNull(pMap); - assertEquals(3, pMap.size()); - for (int i = 0; i < 3; i++) { - String j = (String) pMap.get(String.valueOf(i)); - assertEquals(i*2, Integer.parseInt(j)); - } - } - - private void testXMLRPC89Properties(ClientProvider pProvider) throws Exception { - Properties values = new Properties(); - for (int i = 0; i < 3; i++) { - values.put(String.valueOf(i), String.valueOf(i)); - } - XmlRpcClient client = pProvider.getClient(); - client.setConfig(getConfig(pProvider)); - Object res = client.execute(XMLRPC89Handler.class.getName() + ".doubledPropertyValues", new Object[]{values}); - verifyXMLRPC89Properties((Map) res); - - ClientFactory factory = new ClientFactory(client); - XMLRPC89Handler handler = (XMLRPC89Handler) factory.newInstance(XMLRPC89Handler.class); - Properties result = handler.doubledPropertyValues(values); - verifyXMLRPC89Properties(result); - } - - /** Handler for XMLRPC-96 - */ - public static class XMLRPC96Handler { - /** Returns the "Hello, world!" string. - */ - public String getHelloWorld() { - return "Hello, world!"; - } - } - - /** - * Test case for <a href="http://issues.apache.org/jira/browse/XMLRPC-96"> - * XMLRPC-96</a> - */ - public void testXMLRPC96() throws Exception { - for (int i = 0; i < providers.length; i++) { - testXMLRPC96(providers[i]); - } - } - - private void testXMLRPC96(ClientProvider pProvider) throws Exception { - XmlRpcClient client = pProvider.getClient(); - client.setConfig(getConfig(pProvider)); - String s = (String) client.execute(XMLRPC96Handler.class.getName() + ".getHelloWorld", new Object[0]); - assertEquals("Hello, world!", s); - s = (String) client.execute(XMLRPC96Handler.class.getName() + ".getHelloWorld", (Object[]) null); - assertEquals("Hello, world!", s); - } - - /** - * Test case for <a href="http://issues.apache.org/jira/browse/XMLRPC-113"> - * XMLRPC-113</a> - */ - public void testXMLRPC113() throws Exception { - for (int i = 0; i < providers.length; i++) { - testXMLRPC113(providers[i]); - } - } - - /** - * Handler interface for [EMAIL PROTECTED] JiraTest#testXMLRPC113()} - */ - public interface XMLRPC113Handler { - /** - * Throws an [EMAIL PROTECTED] XmlRpcException} with the given error code. - */ - Object throwCode(int pCode) throws XmlRpcException; - } - - /** - * Handler for [EMAIL PROTECTED] JiraTest#testXMLRPC113()} - */ - public static class XMLRPC113HandlerImpl implements XMLRPC113Handler { - public Object throwCode(int pCode) throws XmlRpcException { - throw new XmlRpcException(pCode, "Message: " + pCode); - } - } - - private void testXMLRPC113(ClientProvider pProvider) throws Exception { - XmlRpcClient client = pProvider.getClient(); - client.setConfig(getConfig(pProvider)); - XMLRPC113Handler handler = (XMLRPC113Handler) new ClientFactory(client).newInstance(XMLRPC113Handler.class); - for (int i = 0; i < 5; i++) { - try { - client.execute(XMLRPC113Handler.class.getName() + ".throwCode", new Object[]{new Integer(i)}); - fail("Excpected exception"); - } catch (XmlRpcException e) { - assertEquals(i, e.code); - } - try { - handler.throwCode(i); - } catch (XmlRpcException e) { - assertEquals(i, e.code); - } - } - } - - /** - * Handler for [EMAIL PROTECTED] JiraTest#testXMLRPC115()} - */ - public static class XMLRPC115Handler { - /** - * Does nothing, just for checking, whether the server is alive. - */ - public Object[] ping() { - return new Object[0]; - } - } - - public void testXMLRPC115() throws Exception { - for (int i = 0; i < providers.length; i++) { - testXMLRPC115(providers[i]); - } - } - - private void testXMLRPC115(ClientProvider pProvider) throws Exception { - if (pProvider instanceof SunHttpTransportProvider) { - XmlRpcClient client = pProvider.getClient(); - client.setConfig(getConfig(pProvider)); - URL url = ((XmlRpcHttpClientConfig) client.getConfig()).getServerURL(); - HttpURLConnection conn = (HttpURLConnection) url.openConnection(); - conn.setDoInput(true); - conn.setDoOutput(true); - conn.setRequestMethod("POST"); - conn.setRequestProperty("content-type", "text/xml"); - OutputStream ostream = conn.getOutputStream(); - Writer w = new OutputStreamWriter(ostream, "UTF-8"); - w.write("<methodCall><methodName>" + XMLRPC115Handler.class.getName() + ".ping" - + "</methodName></methodCall>"); - w.close(); - InputStream istream = conn.getInputStream(); - XmlRpcResponseParser parser = new XmlRpcResponseParser((XmlRpcStreamRequestConfig) client.getClientConfig(), client.getTypeFactory()); - XMLReader xr = SAXParsers.newXMLReader(); - xr.setContentHandler(parser); - xr.parse(new InputSource(istream)); - istream.close(); - assertTrue(parser.getResult() instanceof Object[]); - assertEquals(0, ((Object[]) parser.getResult()).length); - } - } -} +/* + * Copyright 1999,2005 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.xmlrpc.test; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.io.Writer; +import java.net.HttpURLConnection; +import java.net.URL; +import java.util.Collections; +import java.util.Hashtable; +import java.util.Iterator; +import java.util.Map; +import java.util.Properties; +import java.util.Vector; + +import org.apache.log4j.BasicConfigurator; +import org.apache.xmlrpc.XmlRpcException; +import org.apache.xmlrpc.client.XmlRpcClient; +import org.apache.xmlrpc.client.XmlRpcHttpClientConfig; +import org.apache.xmlrpc.client.util.ClientFactory; +import org.apache.xmlrpc.common.XmlRpcStreamRequestConfig; +import org.apache.xmlrpc.parser.XmlRpcResponseParser; +import org.apache.xmlrpc.server.XmlRpcHandlerMapping; +import org.apache.xmlrpc.util.SAXParsers; +import org.xml.sax.InputSource; +import org.xml.sax.XMLReader; + + +/** + * Test case for various jira issues. + */ +public class JiraTest extends XmlRpcTestCase { + /** Interface of the handler for [EMAIL PROTECTED] JiraTest#testXMLRPC89()} + */ + public interface XMLRPC89Handler { + /** + * Returns the reversed vector. + */ + Vector reverse(Vector pVector); + /** + * Returns the same hashtable, but doubles the + * values. + */ + Hashtable doubledValues(Hashtable pMap); + /** + * Returns the same properties, but doubles the + * values. + */ + Properties doubledPropertyValues(Properties pMap); + } + + /** + * Handler for [EMAIL PROTECTED] JiraTest#testXMLRPC89()} + */ + public static class XMLRPC89HandlerImpl implements XMLRPC89Handler { + public Vector reverse(Vector pVector) { + Vector result = new Vector(pVector.size()); + result.addAll(pVector); + Collections.reverse(result); + return result; + } + public Hashtable doubledValues(Hashtable pMap) { + final Hashtable result; + if (pMap instanceof Properties) { + result = new Properties(); + } else { + result = new Hashtable(); + } + result.putAll(pMap); + for (Iterator iter = result.entrySet().iterator(); iter.hasNext(); ) { + Map.Entry entry = (Map.Entry) iter.next(); + Object value = entry.getValue(); + final Integer i; + if (pMap instanceof Properties) { + i = Integer.valueOf((String) value); + } else { + i = (Integer) value; + } + Integer iDoubled = new Integer(i.intValue()*2); + if (pMap instanceof Properties) { + entry.setValue(iDoubled.toString()); + } else { + entry.setValue(iDoubled); + } + } + return result; + } + public Properties doubledPropertyValues(Properties pProperties) { + return (Properties) doubledValues(pProperties); + } + } + + protected XmlRpcHandlerMapping getHandlerMapping() throws IOException, + XmlRpcException { + return getHandlerMapping("JiraTest.properties"); + } + + /** + * Test case for <a href="http://issues.apache.org/jira/browse/XMLRPC-89"> + * XMLRPC-89</a> + */ + public void testXMLRPC89() throws Exception { + for (int i = 0; i < providers.length; i++) { + testXMLRPC89Vector(providers[i]); + testXMLRPC89Hashtable(providers[i]); + testXMLRPC89Properties(providers[i]); + } + } + + private void testXMLRPC89Vector(ClientProvider pProvider) throws Exception { + Vector values = new Vector(); + for (int i = 0; i < 3; i++) { + values.add(new Integer(i)); + } + Vector params = new Vector(); + params.add(values); + XmlRpcClient client = pProvider.getClient(); + client.setConfig(getConfig(pProvider)); + Object res = client.execute(XMLRPC89Handler.class.getName() + ".reverse", params); + Object[] result = (Object[]) res; + assertNotNull(result); + assertEquals(3, result.length); + for (int i = 0; i < 3; i++) { + assertEquals(new Integer(2-i), result[i]); + } + + ClientFactory factory = new ClientFactory(client); + XMLRPC89Handler handler = (XMLRPC89Handler) factory.newInstance(XMLRPC89Handler.class); + Vector resultVector = handler.reverse(values); + assertNotNull(resultVector); + assertEquals(3, resultVector.size()); + for (int i = 0; i < 3; i++) { + assertEquals(new Integer(2-i), resultVector.get(i)); + } + } + + private void verifyXMLRPC89Hashtable(Map pMap) { + assertNotNull(pMap); + assertEquals(3, pMap.size()); + for (int i = 0; i < 3; i++) { + Integer j = (Integer) pMap.get(String.valueOf(i)); + assertEquals(i*2, j.intValue()); + } + } + + private void testXMLRPC89Hashtable(ClientProvider pProvider) throws Exception { + Hashtable values = new Hashtable(); + for (int i = 0; i < 3; i++) { + values.put(String.valueOf(i), new Integer(i)); + } + XmlRpcClient client = pProvider.getClient(); + client.setConfig(getConfig(pProvider)); + Object res = client.execute(XMLRPC89Handler.class.getName() + ".doubledValues", new Object[]{values}); + verifyXMLRPC89Hashtable((Map) res); + + ClientFactory factory = new ClientFactory(client); + XMLRPC89Handler handler = (XMLRPC89Handler) factory.newInstance(XMLRPC89Handler.class); + Hashtable result = handler.doubledValues(values); + verifyXMLRPC89Hashtable(result); + } + + private void verifyXMLRPC89Properties(Map pMap) { + assertNotNull(pMap); + assertEquals(3, pMap.size()); + for (int i = 0; i < 3; i++) { + String j = (String) pMap.get(String.valueOf(i)); + assertEquals(i*2, Integer.parseInt(j)); + } + } + + private void testXMLRPC89Properties(ClientProvider pProvider) throws Exception { + Properties values = new Properties(); + for (int i = 0; i < 3; i++) { + values.put(String.valueOf(i), String.valueOf(i)); + } + XmlRpcClient client = pProvider.getClient(); + client.setConfig(getConfig(pProvider)); + Object res = client.execute(XMLRPC89Handler.class.getName() + ".doubledPropertyValues", new Object[]{values}); + verifyXMLRPC89Properties((Map) res); + + ClientFactory factory = new ClientFactory(client); + XMLRPC89Handler handler = (XMLRPC89Handler) factory.newInstance(XMLRPC89Handler.class); + Properties result = handler.doubledPropertyValues(values); + verifyXMLRPC89Properties(result); + } + + /** Handler for XMLRPC-96 + */ + public static class XMLRPC96Handler { + /** Returns the "Hello, world!" string. + */ + public String getHelloWorld() { + return "Hello, world!"; + } + } + + /** + * Test case for <a href="http://issues.apache.org/jira/browse/XMLRPC-96"> + * XMLRPC-96</a> + */ + public void testXMLRPC96() throws Exception { + for (int i = 0; i < providers.length; i++) { + testXMLRPC96(providers[i]); + } + } + + private void testXMLRPC96(ClientProvider pProvider) throws Exception { + XmlRpcClient client = pProvider.getClient(); + client.setConfig(getConfig(pProvider)); + String s = (String) client.execute(XMLRPC96Handler.class.getName() + ".getHelloWorld", new Object[0]); + assertEquals("Hello, world!", s); + s = (String) client.execute(XMLRPC96Handler.class.getName() + ".getHelloWorld", (Object[]) null); + assertEquals("Hello, world!", s); + } + + /** + * Test case for <a href="http://issues.apache.org/jira/browse/XMLRPC-113"> + * XMLRPC-113</a> + */ + public void testXMLRPC113() throws Exception { + for (int i = 0; i < providers.length; i++) { + testXMLRPC113(providers[i]); + } + } + + /** + * Handler interface for [EMAIL PROTECTED] JiraTest#testXMLRPC113()} + */ + public interface XMLRPC113Handler { + /** + * Throws an [EMAIL PROTECTED] XmlRpcException} with the given error code. + */ + Object throwCode(int pCode) throws XmlRpcException; + } + + /** + * Handler for [EMAIL PROTECTED] JiraTest#testXMLRPC113()} + */ + public static class XMLRPC113HandlerImpl implements XMLRPC113Handler { + public Object throwCode(int pCode) throws XmlRpcException { + throw new XmlRpcException(pCode, "Message: " + pCode); + } + } + + private void testXMLRPC113(ClientProvider pProvider) throws Exception { + XmlRpcClient client = pProvider.getClient(); + client.setConfig(getConfig(pProvider)); + XMLRPC113Handler handler = (XMLRPC113Handler) new ClientFactory(client).newInstance(XMLRPC113Handler.class); + for (int i = 0; i < 5; i++) { + try { + client.execute(XMLRPC113Handler.class.getName() + ".throwCode", new Object[]{new Integer(i)}); + fail("Excpected exception"); + } catch (XmlRpcException e) { + assertEquals(i, e.code); + } + try { + handler.throwCode(i); + } catch (XmlRpcException e) { + assertEquals(i, e.code); + } + } + } + + /** + * Handler for [EMAIL PROTECTED] JiraTest#testXMLRPC115()} + */ + public static class XMLRPC115Handler { + /** + * Does nothing, just for checking, whether the server is alive. + */ + public Object[] ping() { + return new Object[0]; + } + } + + public void testXMLRPC115() throws Exception { + for (int i = 0; i < providers.length; i++) { + testXMLRPC115(providers[i]); + } + } + + private void testXMLRPC115(ClientProvider pProvider) throws Exception { + if (pProvider instanceof SunHttpTransportProvider) { + XmlRpcClient client = pProvider.getClient(); + client.setConfig(getConfig(pProvider)); + URL url = ((XmlRpcHttpClientConfig) client.getConfig()).getServerURL(); + HttpURLConnection conn = (HttpURLConnection) url.openConnection(); + conn.setDoInput(true); + conn.setDoOutput(true); + conn.setRequestMethod("POST"); + conn.setRequestProperty("content-type", "text/xml"); + OutputStream ostream = conn.getOutputStream(); + Writer w = new OutputStreamWriter(ostream, "UTF-8"); + w.write("<methodCall><methodName>" + XMLRPC115Handler.class.getName() + ".ping" + + "</methodName></methodCall>"); + w.close(); + InputStream istream = conn.getInputStream(); + XmlRpcResponseParser parser = new XmlRpcResponseParser((XmlRpcStreamRequestConfig) client.getClientConfig(), client.getTypeFactory()); + XMLReader xr = SAXParsers.newXMLReader(); + xr.setContentHandler(parser); + xr.parse(new InputSource(istream)); + istream.close(); + assertTrue(parser.getResult() instanceof Object[]); + assertEquals(0, ((Object[]) parser.getResult()).length); + } + } + + /** + * Test case for <a href="http://issues.apache.org/jira/browse/XMLRPC-119"> + * XMLRPC-119</a> + */ + public void testXMLRPC119() throws Exception { + for (int i = 0; i < providers.length; i++) { + testXMLRPC119(providers[i]); + } + } + + /** Handler for XMLRPC-119 + */ + public static class XMLRPC119Handler { + /** Returns a string with a length of "num" Kilobytes. + */ + public String getString(int pSize) { + StringBuffer sb = new StringBuffer(pSize*1024); + for (int i = 0; i < pSize*1024; i++) { + sb.append('&'); + } + return sb.toString(); + } + } + + private void testXMLRPC119(ClientProvider pProvider) throws Exception { + XmlRpcClient client = pProvider.getClient(); + client.setConfig(getConfig(pProvider)); + for (int i = 0; i < 100; i+= 10) { + String s = (String) client.execute(XMLRPC119Handler.class.getName() + ".getString", new Object[]{new Integer(i)}); + assertEquals(i*1024, s.length()); + } + } +}
Modified: webservices/xmlrpc/branches/XMLRPC_3_0_BRANCH/tests/src/test/java/org/apache/xmlrpc/test/ParserTest.java URL: http://svn.apache.org/viewvc/webservices/xmlrpc/branches/XMLRPC_3_0_BRANCH/tests/src/test/java/org/apache/xmlrpc/test/ParserTest.java?view=diff&rev=468141&r1=468140&r2=468141 ============================================================================== --- webservices/xmlrpc/branches/XMLRPC_3_0_BRANCH/tests/src/test/java/org/apache/xmlrpc/test/ParserTest.java (original) +++ webservices/xmlrpc/branches/XMLRPC_3_0_BRANCH/tests/src/test/java/org/apache/xmlrpc/test/ParserTest.java Thu Oct 26 14:25:51 2006 @@ -1,111 +1,111 @@ -package org.apache.xmlrpc.test; - -import java.io.IOException; -import java.io.StringReader; - -import junit.framework.TestCase; - -import org.apache.xmlrpc.XmlRpcException; -import org.apache.xmlrpc.client.XmlRpcClient; -import org.apache.xmlrpc.client.XmlRpcClientConfigImpl; -import org.apache.xmlrpc.common.XmlRpcHttpRequestConfigImpl; -import org.apache.xmlrpc.common.XmlRpcStreamConfig; -import org.apache.xmlrpc.common.XmlRpcStreamRequestConfig; -import org.apache.xmlrpc.parser.XmlRpcRequestParser; -import org.apache.xmlrpc.parser.XmlRpcResponseParser; -import org.apache.xmlrpc.util.SAXParsers; -import org.xml.sax.InputSource; -import org.xml.sax.SAXException; -import org.xml.sax.XMLReader; - - -/** Test for the various parsers. - */ -public class ParserTest extends TestCase { - private Object parseResponse(final String s) throws XmlRpcException, IOException, SAXException { - XmlRpcStreamRequestConfig config = new XmlRpcClientConfigImpl(); - XmlRpcClient client = new XmlRpcClient(); - XmlRpcResponseParser parser = new XmlRpcResponseParser(config, client.getTypeFactory()); - XMLReader xr = SAXParsers.newXMLReader(); - xr.setContentHandler(parser); - xr.parse(new InputSource(new StringReader(s))); - Object o = parser.getResult(); - return o; - } - - private XmlRpcRequestParser parseRequest(final String s) throws XmlRpcException, IOException, SAXException { - XmlRpcStreamConfig config = new XmlRpcHttpRequestConfigImpl(); - XmlRpcClient client = new XmlRpcClient(); - XmlRpcRequestParser parser = new XmlRpcRequestParser(config, client.getTypeFactory()); - XMLReader xr = SAXParsers.newXMLReader(); - xr.setContentHandler(parser); - xr.parse(new InputSource(new StringReader(s))); - return parser; - } - - /** Tests, whether strings can be parsed with, - * or without, the "string" tag. - */ - public void testStringType() throws Exception { - final String[] strings = new String[]{ - "3", "<string>3</string>", - " <string>3</string> " - }; - for (int i = 0; i < strings.length; i++) { - final String s = - "<?xml version='1.0' encoding='UTF-8'?>\n" - + "<methodResponse><params><param>\n" - + "<value>" + strings[i] + "</value></param>\n" - + "</params></methodResponse>\n"; - Object o = parseResponse(s); - assertEquals("3", o); - } - } - - /** Tests, whether nested arrays can be parsed. - */ - public void testNestedObjectArrays() throws Exception { - final String s = - "<?xml version='1.0' encoding='UTF-8'?>\n" - + "<methodResponse><params><param>\n" - + "<value><array><data><value><array>\n" - + "<data><value>array</value>\n" - + "<value>string</value></data></array>\n" - + "</value></data></array></value></param>\n" - + "</params></methodResponse>\n"; - Object o = parseResponse(s); - assertTrue(o instanceof Object[]); - Object[] outer = (Object[]) o; - assertEquals(1, outer.length); - o = outer[0]; - assertTrue(o instanceof Object[]); - Object[] inner = (Object[]) o; - assertEquals(2, inner.length); - assertEquals("array", inner[0]); - assertEquals("string", inner[1]); - } - - /** - * Tests, whether a request may omit the <params> tag. - */ - public void testOptionalParams() throws Exception { - final String s1 = "<methodResponse/>"; - Object o1 = parseResponse(s1); - assertNull(o1); - - final String s2 = "<methodResponse><params/></methodResponse>"; - Object o2 = parseResponse(s2); - assertNull(o2); - - final String s3 = "<methodCall><methodName>foo</methodName></methodCall>"; - XmlRpcRequestParser p3 = parseRequest(s3); - assertEquals("foo", p3.getMethodName()); - assertNull(p3.getParams()); - - final String s4 = "<methodCall><methodName>bar</methodName><params/></methodCall>"; - XmlRpcRequestParser p4 = parseRequest(s4); - assertEquals("bar", p4.getMethodName()); - assertNotNull(p4.getParams()); - assertTrue(p4.getParams().size() == 0); - } -} +package org.apache.xmlrpc.test; + +import java.io.IOException; +import java.io.StringReader; + +import junit.framework.TestCase; + +import org.apache.xmlrpc.XmlRpcException; +import org.apache.xmlrpc.client.XmlRpcClient; +import org.apache.xmlrpc.client.XmlRpcClientConfigImpl; +import org.apache.xmlrpc.common.XmlRpcHttpRequestConfigImpl; +import org.apache.xmlrpc.common.XmlRpcStreamConfig; +import org.apache.xmlrpc.common.XmlRpcStreamRequestConfig; +import org.apache.xmlrpc.parser.XmlRpcRequestParser; +import org.apache.xmlrpc.parser.XmlRpcResponseParser; +import org.apache.xmlrpc.util.SAXParsers; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; +import org.xml.sax.XMLReader; + + +/** Test for the various parsers. + */ +public class ParserTest extends TestCase { + private Object parseResponse(final String s) throws XmlRpcException, IOException, SAXException { + XmlRpcStreamRequestConfig config = new XmlRpcClientConfigImpl(); + XmlRpcClient client = new XmlRpcClient(); + XmlRpcResponseParser parser = new XmlRpcResponseParser(config, client.getTypeFactory()); + XMLReader xr = SAXParsers.newXMLReader(); + xr.setContentHandler(parser); + xr.parse(new InputSource(new StringReader(s))); + Object o = parser.getResult(); + return o; + } + + private XmlRpcRequestParser parseRequest(final String s) throws XmlRpcException, IOException, SAXException { + XmlRpcStreamConfig config = new XmlRpcHttpRequestConfigImpl(); + XmlRpcClient client = new XmlRpcClient(); + XmlRpcRequestParser parser = new XmlRpcRequestParser(config, client.getTypeFactory()); + XMLReader xr = SAXParsers.newXMLReader(); + xr.setContentHandler(parser); + xr.parse(new InputSource(new StringReader(s))); + return parser; + } + + /** Tests, whether strings can be parsed with, + * or without, the "string" tag. + */ + public void testStringType() throws Exception { + final String[] strings = new String[]{ + "3", "<string>3</string>", + " <string>3</string> " + }; + for (int i = 0; i < strings.length; i++) { + final String s = + "<?xml version='1.0' encoding='UTF-8'?>\n" + + "<methodResponse><params><param>\n" + + "<value>" + strings[i] + "</value></param>\n" + + "</params></methodResponse>\n"; + Object o = parseResponse(s); + assertEquals("3", o); + } + } + + /** Tests, whether nested arrays can be parsed. + */ + public void testNestedObjectArrays() throws Exception { + final String s = + "<?xml version='1.0' encoding='UTF-8'?>\n" + + "<methodResponse><params><param>\n" + + "<value><array><data><value><array>\n" + + "<data><value>array</value>\n" + + "<value>string</value></data></array>\n" + + "</value></data></array></value></param>\n" + + "</params></methodResponse>\n"; + Object o = parseResponse(s); + assertTrue(o instanceof Object[]); + Object[] outer = (Object[]) o; + assertEquals(1, outer.length); + o = outer[0]; + assertTrue(o instanceof Object[]); + Object[] inner = (Object[]) o; + assertEquals(2, inner.length); + assertEquals("array", inner[0]); + assertEquals("string", inner[1]); + } + + /** + * Tests, whether a request may omit the <params> tag. + */ + public void testOptionalParams() throws Exception { + final String s1 = "<methodResponse/>"; + Object o1 = parseResponse(s1); + assertNull(o1); + + final String s2 = "<methodResponse><params/></methodResponse>"; + Object o2 = parseResponse(s2); + assertNull(o2); + + final String s3 = "<methodCall><methodName>foo</methodName></methodCall>"; + XmlRpcRequestParser p3 = parseRequest(s3); + assertEquals("foo", p3.getMethodName()); + assertNull(p3.getParams()); + + final String s4 = "<methodCall><methodName>bar</methodName><params/></methodCall>"; + XmlRpcRequestParser p4 = parseRequest(s4); + assertEquals("bar", p4.getMethodName()); + assertNotNull(p4.getParams()); + assertTrue(p4.getParams().size() == 0); + } +} Modified: webservices/xmlrpc/branches/XMLRPC_3_0_BRANCH/tests/src/test/resources/org/apache/xmlrpc/test/JiraTest.properties URL: http://svn.apache.org/viewvc/webservices/xmlrpc/branches/XMLRPC_3_0_BRANCH/tests/src/test/resources/org/apache/xmlrpc/test/JiraTest.properties?view=diff&rev=468141&r1=468140&r2=468141 ============================================================================== --- webservices/xmlrpc/branches/XMLRPC_3_0_BRANCH/tests/src/test/resources/org/apache/xmlrpc/test/JiraTest.properties (original) +++ webservices/xmlrpc/branches/XMLRPC_3_0_BRANCH/tests/src/test/resources/org/apache/xmlrpc/test/JiraTest.properties Thu Oct 26 14:25:51 2006 @@ -1,4 +1,5 @@ -org.apache.xmlrpc.test.JiraTest$XMLRPC89Handler=org.apache.xmlrpc.test.JiraTest$XMLRPC89HandlerImpl -org.apache.xmlrpc.test.JiraTest$XMLRPC96Handler=org.apache.xmlrpc.test.JiraTest$XMLRPC96Handler -org.apache.xmlrpc.test.JiraTest$XMLRPC113Handler=org.apache.xmlrpc.test.JiraTest$XMLRPC113HandlerImpl -org.apache.xmlrpc.test.JiraTest$XMLRPC115Handler=org.apache.xmlrpc.test.JiraTest$XMLRPC115Handler +org.apache.xmlrpc.test.JiraTest$XMLRPC89Handler=org.apache.xmlrpc.test.JiraTest$XMLRPC89HandlerImpl +org.apache.xmlrpc.test.JiraTest$XMLRPC96Handler=org.apache.xmlrpc.test.JiraTest$XMLRPC96Handler +org.apache.xmlrpc.test.JiraTest$XMLRPC113Handler=org.apache.xmlrpc.test.JiraTest$XMLRPC113HandlerImpl +org.apache.xmlrpc.test.JiraTest$XMLRPC115Handler=org.apache.xmlrpc.test.JiraTest$XMLRPC115Handler +org.apache.xmlrpc.test.JiraTest$XMLRPC119Handler=org.apache.xmlrpc.test.JiraTest$XMLRPC119Handler
