You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by an...@apache.org on 2006/11/17 14:43:08 UTC
svn commit: r476139 - in
/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm:
MessageFlow.java SequenceTest.java
Author: andreasmyth
Date: Fri Nov 17 05:43:07 2006
New Revision: 476139
URL: http://svn.apache.org/viewvc?view=rev&rev=476139
Log:
Account for unpredictable order in which partial and full responses are processed at client side in SequenceTest.
Modified:
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/MessageFlow.java
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/SequenceTest.java
Modified: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/MessageFlow.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/MessageFlow.java?view=diff&rev=476139&r1=476138&r2=476139
==============================================================================
--- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/MessageFlow.java (original)
+++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/MessageFlow.java Fri Nov 17 05:43:07 2006
@@ -99,6 +99,25 @@
}
}
}
+
+ public void verifyActionsIgnoringPartialResponses(String[] expectedActions) throws Exception {
+ int j = 0;
+ for (int i = 0; i < inboundMessages.size() && j < expectedActions.length; i++) {
+ String action = getAction(inboundMessages.get(i));
+ if (null == action && emptyBody(inboundMessages.get(i))) {
+ continue;
+ }
+ if (null == expectedActions[j]) {
+ assertNull("Inbound message " + i + " has unexpected action: " + action, action);
+ } else {
+ assertEquals("Inbound message " + i + " has unexpected action: ", expectedActions[j], action);
+ }
+ j++;
+ }
+ if (j < expectedActions.length) {
+ fail("Inbound messages do not contain all expected actions.");
+ }
+ }
public boolean checkActions(String[] expectedActions, boolean outbound) throws Exception {
@@ -392,9 +411,21 @@
}
public void verifyPartialResponses(int nExpected) throws Exception {
+ verifyPartialResponses(nExpected, null);
+ }
+
+ public void verifyPartialResponses(int nExpected, boolean[] piggybackedAcks) throws Exception {
int npr = 0;
for (int i = 0; i < inboundMessages.size(); i++) {
if (isPartialResponse(inboundMessages.get(i))) {
+ if (piggybackedAcks != null) {
+ Element ack = getAcknowledgment(inboundMessages.get(i));
+ if (piggybackedAcks[npr]) {
+ assertNotNull("Partial response " + npr + " does not include acknowledgement.", ack);
+ } else {
+ assertNull("Partial response " + npr + " has unexpected acknowledgement.", ack);
+ }
+ }
npr++;
}
}
@@ -403,7 +434,7 @@
}
public boolean isPartialResponse(Document d) throws Exception {
- return false;
+ return null == getAction(d) && emptyBody(d);
}
public boolean emptyBody(Document d) throws Exception {
Modified: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/SequenceTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/SequenceTest.java?view=diff&rev=476139&r1=476138&r2=476139
==============================================================================
--- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/SequenceTest.java (original)
+++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/SequenceTest.java Fri Nov 17 05:43:07 2006
@@ -203,7 +203,8 @@
mf.verifyMessages(4, false);
expectedActions = new String[] {null, RMConstants.getCreateSequenceResponseAction(),
null, null};
- mf.verifyActions(expectedActions, false);
+ expectedActions = new String[] {RMConstants.getCreateSequenceResponseAction()};
+ mf.verifyActionsIgnoringPartialResponses(expectedActions);
mf.verifyMessageNumbers(new String[4], false);
mf.verifyAcknowledgements(new boolean[4], false);
@@ -221,6 +222,7 @@
mf.verifyMessages(0, true);
mf.verifyMessages(1, false);
+ mf.verifyAcknowledgements(new boolean[] {true}, false);
}
@@ -296,16 +298,21 @@
// createSequenceResponse plus 3 greetMeResponse messages plus
// one partial response for each of the four messages
+ // the first partial response should no include an acknowledgement, the other three should
mf.verifyMessages(8, false);
- expectedActions = new String[] {null, RMConstants.getCreateSequenceResponseAction(),
- null, GREETME_RESPONSE_ACTION,
- null, GREETME_RESPONSE_ACTION,
- null, GREETME_RESPONSE_ACTION};
+ mf.verifyPartialResponses(4, new boolean[4]);
+
+ mf.purgePartialResponses();
+
+ expectedActions = new String[] {RMConstants.getCreateSequenceResponseAction(),
+ GREETME_RESPONSE_ACTION,
+ GREETME_RESPONSE_ACTION,
+ GREETME_RESPONSE_ACTION};
mf.verifyActions(expectedActions, false);
- mf.verifyMessageNumbers(new String[] {null, null, null, "1", null, "2", null, "3"}, false);
- mf.verifyLastMessage(new boolean[8], false);
- mf.verifyAcknowledgements(new boolean[] {false, false, false, true, false, true, false, true}, false);
+ mf.verifyMessageNumbers(new String[] {null, "1", "2", "3"}, false);
+ mf.verifyLastMessage(new boolean[4], false);
+ mf.verifyAcknowledgements(new boolean[] {false, true, true, true}, false);
}