You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by ve...@apache.org on 2009/01/07 23:22:32 UTC
svn commit: r732539 - in /webservices/axis2/trunk/java/modules/saaj:
test-resources/SwAmessage.bin test-resources/message.bin
test/org/apache/axis2/saaj/MessageFactoryTest.java
test/org/apache/axis2/saaj/SAAJTestUtil.java
Author: veithen
Date: Wed Jan 7 14:22:31 2009
New Revision: 732539
URL: http://svn.apache.org/viewvc?rev=732539&view=rev
Log:
Added unit tests for AXIS2-4189 (commented out since the issue is not solved yet).
Added:
webservices/axis2/trunk/java/modules/saaj/test-resources/SwAmessage.bin
webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/SAAJTestUtil.java (with props)
Modified:
webservices/axis2/trunk/java/modules/saaj/test-resources/message.bin
webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/MessageFactoryTest.java
Added: webservices/axis2/trunk/java/modules/saaj/test-resources/SwAmessage.bin
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/saaj/test-resources/SwAmessage.bin?rev=732539&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/test-resources/SwAmessage.bin (added)
+++ webservices/axis2/trunk/java/modules/saaj/test-resources/SwAmessage.bin Wed Jan 7 14:22:31 2009
@@ -0,0 +1,13 @@
+--MIMEBoundaryurn_uuid_E3F7CE4554928DA89B1231365678616
+Content-Type: text/xml; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+Content-ID: <0....@apache.org>
+
+<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><m0:uploadFileUsingSwA xmlns:m0="http://services.samples"><m0:request><m0:imageId>urn:uuid:E3F7CE4554928DA89B1231365678347</m0:imageId></m0:request></m0:uploadFileUsingSwA></soapenv:Body></soapenv:Envelope>
+--MIMEBoundaryurn_uuid_E3F7CE4554928DA89B1231365678616
+Content-Type: text/plain
+Content-Transfer-Encoding: binary
+Content-ID: <urn:uuid:E3F7CE4554928DA89B1231365678347>
+
+test text
+--MIMEBoundaryurn_uuid_E3F7CE4554928DA89B1231365678616--
Modified: webservices/axis2/trunk/java/modules/saaj/test-resources/message.bin
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/saaj/test-resources/message.bin?rev=732539&r1=732538&r2=732539&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/test-resources/message.bin (original)
+++ webservices/axis2/trunk/java/modules/saaj/test-resources/message.bin Wed Jan 7 14:22:31 2009
@@ -1,14 +1,14 @@
---MIMEBoundaryurn:uuid:F02ECC18873CFB73E211412748909307
-content-type: application/xop+xml; charset=UTF-8; type="text/xml";
-content-transfer-encoding: binary
-content-id: <0....@apache.org>
-
-<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header><ns-prefix:Header1 xmlns:ns-prefix="ns-uri" xmlns:mustUnderstand="1" soapenv:mustUnderstand="1">This is Header1</ns-prefix:Header1><ns-prefix:Header2 xmlns:ns-prefix="ns-uri" xmlns:mustUnderstand="0" soapenv:mustUnderstand="0">This is Header2</ns-prefix:Header2><ns-prefix:Header3 xmlns:ns-prefix="ns-uri" xmlns:mustUnderstand="1" soapenv:mustUnderstand="1">This is Header3</ns-prefix:Header3><ns-prefix:Header4 xmlns:ns-prefix="ns-uri" xmlns:mustUnderstand="0" soapenv:mustUnderstand="0">This is Header4</ns-prefix:Header4></soapenv:Header><soapenv:Body><ns-prefix:Body1 xmlns:ns-prefix="ns-uri"><ns-prefix:Child1>This is Child1</ns-prefix:Child1><ns-prefix:Child2>This is Child2</ns-prefix:Child2></ns-prefix:Body1><swa:echo xmlns:swa="http://fakeNamespace.org"><internal xmlns=""><text xmlns=""><xop:Include href="cid:1.urn:uuid:F02ECC18873CFB73E2114127489
09349@apache.org" xmlns:xop="http://www.w3.org/2004/08/xop/include" /></text></internal></swa:echo></soapenv:Body></soapenv:Envelope>
---MIMEBoundaryurn:uuid:F02ECC18873CFB73E211412748909307
-content-type: text/xml
-content-transfer-encoding: binary
-content-id: <1....@apache.org>
-
-TATA
-
---MIMEBoundaryurn:uuid:F02ECC18873CFB73E211412748909307--
+--MIMEBoundaryurn:uuid:F02ECC18873CFB73E211412748909307
+content-type: application/xop+xml; charset=UTF-8; type="text/xml";
+content-transfer-encoding: binary
+content-id: <0....@apache.org>
+
+<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header><ns-prefix:Header1 xmlns:ns-prefix="ns-uri" xmlns:mustUnderstand="1" soapenv:mustUnderstand="1">This is Header1</ns-prefix:Header1><ns-prefix:Header2 xmlns:ns-prefix="ns-uri" xmlns:mustUnderstand="0" soapenv:mustUnderstand="0">This is Header2</ns-prefix:Header2><ns-prefix:Header3 xmlns:ns-prefix="ns-uri" xmlns:mustUnderstand="1" soapenv:mustUnderstand="1">This is Header3</ns-prefix:Header3><ns-prefix:Header4 xmlns:ns-prefix="ns-uri" xmlns:mustUnderstand="0" soapenv:mustUnderstand="0">This is Header4</ns-prefix:Header4></soapenv:Header><soapenv:Body><ns-prefix:Body1 xmlns:ns-prefix="ns-uri"><ns-prefix:Child1>This is Child1</ns-prefix:Child1><ns-prefix:Child2>This is Child2</ns-prefix:Child2></ns-prefix:Body1><swa:echo xmlns:swa="http://fakeNamespace.org"><internal xmlns=""><text xmlns=""><xop:Include href="cid:1.urn:uuid:F02ECC18873CFB73E2114127489
09349@apache.org" xmlns:xop="http://www.w3.org/2004/08/xop/include" /></text></internal></swa:echo></soapenv:Body></soapenv:Envelope>
+--MIMEBoundaryurn:uuid:F02ECC18873CFB73E211412748909307
+content-type: text/xml
+content-transfer-encoding: binary
+content-id: <1....@apache.org>
+
+TATA
+
+--MIMEBoundaryurn:uuid:F02ECC18873CFB73E211412748909307--
Modified: webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/MessageFactoryTest.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/MessageFactoryTest.java?rev=732539&r1=732538&r2=732539&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/MessageFactoryTest.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/MessageFactoryTest.java Wed Jan 7 14:22:31 2009
@@ -21,11 +21,17 @@
import org.custommonkey.xmlunit.XMLTestCase;
+import javax.xml.soap.AttachmentPart;
import javax.xml.soap.MessageFactory;
import javax.xml.soap.MimeHeaders;
import javax.xml.soap.SOAPMessage;
+import javax.xml.soap.SOAPPart;
+
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.util.Iterator;
/**
*
@@ -127,4 +133,60 @@
fail("Exception: " + e);
}
}
+
+ // Unit tests for (unresolved) issue AXIS2-4189
+/*
+ public void testParseMTOMMessage() throws Exception {
+ SAAJTestUtil.execute(new SAAJTestUtil.Test() {
+ public void execute(MessageFactory mf) throws Exception {
+ MimeHeaders headers = new MimeHeaders();
+ headers.addHeader("Content-Type",
+ "multipart/related; " +
+ "boundary=\"MIMEBoundaryurn:uuid:F02ECC18873CFB73E211412748909307\"; " +
+ "type=\"application/xop+xml\"; " +
+ "start=\"<0....@apache.org>\"; " +
+ "start-info=\"text/xml\"; " +
+ "charset=UTF-8;" +
+ "action=\"mtomSample\"");
+ InputStream in = new FileInputStream(System.getProperty("basedir", ".")
+ + "/test-resources/message.bin");
+ SOAPMessage message = mf.createMessage(headers, in);
+ SOAPPart soapPart = message.getSOAPPart();
+ assertEquals("<0....@apache.org>",
+ soapPart.getContentId());
+ Iterator attachments = message.getAttachments();
+ assertTrue(attachments.hasNext());
+ AttachmentPart ap = (AttachmentPart)attachments.next();
+ assertEquals("<1....@apache.org>",
+ ap.getContentId());
+ assertFalse(attachments.hasNext());
+ }
+ });
+ }
+
+ public void testParseSwAMessage() throws Exception {
+ SAAJTestUtil.execute(new SAAJTestUtil.Test() {
+ public void execute(MessageFactory mf) throws Exception {
+ MimeHeaders headers = new MimeHeaders();
+ headers.addHeader("Content-Type",
+ "multipart/related; " +
+ "boundary=MIMEBoundaryurn_uuid_E3F7CE4554928DA89B1231365678616; " +
+ "type=\"text/xml\"; " +
+ "start=\"<0....@apache.org>\"");
+ InputStream in = new FileInputStream(System.getProperty("basedir", ".")
+ + "/test-resources/SwAmessage.bin");
+ SOAPMessage message = mf.createMessage(headers, in);
+ SOAPPart soapPart = message.getSOAPPart();
+ assertEquals("<0....@apache.org>",
+ soapPart.getContentId());
+ Iterator attachments = message.getAttachments();
+ assertTrue(attachments.hasNext());
+ AttachmentPart ap = (AttachmentPart)attachments.next();
+ assertEquals("<urn:uuid:E3F7CE4554928DA89B1231365678347>",
+ ap.getContentId());
+ assertFalse(attachments.hasNext());
+ }
+ });
+ }
+*/
}
Added: webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/SAAJTestUtil.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/SAAJTestUtil.java?rev=732539&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/SAAJTestUtil.java (added)
+++ webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/SAAJTestUtil.java Wed Jan 7 14:22:31 2009
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.axis2.saaj;
+
+import javax.xml.soap.MessageFactory;
+
+import junit.framework.Assert;
+
+/**
+ * Utility to execute SAAJ tests.
+ * It executes test cases twice: once against Sun's SAAJ implementation
+ * and once against Axis2's. This allows us to cross-check the validity
+ * of these tests, i.e. to check whether we are testing the right thing.
+ */
+public class SAAJTestUtil {
+ public interface Test {
+ void execute(MessageFactory mf) throws Exception;
+ }
+
+ private SAAJTestUtil() {}
+
+ public static void execute(Test test) throws Exception {
+ try {
+ test.execute(new com.sun.xml.messaging.saaj.soap.MessageFactoryImpl());
+ } catch (Throwable ex) {
+ ex.printStackTrace();
+ Assert.fail("Invalid test case; execution failed with SAAJ reference implementation: "
+ + ex.getMessage());
+ }
+ test.execute(new org.apache.axis2.saaj.MessageFactoryImpl());
+ }
+}
Propchange: webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/SAAJTestUtil.java
------------------------------------------------------------------------------
svn:eol-style = native