You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by ve...@apache.org on 2014/05/29 20:56:50 UTC
svn commit: r1598368 - in /webservices/axiom/trunk/modules:
axiom-api/src/main/java/org/apache/axiom/soap/
axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/
axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/
axiom-testsuite/s...
Author: veithen
Date: Thu May 29 18:56:49 2014
New Revision: 1598368
URL: http://svn.apache.org/r1598368
Log:
Increase test coverage of the SOAPHeaderBlock implementations.
Added:
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetMustUnderstandInvalid.java
- copied, changed from r1598171, webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/headerblock/TestSetRelay.java
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/headerblock/TestGetRelay.java
- copied, changed from r1598171, webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/headerblock/TestSetRelay.java
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/headerblock/TestSetRelay.java
- copied, changed from r1598171, webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/headerblock/TestSetRelay.java
Modified:
webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/soap/SOAPHeaderBlock.java
webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11HeaderBlockImpl.java
webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11HeaderBlockImpl.java
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPTestSuiteBuilder.java
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/headerblock/TestSetRelay.java
Modified: webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/soap/SOAPHeaderBlock.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/soap/SOAPHeaderBlock.java?rev=1598368&r1=1598367&r2=1598368&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/soap/SOAPHeaderBlock.java (original)
+++ webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/soap/SOAPHeaderBlock.java Thu May 29 18:56:49 2014
@@ -75,15 +75,16 @@ public interface SOAPHeaderBlock extends
void setMustUnderstand(String mustUnderstand) throws SOAPProcessingException;
/**
- * Returns whether the mustUnderstand attribute for this <CODE>SOAPHeaderBlock</CODE> object is
- * turned on.
- *
- * @return <CODE>true</CODE> if the mustUnderstand attribute of this
- * <CODE>SOAPHeaderBlock</CODE> object is turned on; <CODE>false</CODE> otherwise
+ * Returns the boolean value of the <tt>mustUnderstand</tt> attribute for this header block.
+ *
+ * @return <code>true</code> if a <tt>mustUnderstand</tt> attribute is present and its value is
+ * equivalent to true, <code>false</code> if the <tt>mustUnderstand</tt> is not present
+ * or its value is equivalent to false
+ * @throws SOAPProcessingException
+ * if the <tt>mustUnderstand</tt> attribute is present, but has an invalid value
*/
boolean getMustUnderstand() throws SOAPProcessingException;
-
boolean isProcessed();
/**
Modified: webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11HeaderBlockImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11HeaderBlockImpl.java?rev=1598368&r1=1598367&r2=1598368&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11HeaderBlockImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11HeaderBlockImpl.java Thu May 29 18:56:49 2014
@@ -89,13 +89,6 @@ public class SOAP11HeaderBlockImpl exten
}
}
- /**
- * Returns whether the mustUnderstand attribute for this <CODE>SOAPHeaderBlock</CODE> object is
- * turned on.
- *
- * @return <CODE>true</CODE> if the mustUnderstand attribute of this
- * <CODE>SOAPHeaderBlock</CODE> object is turned on; <CODE>false</CODE> otherwise
- */
public boolean getMustUnderstand() throws SOAPProcessingException {
String mustUnderstand;
if ((mustUnderstand =
Modified: webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11HeaderBlockImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11HeaderBlockImpl.java?rev=1598368&r1=1598367&r2=1598368&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11HeaderBlockImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11HeaderBlockImpl.java Thu May 29 18:56:49 2014
@@ -96,13 +96,6 @@ public class SOAP11HeaderBlockImpl exten
}
}
- /**
- * Returns whether the mustUnderstand attribute for this <CODE>SOAPHeaderBlock</CODE> object is
- * turned on.
- *
- * @return <CODE>true</CODE> if the mustUnderstand attribute of this
- * <CODE>SOAPHeaderBlock</CODE> object is turned on; <CODE>false</CODE> otherwise
- */
public boolean getMustUnderstand() throws SOAPProcessingException {
// First, try getting the information from the property
// Fallback to getting the information from the attribute
Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPTestSuiteBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPTestSuiteBuilder.java?rev=1598368&r1=1598367&r2=1598368&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPTestSuiteBuilder.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPTestSuiteBuilder.java Thu May 29 18:56:49 2014
@@ -215,6 +215,7 @@ public class SOAPTestSuiteBuilder extend
addTest(new org.apache.axiom.ts.soap.headerblock.TestByteArrayDS(metaFactory, spec));
}
addTest(new org.apache.axiom.ts.soap.headerblock.TestGetMustUnderstand(metaFactory, spec));
+ addTest(new org.apache.axiom.ts.soap.headerblock.TestGetMustUnderstandInvalid(metaFactory, spec));
addTest(new org.apache.axiom.ts.soap.headerblock.TestGetRole(metaFactory, spec));
addTest(new org.apache.axiom.ts.soap.headerblock.TestGetVersion(metaFactory, spec));
addTest(new org.apache.axiom.ts.soap.headerblock.TestSetMustUnderstandBoolean(metaFactory, spec, true, spec == SOAPSpec.SOAP11 ? "1" : "true"));
@@ -279,8 +280,10 @@ public class SOAPTestSuiteBuilder extend
addTest(new org.apache.axiom.ts.soap11.header.TestGetHeaderBlocksWithNSURIWithParser(metaFactory));
addTest(new org.apache.axiom.ts.soap11.header.TestGetHeadersToProcessWithParser(metaFactory));
addTest(new org.apache.axiom.ts.soap11.headerblock.TestGetMustUnderstandWithParser(metaFactory));
+ addTest(new org.apache.axiom.ts.soap11.headerblock.TestGetRelay(metaFactory));
addTest(new org.apache.axiom.ts.soap11.headerblock.TestGetRoleWithParser(metaFactory));
addTest(new org.apache.axiom.ts.soap11.headerblock.TestSetMustUnderstandStringTrueFalse(metaFactory));
+ addTest(new org.apache.axiom.ts.soap11.headerblock.TestSetRelay(metaFactory));
if (supportsOMSourcedElement) {
addTest(new org.apache.axiom.ts.soap11.misc.TestElementPullStreamAndOMExpansion(metaFactory));
addTest(new org.apache.axiom.ts.soap11.misc.TestElementPullStreamAndOMExpansion2(metaFactory));
@@ -320,7 +323,8 @@ public class SOAPTestSuiteBuilder extend
addTest(new org.apache.axiom.ts.soap12.headerblock.TestGetRelayWithParser(metaFactory));
addTest(new org.apache.axiom.ts.soap12.headerblock.TestGetRoleWithParser(metaFactory));
addTest(new org.apache.axiom.ts.soap12.headerblock.TestSetMustUnderstandStringTrueFalse(metaFactory));
- addTest(new org.apache.axiom.ts.soap12.headerblock.TestSetRelay(metaFactory));
+ addTest(new org.apache.axiom.ts.soap12.headerblock.TestSetRelay(metaFactory, true));
+ addTest(new org.apache.axiom.ts.soap12.headerblock.TestSetRelay(metaFactory, false));
addTest(new org.apache.axiom.ts.soap12.mtom.TestGetXMLStreamReaderMTOMEncoded(metaFactory, true));
addTest(new org.apache.axiom.ts.soap12.mtom.TestGetXMLStreamReaderMTOMEncoded(metaFactory, false));
}
Copied: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetMustUnderstandInvalid.java (from r1598171, webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/headerblock/TestSetRelay.java)
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetMustUnderstandInvalid.java?p2=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetMustUnderstandInvalid.java&p1=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/headerblock/TestSetRelay.java&r1=1598171&r2=1598368&rev=1598368&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/headerblock/TestSetRelay.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetMustUnderstandInvalid.java Thu May 29 18:56:49 2014
@@ -16,32 +16,36 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.axiom.ts.soap12.headerblock;
+package org.apache.axiom.ts.soap.headerblock;
+
+import javax.xml.namespace.QName;
import org.apache.axiom.om.OMMetaFactory;
-import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.soap.SOAPEnvelope;
+import org.apache.axiom.soap.SOAPConstants;
import org.apache.axiom.soap.SOAPHeader;
import org.apache.axiom.soap.SOAPHeaderBlock;
+import org.apache.axiom.soap.SOAPProcessingException;
import org.apache.axiom.ts.soap.SOAPSpec;
import org.apache.axiom.ts.soap.SOAPTestCase;
-public class TestSetRelay extends SOAPTestCase {
- public TestSetRelay(OMMetaFactory metaFactory) {
- super(metaFactory, SOAPSpec.SOAP12);
+/**
+ * Tests that {@link SOAPHeaderBlock#getMustUnderstand()} throws {@link SOAPProcessingException} if
+ * a <tt>mustUnderstand</tt> attribute is present but has an invalid value.
+ */
+public class TestGetMustUnderstandInvalid extends SOAPTestCase {
+ public TestGetMustUnderstandInvalid(OMMetaFactory metaFactory, SOAPSpec spec) {
+ super(metaFactory, spec);
}
protected void runTest() throws Throwable {
- SOAPEnvelope env = soapFactory.createSOAPEnvelope();
- SOAPHeader header = soapFactory.createSOAPHeader(env);
- soapFactory.createSOAPBody(env);
- OMNamespace ns = soapFactory.createOMNamespace("http://ns1", "ns1");
- SOAPHeaderBlock relayHeader = header.addHeaderBlock("foo", ns);
- relayHeader.setText("hey there");
- relayHeader.setRelay(true);
-
- String envString = env.toString();
- assertTrue("No relay header after setRelay(true)",
- envString.indexOf("relay=\"true\"") >= 0);
+ SOAPHeader header = soapFactory.getDefaultEnvelope().getOrCreateHeader();
+ SOAPHeaderBlock headerBlock = header.addHeaderBlock(new QName("urn:test", "test", "p"));
+ headerBlock.addAttribute(SOAPConstants.ATTR_MUSTUNDERSTAND, "invalid", header.getNamespace());
+ try {
+ headerBlock.getMustUnderstand();
+ fail("Expected SOAPProcessingException");
+ } catch (SOAPProcessingException ex) {
+ // Expected
+ }
}
}
Copied: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/headerblock/TestGetRelay.java (from r1598171, webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/headerblock/TestSetRelay.java)
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/headerblock/TestGetRelay.java?p2=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/headerblock/TestGetRelay.java&p1=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/headerblock/TestSetRelay.java&r1=1598171&r2=1598368&rev=1598368&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/headerblock/TestSetRelay.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/headerblock/TestGetRelay.java Thu May 29 18:56:49 2014
@@ -16,32 +16,33 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.axiom.ts.soap12.headerblock;
+package org.apache.axiom.ts.soap11.headerblock;
+
+import javax.xml.namespace.QName;
import org.apache.axiom.om.OMMetaFactory;
-import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.soap.SOAPEnvelope;
import org.apache.axiom.soap.SOAPHeader;
import org.apache.axiom.soap.SOAPHeaderBlock;
import org.apache.axiom.ts.soap.SOAPSpec;
import org.apache.axiom.ts.soap.SOAPTestCase;
-public class TestSetRelay extends SOAPTestCase {
- public TestSetRelay(OMMetaFactory metaFactory) {
- super(metaFactory, SOAPSpec.SOAP12);
+/**
+ * Tests that {@link SOAPHeaderBlock#getRelay()} throws {@link UnsupportedOperationException} for
+ * SOAP 1.1 messages.
+ */
+public class TestGetRelay extends SOAPTestCase {
+ public TestGetRelay(OMMetaFactory metaFactory) {
+ super(metaFactory, SOAPSpec.SOAP11);
}
protected void runTest() throws Throwable {
- SOAPEnvelope env = soapFactory.createSOAPEnvelope();
- SOAPHeader header = soapFactory.createSOAPHeader(env);
- soapFactory.createSOAPBody(env);
- OMNamespace ns = soapFactory.createOMNamespace("http://ns1", "ns1");
- SOAPHeaderBlock relayHeader = header.addHeaderBlock("foo", ns);
- relayHeader.setText("hey there");
- relayHeader.setRelay(true);
-
- String envString = env.toString();
- assertTrue("No relay header after setRelay(true)",
- envString.indexOf("relay=\"true\"") >= 0);
+ SOAPHeader header = soapFactory.getDefaultEnvelope().getOrCreateHeader();
+ SOAPHeaderBlock headerBlock = header.addHeaderBlock(new QName("urn:test", "test", "p"));
+ try {
+ headerBlock.getRelay();
+ fail("Expected UnsupportedOperationException");
+ } catch (UnsupportedOperationException ex) {
+ // Expected
+ }
}
}
Copied: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/headerblock/TestSetRelay.java (from r1598171, webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/headerblock/TestSetRelay.java)
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/headerblock/TestSetRelay.java?p2=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/headerblock/TestSetRelay.java&p1=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/headerblock/TestSetRelay.java&r1=1598171&r2=1598368&rev=1598368&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/headerblock/TestSetRelay.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/headerblock/TestSetRelay.java Thu May 29 18:56:49 2014
@@ -16,32 +16,33 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.axiom.ts.soap12.headerblock;
+package org.apache.axiom.ts.soap11.headerblock;
+
+import javax.xml.namespace.QName;
import org.apache.axiom.om.OMMetaFactory;
-import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.soap.SOAPEnvelope;
import org.apache.axiom.soap.SOAPHeader;
import org.apache.axiom.soap.SOAPHeaderBlock;
import org.apache.axiom.ts.soap.SOAPSpec;
import org.apache.axiom.ts.soap.SOAPTestCase;
+/**
+ * Tests that {@link SOAPHeaderBlock#setRelay()} throws {@link UnsupportedOperationException} for
+ * SOAP 1.1 messages.
+ */
public class TestSetRelay extends SOAPTestCase {
public TestSetRelay(OMMetaFactory metaFactory) {
- super(metaFactory, SOAPSpec.SOAP12);
+ super(metaFactory, SOAPSpec.SOAP11);
}
protected void runTest() throws Throwable {
- SOAPEnvelope env = soapFactory.createSOAPEnvelope();
- SOAPHeader header = soapFactory.createSOAPHeader(env);
- soapFactory.createSOAPBody(env);
- OMNamespace ns = soapFactory.createOMNamespace("http://ns1", "ns1");
- SOAPHeaderBlock relayHeader = header.addHeaderBlock("foo", ns);
- relayHeader.setText("hey there");
- relayHeader.setRelay(true);
-
- String envString = env.toString();
- assertTrue("No relay header after setRelay(true)",
- envString.indexOf("relay=\"true\"") >= 0);
+ SOAPHeader header = soapFactory.getDefaultEnvelope().getOrCreateHeader();
+ SOAPHeaderBlock headerBlock = header.addHeaderBlock(new QName("urn:test", "test", "p"));
+ try {
+ headerBlock.setRelay(true);
+ fail("Expected UnsupportedOperationException");
+ } catch (UnsupportedOperationException ex) {
+ // Expected
+ }
}
}
Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/headerblock/TestSetRelay.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/headerblock/TestSetRelay.java?rev=1598368&r1=1598367&r2=1598368&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/headerblock/TestSetRelay.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/headerblock/TestSetRelay.java Thu May 29 18:56:49 2014
@@ -27,8 +27,12 @@ import org.apache.axiom.ts.soap.SOAPSpec
import org.apache.axiom.ts.soap.SOAPTestCase;
public class TestSetRelay extends SOAPTestCase {
- public TestSetRelay(OMMetaFactory metaFactory) {
+ private final boolean value;
+
+ public TestSetRelay(OMMetaFactory metaFactory, boolean value) {
super(metaFactory, SOAPSpec.SOAP12);
+ this.value = value;
+ addTestParameter("value", value);
}
protected void runTest() throws Throwable {
@@ -38,10 +42,10 @@ public class TestSetRelay extends SOAPTe
OMNamespace ns = soapFactory.createOMNamespace("http://ns1", "ns1");
SOAPHeaderBlock relayHeader = header.addHeaderBlock("foo", ns);
relayHeader.setText("hey there");
- relayHeader.setRelay(true);
+ relayHeader.setRelay(value);
String envString = env.toString();
assertTrue("No relay header after setRelay(true)",
- envString.indexOf("relay=\"true\"") >= 0);
+ envString.indexOf("relay=\"" + value + "\"") >= 0);
}
}