You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ay...@apache.org on 2015/08/07 15:49:30 UTC
[2/3] cxf git commit: [CXF-6519] add a systest case using RM11
CloseSequence
[CXF-6519] add a systest case using RM11 CloseSequence
Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/c7e8637f
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/c7e8637f
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/c7e8637f
Branch: refs/heads/2.7.x-fixes
Commit: c7e8637f2a9bf8d187f51b7dda4af26b157f3f3f
Parents: 5c9d8f9
Author: Akitoshi Yoshida <ay...@apache.org>
Authored: Thu Aug 6 22:31:35 2015 +0200
Committer: Akitoshi Yoshida <ay...@apache.org>
Committed: Fri Aug 7 12:04:15 2015 +0200
----------------------------------------------------------------------
.../org/apache/cxf/ws/rm/SourceSequence.java | 3 ++
.../systest/ws/rm/ProtocolVariationsTest.java | 53 +++++++++++---------
2 files changed, 32 insertions(+), 24 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cxf/blob/c7e8637f/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/SourceSequence.java
----------------------------------------------------------------------
diff --git a/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/SourceSequence.java b/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/SourceSequence.java
index b6431e3..668f3e6 100644
--- a/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/SourceSequence.java
+++ b/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/SourceSequence.java
@@ -153,6 +153,9 @@ public class SourceSequence extends AbstractSequence {
RMEndpoint rme = source.getReliableEndpoint();
Proxy proxy = rme.getProxy();
// REVIST for rm 1.1, provide an option to how the close and terminate messages are sent
+ if (ProtocolVariation.RM11WSA200508 == getProtocol()) {
+ proxy.lastMessage(this);
+ }
proxy.terminate(this);
source.removeSequence(this);
}
http://git-wip-us.apache.org/repos/asf/cxf/blob/c7e8637f/systests/ws-rm/src/test/java/org/apache/cxf/systest/ws/rm/ProtocolVariationsTest.java
----------------------------------------------------------------------
diff --git a/systests/ws-rm/src/test/java/org/apache/cxf/systest/ws/rm/ProtocolVariationsTest.java b/systests/ws-rm/src/test/java/org/apache/cxf/systest/ws/rm/ProtocolVariationsTest.java
index 034ff1a..b18c6ed 100644
--- a/systests/ws-rm/src/test/java/org/apache/cxf/systest/ws/rm/ProtocolVariationsTest.java
+++ b/systests/ws-rm/src/test/java/org/apache/cxf/systest/ws/rm/ProtocolVariationsTest.java
@@ -414,40 +414,45 @@ public class ProtocolVariationsTest extends AbstractBusClientServerTestBase {
private void verifyTerminateSequence(String wsaUri, RMConstants consts) throws Exception {
- if (RM11Constants.NAMESPACE_URI.equals(consts.getWSRMNamespace())) {
- awaitMessages(3, 3);
- } else {
- awaitMessages(3, 2);
- }
-
MessageFlow mf = new MessageFlow(outRecorder.getOutboundMessages(),
- inRecorder.getInboundMessages(), wsaUri, consts.getWSRMNamespace());
-
- mf.verifyMessages(3, true);
- String[] expectedActions = new String[] {consts.getCreateSequenceAction(),
- GREETME_ONEWAY_ACTION,
- consts.getTerminateSequenceAction()};
- mf.verifyActions(expectedActions, true);
- mf.verifyMessageNumbers(new String[] {null, "1", null}, true);
+ inRecorder.getInboundMessages(), wsaUri, consts.getWSRMNamespace());
if (RM11Constants.NAMESPACE_URI.equals(consts.getWSRMNamespace())) {
+ awaitMessages(4, 4);
+
+ mf.verifyMessages(4, true);
+ String[] expectedActions = new String[] {consts.getCreateSequenceAction(),
+ GREETME_ONEWAY_ACTION,
+ consts.getCloseSequenceAction(),
+ consts.getTerminateSequenceAction()};
+ mf.verifyActions(expectedActions, true);
+ mf.verifyMessageNumbers(new String[] {null, "1", null, null}, true);
+
// no LastMessage
- mf.verifyLastMessage(new boolean[] {false, false, false}, true);
- } else {
- // uses LastMessage
- mf.verifyLastMessage(new boolean[] {false, true, false}, true);
- }
+ mf.verifyLastMessage(new boolean[] {false, false, false, false}, true);
- if (RM11Constants.NAMESPACE_URI.equals(consts.getWSRMNamespace())) {
- // CSR, ACK, TSR
- mf.verifyMessages(3, false);
+ // CrSR, ACK, ClSR, TSR
+ mf.verifyMessages(4, false);
expectedActions = new String[] {consts.getCreateSequenceResponseAction(),
consts.getSequenceAckAction(),
+ RM11Constants.INSTANCE.getCloseSequenceResponseAction(),
RM11Constants.INSTANCE.getTerminateSequenceResponseAction()};
mf.verifyActions(expectedActions, false);
- mf.verifyAcknowledgements(new boolean[] {false, true, false}, false);
+ mf.verifyAcknowledgements(new boolean[] {false, true, false, false}, false);
} else {
- // CSR, ACK, PR
+ awaitMessages(3, 2);
+
+ mf.verifyMessages(3, true);
+ String[] expectedActions = new String[] {consts.getCreateSequenceAction(),
+ GREETME_ONEWAY_ACTION,
+ consts.getTerminateSequenceAction()};
+ mf.verifyActions(expectedActions, true);
+ mf.verifyMessageNumbers(new String[] {null, "1", null}, true);
+
+ // uses LastMessage
+ mf.verifyLastMessage(new boolean[] {false, true, false}, true);
+
+ // CrSR, ACK, PR
mf.verifyMessages(2, false);
expectedActions = new String[] {consts.getCreateSequenceResponseAction(),
consts.getSequenceAckAction()};