You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by ve...@apache.org on 2010/11/12 22:30:22 UTC
svn commit: r1034575 -
/axis/axis2/java/core/trunk/modules/kernel/test/org/apache/axis2/transport/http/SOAPMessageFormatterTest.java
Author: veithen
Date: Fri Nov 12 21:30:21 2010
New Revision: 1034575
URL: http://svn.apache.org/viewvc?rev=1034575&view=rev
Log:
Added a test case for the MM7 stuff in SOAPMessageFormatter, so that we can safely refactor that code.
Added:
axis/axis2/java/core/trunk/modules/kernel/test/org/apache/axis2/transport/http/SOAPMessageFormatterTest.java (with props)
Added: axis/axis2/java/core/trunk/modules/kernel/test/org/apache/axis2/transport/http/SOAPMessageFormatterTest.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/kernel/test/org/apache/axis2/transport/http/SOAPMessageFormatterTest.java?rev=1034575&view=auto
==============================================================================
--- axis/axis2/java/core/trunk/modules/kernel/test/org/apache/axis2/transport/http/SOAPMessageFormatterTest.java (added)
+++ axis/axis2/java/core/trunk/modules/kernel/test/org/apache/axis2/transport/http/SOAPMessageFormatterTest.java Fri Nov 12 21:30:21 2010
@@ -0,0 +1,69 @@
+/*
+ * 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.transport.http;
+
+import java.io.ByteArrayOutputStream;
+
+import javax.activation.DataHandler;
+import javax.mail.BodyPart;
+import javax.mail.internet.MimeMultipart;
+import javax.mail.util.ByteArrayDataSource;
+
+import junit.framework.TestCase;
+
+import org.apache.axiom.attachments.Attachments;
+import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.OMOutputFormat;
+import org.apache.axiom.soap.SOAPFactory;
+import org.apache.axis2.Constants;
+import org.apache.axis2.context.MessageContext;
+
+public class SOAPMessageFormatterTest extends TestCase {
+ public void testMM7() throws Exception {
+ SOAPMessageFormatter formatter = new SOAPMessageFormatter();
+ MessageContext mc = new MessageContext();
+ SOAPFactory factory = OMAbstractFactory.getSOAP11Factory();
+ mc.setEnvelope(factory.getDefaultEnvelope());
+ mc.setDoingSwA(true);
+ Attachments attachments = mc.getAttachmentMap();
+ attachments.addDataHandler("cid1@test.org", new DataHandler("test1", "text/plain"));
+ attachments.addDataHandler("cid2@test.org", new DataHandler("test2", "text/plain"));
+ mc.setProperty(Constants.Configuration.MM7_COMPATIBLE, true);
+ OMOutputFormat format = new OMOutputFormat();
+ format.setDoingSWA(true);
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ formatter.writeTo(mc, format, baos, true);
+
+ MimeMultipart mp = new MimeMultipart(new ByteArrayDataSource(baos.toByteArray(), format.getContentType()));
+ assertEquals(2, mp.getCount());
+ BodyPart bp = mp.getBodyPart(0);
+ assertEquals("<" + format.getRootContentId() + ">", bp.getHeader("Content-ID")[0]);
+ bp = mp.getBodyPart(1);
+ Object content = bp.getContent();
+ assertTrue(content instanceof MimeMultipart);
+ MimeMultipart inner = (MimeMultipart)content;
+ assertEquals(2, inner.getCount());
+ bp = inner.getBodyPart(0);
+ assertEquals("<ci...@test.org>", bp.getHeader("Content-ID")[0]);
+ assertEquals("test1", bp.getContent());
+ bp = inner.getBodyPart(1);
+ assertEquals("<ci...@test.org>", bp.getHeader("Content-ID")[0]);
+ assertEquals("test2", bp.getContent());
+ }
+}
Propchange: axis/axis2/java/core/trunk/modules/kernel/test/org/apache/axis2/transport/http/SOAPMessageFormatterTest.java
------------------------------------------------------------------------------
svn:eol-style = native