allow controlling response state and settlement, for use in transaction declare+commit etc
Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/9d40af8f Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/9d40af8f Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/9d40af8f Branch: refs/heads/master Commit: 9d40af8f1d94a7c2b9488def35938043ca03b44b Parents: 63f843f Author: Robert Gemmell <[email protected]> Authored: Mon Nov 17 09:43:05 2014 +0000 Committer: Robert Gemmell <[email protected]> Committed: Mon Nov 17 09:43:05 2014 +0000 ---------------------------------------------------------------------- .../qpid/jms/test/testpeer/TestAmqpPeer.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/9d40af8f/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeer.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeer.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeer.java index 8f0eb8c..fb9e1b4 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeer.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeer.java @@ -71,6 +71,7 @@ import org.apache.qpid.proton.amqp.Symbol; import org.apache.qpid.proton.amqp.UnsignedByte; import org.apache.qpid.proton.amqp.UnsignedInteger; import org.apache.qpid.proton.amqp.UnsignedShort; +import org.apache.qpid.proton.amqp.transport.DeliveryState; import org.apache.qpid.proton.codec.Data; import org.apache.qpid.proton.engine.impl.AmqpHeader; import org.hamcrest.Matcher; @@ -758,23 +759,29 @@ public class TestAmqpPeer implements AutoCloseable public void expectTransfer(Matcher<Binary> expectedPayloadMatcher) { + expectTransfer(expectedPayloadMatcher, new Accepted(), true); + } + + //TODO: fix responseState to only admit applicable types. + public void expectTransfer(Matcher<Binary> expectedPayloadMatcher, ListDescribedType responseState, boolean responseSettled) + { final TransferMatcher transferMatcher = new TransferMatcher(); transferMatcher.setPayloadMatcher(expectedPayloadMatcher); - final DispositionFrame dispositionFrame = new DispositionFrame() + final DispositionFrame dispositionResponse = new DispositionFrame() .setRole(Role.RECEIVER) - .setSettled(true) - .setState(new Accepted()); + .setSettled(responseSettled) + .setState(responseState); // The response frame channel will be dynamically set based on the incoming frame. Using the -1 is an illegal placeholder. - final FrameSender dispositionFrameSender = new FrameSender(this, FrameType.AMQP, -1, dispositionFrame, null); + final FrameSender dispositionFrameSender = new FrameSender(this, FrameType.AMQP, -1, dispositionResponse, null); dispositionFrameSender.setValueProvider(new ValueProvider() { @Override public void setValues() { dispositionFrameSender.setChannel(transferMatcher.getActualChannel()); - dispositionFrame.setFirst(transferMatcher.getReceivedDeliveryId()); + dispositionResponse.setFirst(transferMatcher.getReceivedDeliveryId()); } }); transferMatcher.onSuccess(dispositionFrameSender); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
