jochen      2005/05/22 23:11:15

  Modified:    src/test/org/apache/xmlrpc/test Tag: b20050512_streaming
                        BaseTest.java
  Log:
  Added unit test for serializable objects.
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.1.2.4   +44 -0     
ws-xmlrpc/src/test/org/apache/xmlrpc/test/Attic/BaseTest.java
  
  Index: BaseTest.java
  ===================================================================
  RCS file: 
/home/cvs/ws-xmlrpc/src/test/org/apache/xmlrpc/test/Attic/BaseTest.java,v
  retrieving revision 1.1.2.3
  retrieving revision 1.1.2.4
  diff -u -r1.1.2.3 -r1.1.2.4
  --- BaseTest.java     21 May 2005 21:23:51 -0000      1.1.2.3
  +++ BaseTest.java     23 May 2005 06:11:14 -0000      1.1.2.4
  @@ -17,12 +17,15 @@
   
   import java.io.IOException;
   import java.io.StringReader;
  +import java.text.DateFormat;
   import java.text.DecimalFormat;
   import java.text.NumberFormat;
   import java.util.Arrays;
  +import java.util.Calendar;
   import java.util.HashMap;
   import java.util.Iterator;
   import java.util.Map;
  +import java.util.TimeZone;
   
   import javax.xml.namespace.QName;
   import javax.xml.parsers.DocumentBuilderFactory;
  @@ -257,6 +260,14 @@
                                return result;
                        }
                }
  +
  +             /** Returns the calendar value in milliseconds.
  +              * @param pCal Calendar object
  +              * @return <code>pCal.getTime().getTime()</code>.
  +              */
  +             public long serializableParam(Calendar pCal) {
  +                     return pCal.getTime().getTime();
  +             }
        }
   
        protected XmlRpcHandlerMapping getHandlerMapping() throws IOException, 
XmlRpcException {
  @@ -787,4 +798,37 @@
                }
                assertTrue(ok);
        }
  +
  +     /** Test, whether we can invoke a method, passing an instance of
  +      * [EMAIL PROTECTED] java.io.Serializable} as an instance.
  +      * @throws Exception The test failed.
  +      */
  +     public void testSerializableParam() throws Exception {
  +             for (int i = 0;  i < providers.length;  i++) {
  +                     testSerializableParam(providers[i]);
  +             }
  +     }
  +
  +     private void testSerializableParam(ClientProvider pProvider) throws 
Exception {
  +             final String methodName = "Remote.serializableParam";
  +             Calendar cal = 
Calendar.getInstance(TimeZone.getTimeZone("GMT"));
  +             cal.set(Calendar.YEAR, 2005);
  +             cal.set(Calendar.MONTH, 5);
  +             cal.set(Calendar.DAY_OF_MONTH, 23);
  +             cal.set(Calendar.HOUR_OF_DAY, 8);
  +             cal.set(Calendar.MINUTE, 4);
  +             cal.set(Calendar.SECOND, 0);
  +             cal.set(Calendar.MILLISECOND, 5);
  +             final Object[] params = new Object[]{cal};
  +             final XmlRpcClient client = pProvider.getClient();
  +             Object result = client.execute(getExConfig(pProvider), 
methodName, params);
  +             assertEquals(new Long(cal.getTime().getTime()), result);
  +             boolean ok = false;
  +             try {
  +                     client.execute(getConfig(pProvider), methodName, 
params);
  +             } catch (XmlRpcExtensionException e) {
  +                     ok = true;
  +             }
  +             assertTrue(ok);
  +     }
   }
  
  
  

Reply via email to