You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by gd...@apache.org on 2002/03/28 23:40:47 UTC

cvs commit: xml-axis/java/samples/echo TestClient.java

gdaniels    02/03/28 14:40:47

  Modified:    java/samples/echo TestClient.java
  Log:
  Introduce "test mode", in which exceptions will be tossed back up to the
  caller.  Access this by passing true to the TestClient constructor, or by
  using the "-t" command-line option.  Default is "batch mode", where
  errors are simply collected and output to the normal stream.
  
  Revision  Changes    Path
  1.58      +254 -69   xml-axis/java/samples/echo/TestClient.java
  
  Index: TestClient.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/samples/echo/TestClient.java,v
  retrieving revision 1.57
  retrieving revision 1.58
  diff -u -r1.57 -r1.58
  --- TestClient.java	27 Mar 2002 17:53:05 -0000	1.57
  +++ TestClient.java	28 Mar 2002 22:40:47 -0000	1.58
  @@ -89,6 +89,22 @@
       private static EchoServicePortType binding = null;
   
       /**
  +     * When testMode is true, we throw exceptions up to the caller
  +     * instead of recording them and continuing.
  +     */
  +    private boolean testMode = false;
  +
  +    public TestClient() {
  +    }
  +
  +    /**
  +     * Constructor which sets testMode
  +     */
  +    public TestClient(boolean testMode) {
  +        this.testMode = testMode;
  +    }
  +
  +    /**
        * Determine if two objects are equal.  Handles nulls and recursively
        * verifies arrays are equal.  Accepts dates within a tolerance of
        * 999 milliseconds.
  @@ -134,7 +150,7 @@
              }
              return true;
          }
  -       
  +
          if (obj1 instanceof List)
            obj1 = JavaUtils.convert(obj1, Object[].class);
          if (obj2 instanceof List)
  @@ -156,7 +172,7 @@
       {
           try {
               binding = new EchoServiceAccessLocator().
  -                getEchoServicePortType(new java.net.URL(url)); 
  +                getEchoServicePortType(new java.net.URL(url));
               ((EchoServiceBindingStub) binding).soapAction = soapAction;
               ((EchoServiceBindingStub) binding).addMethodToAction = addMethodToAction;
           } catch (Exception exp) {
  @@ -181,97 +197,217 @@
   
           {
               String input = "abccdefg";
  -            output = binding.echoString(input);
  -            verify("echoString", input, output);
  +            try {
  +                output = binding.echoString(input);
  +                verify("echoString", input, output);
  +            } catch (Exception e) {
  +                if (!testMode) {
  +                    verify("echoString", input, e);
  +                } else {
  +                    throw e;
  +                }
  +            }
           }
  -        
  +
           {
               String[] input = new String[] {"abc", "def"};
  -            output = binding.echoStringArray(input);
  -            verify("echoStringArray", input, output);
  +            try {
  +                output = binding.echoStringArray(input);
  +                verify("echoStringArray", input, output);
  +            } catch (Exception e) {
  +                if (!testMode) {
  +                    verify("echoStringArray", input, e);
  +                } else {
  +                    throw e;
  +                }
  +            }
           }
  -        
  +
           {
               Integer input = new Integer(42);
  -            output = new Integer( binding.echoInteger(input.intValue()));
  -            verify("echoInteger", input, output);
  +            try {
  +                output = new Integer( binding.echoInteger(input.intValue()));
  +                verify("echoInteger", input, output);
  +            } catch (Exception e) {
  +                if (!testMode) {
  +                    verify("echoInteger", input, e);
  +                } else {
  +                    throw e;
  +                }
  +            }
           }
  -        
  +
           {
               int[] input = new int[] {42};
  -            output = binding.echoIntegerArray(input);
  -            verify("echoIntegerArray", input, output);
  +            try {
  +                output = binding.echoIntegerArray(input);
  +                verify("echoIntegerArray", input, output);
  +            } catch (Exception e) {
  +                if (!testMode) {
  +                    verify("echoIntegerArray", input, e);
  +                } else {
  +                    throw e;
  +                }
  +            }
           }
  -        
  +
           {
               Float input = new Float(3.7F);
  -            output = new Float(binding.echoFloat(input.floatValue()));
  -            verify("echoFloat", input, output);
  +            try {
  +                output = new Float(binding.echoFloat(input.floatValue()));
  +                verify("echoFloat", input, output);
  +            } catch (Exception e) {
  +                if (!testMode) {
  +                    verify("echoFloat", input, e);
  +                } else {
  +                    throw e;
  +                }
  +            }
           }
   
           {
               float[] input = new float[] {3.7F, 7F};
  -            output = binding.echoFloatArray(input);
  -            verify("echoFloatArray", input, output);
  +            try {
  +                output = binding.echoFloatArray(input);
  +                verify("echoFloatArray", input, output);
  +            } catch (Exception e) {
  +                if (!testMode) {
  +                    verify("echoFloatArray", input, e);
  +                } else {
  +                    throw e;
  +                }
  +            }
           }
   
           {
               SOAPStruct input = new SOAPStruct(5, "Hello", 103F);
  -            output = binding.echoStruct(input);
  -            verify("echoStruct", input, output);
  +            try {
  +                output = binding.echoStruct(input);
  +                verify("echoStruct", input, output);
  +            } catch (Exception e) {
  +                if (!testMode) {
  +                    verify("echoStruct", input, e);
  +                } else {
  +                    throw e;
  +                }
  +            }
           }
  -        
  +
           {
               SOAPStruct[] input = new SOAPStruct[] {
                   new SOAPStruct(1, "one", 1.1F),
                   new SOAPStruct(2, "two", 2.2F),
                   new SOAPStruct(3, "three", 3.3F)};
  -            output = binding.echoStructArray(input);
  -            verify("echoStructArray", input, output);
  +            try {
  +                output = binding.echoStructArray(input);
  +                verify("echoStructArray", input, output);
  +            } catch (Exception e) {
  +                if (!testMode) {
  +                    verify("echoStructArray", input, e);
  +                } else {
  +                    throw e;
  +                }
  +            }
           }
   
           {
  -            binding.echoVoid();
  -            verify("echoVoid", null, null);
  +            try {
  +                binding.echoVoid();
  +                verify("echoVoid", null, null);
  +            } catch (Exception e) {
  +                if (!testMode) {
  +                    verify("echoVoid", null, e);
  +                } else {
  +                    throw e;
  +                }
  +            }
           }
   
           {
               byte[] input = "Base64".getBytes();
  -            output = binding.echoBase64(input);
  -            verify("echoBase64", input, output);
  +            try {
  +                output = binding.echoBase64(input);
  +                verify("echoBase64", input, output);
  +            } catch (Exception e) {
  +                if (!testMode) {
  +                    verify("echoBase64", input, e);
  +                } else {
  +                    throw e;
  +                }
  +            }
           }
  -        
  +
           {
               Hex input = new Hex("3344");
  -            output = binding.echoHexBinary(input.getBytes());
  -            verify("echoHexBinary", input, output);
  +            try {
  +                output = binding.echoHexBinary(input.getBytes());
  +                verify("echoHexBinary", input, output);
  +            } catch (Exception e) {
  +                if (!testMode) {
  +                    verify("echoHexBinary", input, e);
  +                } else {
  +                    throw e;
  +                }
  +            }
           }
  -        
  +
           {
               Date input = new Date();
  -            output = binding.echoDate(input);
  -            verify("echoDate", input, output);
  +            try {
  +                output = binding.echoDate(input);
  +                verify("echoDate", input, output);
  +            } catch (Exception e) {
  +                if (!testMode) {
  +                    verify("echoDate", input, e);
  +                } else {
  +                    throw e;
  +                }
  +            }
           }
  -        
  +
           {
               BigDecimal input = new BigDecimal("3.14159");
  -            output = binding.echoDecimal(input);
  -            verify("echoDecimal", input, output);
  +            try {
  +                output = binding.echoDecimal(input);
  +                verify("echoDecimal", input, output);
  +            } catch (Exception e) {
  +                if (!testMode) {
  +                    verify("echoDecimal", input, e);
  +                } else {
  +                    throw e;
  +                }
  +            }
           }
  -        
  +
           {
               Boolean input = Boolean.TRUE;
  -            output = new Boolean( binding.echoBoolean(input.booleanValue()));
  -            verify("echoBoolean", input, output);
  +            try {
  +                output = new Boolean( binding.echoBoolean(input.booleanValue()));
  +                verify("echoBoolean", input, output);
  +            } catch (Exception e) {
  +                if (!testMode) {
  +                    verify("echoBoolean", input, e);
  +                } else {
  +                    throw e;
  +                }
  +            }
           }
  -        
  +
           HashMap map = new HashMap();
           map.put(new Integer(5), "String Value");
           map.put("String Key", new Date());
           {
               HashMap input = map;
  -            output = binding.echoMap(input);
  -            verify("echoMap", input, output);
  +            try {
  +                output = binding.echoMap(input);
  +                verify("echoMap", input, output);
  +            } catch (Exception e) {
  +                if (!testMode) {
  +                    verify("echoMap", input, e);
  +                } else {
  +                    throw e;
  +                }
  +            }
           }
   
           HashMap map2 = new HashMap();
  @@ -279,8 +415,16 @@
           map2.put("test", new Float(411));
           {
               HashMap[] input = new HashMap [] {map, map2 };
  -            output = binding.echoMapArray(input);
  -            verify("echoMapArray", input, output);
  +            try {
  +                output = binding.echoMapArray(input);
  +                verify("echoMapArray", input, output);
  +            } catch (Exception e) {
  +                if (!testMode) {
  +                    verify("echoMapArray", input, e);
  +                } else {
  +                    throw e;
  +                }
  +            }
           }
       }
   
  @@ -292,24 +436,40 @@
           Object output = null;
           {
               SOAPStruct input = new SOAPStruct(5, "Hello", 103F);
  -            StringHolder outputString = new StringHolder();
  -            IntHolder outputInteger = new IntHolder();
  -            FloatHolder outputFloat = new FloatHolder();
  -            binding.echoStructAsSimpleTypes(input, outputString, outputInteger, outputFloat);
  -            output = new SOAPStruct(outputInteger.value,
  -                                    outputString.value,
  -                                    outputFloat.value);
  -            verify("echoStructAsSimpleTypes", 
  -                   input, output);
  +            try {
  +                StringHolder outputString = new StringHolder();
  +                IntHolder outputInteger = new IntHolder();
  +                FloatHolder outputFloat = new FloatHolder();
  +                binding.echoStructAsSimpleTypes(input, outputString, outputInteger, outputFloat);
  +                output = new SOAPStruct(outputInteger.value,
  +                                        outputString.value,
  +                                        outputFloat.value);
  +                verify("echoStructAsSimpleTypes",
  +                       input, output);
  +            } catch (Exception e) {
  +                if (!testMode) {
  +                    verify("echoStructAsSimpleTypes", input, e);
  +                } else {
  +                    throw e;
  +                }
  +            }
           }
   
           {
               SOAPStruct input = new SOAPStruct(5, "Hello", 103F);
  -            output = binding.echoSimpleTypesAsStruct(
  -                    input.getVarString(), input.getVarInt(), input.getVarFloat());
  -            verify("echoSimpleTypesAsStruct", 
  -                   input, 
  -                   output);
  +            try {
  +                output = binding.echoSimpleTypesAsStruct(
  +                   input.getVarString(), input.getVarInt(), input.getVarFloat());
  +                verify("echoSimpleTypesAsStruct",
  +                       input,
  +                       output);
  +            } catch (Exception e) {
  +                if (!testMode) {
  +                    verify("echoSimpleTypesAsStruct", input, e);
  +                } else {
  +                    throw e;
  +                }
  +            }
           }
   
           {
  @@ -318,10 +478,18 @@
               input[0][1] = "01";
               input[1][0] = "10";
               input[1][1] = "11";
  -            output = binding.echo2DStringArray(input);
  -            verify("echo2DStringArray", 
  -                   input, 
  -                   output);
  +            try {
  +                output = binding.echo2DStringArray(input);
  +                verify("echo2DStringArray",
  +                       input,
  +                       output);
  +            } catch (Exception e) {
  +                if (!testMode) {
  +                    verify("echo2DStringArray", input, e);
  +                } else {
  +                    throw e;
  +                }
  +            }
           }
   
           {
  @@ -329,16 +497,32 @@
                                                             1,
                                                             3F,
                                                             new SOAPStruct(5, "Hello", 103F));
  -            output = binding.echoNestedStruct(input);
  -            verify("echoNestedStruct", input, output);
  +            try {
  +                output = binding.echoNestedStruct(input);
  +                verify("echoNestedStruct", input, output);
  +            } catch (Exception e) {
  +                if (!testMode) {
  +                    verify("echoNestedStruct", input, e);
  +                } else {
  +                    throw e;
  +                }
  +            }
           }
           {
               SOAPArrayStruct input = new SOAPArrayStruct("AXIS",
                                                           1,
                                                           3F,
                                                           new String[] {"one", "two", "three"});
  -            output = binding.echoNestedArray(input);
  -            verify("echoNestedArray", input, output);
  +            try {
  +                output = binding.echoNestedArray(input);
  +                verify("echoNestedArray", input, output);
  +            } catch (Exception e) {
  +                if (!testMode) {
  +                    verify("echoNestedArray", input, e);
  +                } else {
  +                    throw e;
  +                }
  +            }
           }
       }
   
  @@ -353,7 +537,7 @@
        * on their results.
        *
        * Arguments are of the form:
  -     *   -h localhost -p 8080 -s /soap/servlet/rpcrouter 
  +     *   -h localhost -p 8080 -s /soap/servlet/rpcrouter
        * -h indicats the host
        */
       public static void main(String args[]) throws Exception {
  @@ -361,17 +545,18 @@
   
           boolean testPerformance = opts.isFlagSet('k') > 0;
           boolean allTests = opts.isFlagSet('A') > 0;
  +        boolean testMode = opts.isFlagSet('t') > 0;
   
           // set up tests so that the results are sent to System.out
           TestClient client;
   
           if (testPerformance) {
  -            client = new TestClient() {
  +            client = new TestClient(testMode) {
                  public void verify(String method, Object sent, Object gotBack) {
                  }
               };
           } else {
  -            client = new TestClient() {
  +            client = new TestClient(testMode) {
               public void verify(String method, Object sent, Object gotBack) {
                   String message;
                   if (this.equals(sent, gotBack)) {