[jboss-cvs] JBoss Messaging SVN: r4188 - in trunk: src/main/org/jboss/messaging/core/remoting/impl/wireformat and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed May 14 07:49:48 EDT 2008
Author: jmesnil
Date: 2008-05-14 07:49:48 -0400 (Wed, 14 May 2008)
New Revision: 4188
Added:
trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/XidCodecSupport.java
Modified:
trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MessagingCodec.java
trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/EmptyPacket.java
trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXACommitMessage.java
trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXAEndMessage.java
trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXAForgetMessage.java
trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXAGetInDoubtXidsResponseMessage.java
trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXAJoinMessage.java
trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXAPrepareMessage.java
trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXAResumeMessage.java
trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXARollbackMessage.java
trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXAStartMessage.java
trunk/tests/src/org/jboss/messaging/tests/unit/core/remoting/impl/wireformat/PacketTypeTest.java
Log:
uncommented tests in PacketTypeTest
moved Xid encode/decode methods from EmptyPacket to XidCodecSupport helper class
Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MessagingCodec.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MessagingCodec.java 2008-05-14 09:49:01 UTC (rev 4187)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MessagingCodec.java 2008-05-14 11:49:48 UTC (rev 4188)
@@ -124,7 +124,7 @@
// CumulativeProtocolDecoder overrides
// -------------------------------------------------------------------------------------
- protected boolean doDecode(final IoSession session, final IoBuffer in, final ProtocolDecoderOutput out) throws Exception
+ public boolean doDecode(final IoSession session, final IoBuffer in, final ProtocolDecoderOutput out) throws Exception
{
int start = in.position();
Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/EmptyPacket.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/EmptyPacket.java 2008-05-14 09:49:01 UTC (rev 4187)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/EmptyPacket.java 2008-05-14 11:49:48 UTC (rev 4188)
@@ -6,11 +6,9 @@
*/
package org.jboss.messaging.core.remoting.impl.wireformat;
-import javax.transaction.xa.Xid;
import org.jboss.messaging.core.logging.Logger;
import org.jboss.messaging.core.remoting.Packet;
-import org.jboss.messaging.core.transaction.impl.XidImpl;
import org.jboss.messaging.util.DataConstants;
import org.jboss.messaging.util.MessagingBuffer;
@@ -110,8 +108,6 @@
// Static --------------------------------------------------------
- // Constructors --------------------------------------------------
-
public EmptyPacket(final byte type)
{
this.type = type;
@@ -197,6 +193,12 @@
{
}
+ @Override
+ public String toString()
+ {
+ return getParentString() + "]";
+ }
+
// Package protected ---------------------------------------------
protected String getParentString()
@@ -205,26 +207,6 @@
+ ", responseTargetID=" + responseTargetID + ", targetID=" + targetID
+ ", executorID=" + executorID;
}
-
- protected void encodeXid(final Xid xid, final MessagingBuffer out)
- {
- out.putInt(xid.getFormatId());
- out.putInt(xid.getBranchQualifier().length);
- out.putBytes(xid.getBranchQualifier());
- out.putInt(xid.getGlobalTransactionId().length);
- out.putBytes(xid.getGlobalTransactionId());
- }
-
- protected Xid decodeXid(final MessagingBuffer in)
- {
- int formatID = in.getInt();
- byte[] bq = new byte[in.getInt()];
- in.getBytes(bq);
- byte[] gtxid = new byte[in.getInt()];
- in.getBytes(gtxid);
- Xid xid = new XidImpl(bq, formatID, gtxid);
- return xid;
- }
// Protected -----------------------------------------------------
Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXACommitMessage.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXACommitMessage.java 2008-05-14 09:49:01 UTC (rev 4187)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXACommitMessage.java 2008-05-14 11:49:48 UTC (rev 4188)
@@ -57,20 +57,20 @@
public void encodeBody(final MessagingBuffer buffer)
{
+ XidCodecSupport.encodeXid(xid, buffer);
buffer.putBoolean(onePhase);
- encodeXid(xid, buffer);
}
public void decodeBody(final MessagingBuffer buffer)
{
+ xid = XidCodecSupport.decodeXid(buffer);
onePhase = buffer.getBoolean();
- xid = decodeXid(buffer);
}
@Override
public String toString()
{
- return getParentString() + ", xid=" + xid + ", onePhae=" + onePhase + "]";
+ return getParentString() + ", xid=" + xid + ", onePhase=" + onePhase + "]";
}
// Package protected ---------------------------------------------
Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXAEndMessage.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXAEndMessage.java 2008-05-14 09:49:01 UTC (rev 4187)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXAEndMessage.java 2008-05-14 11:49:48 UTC (rev 4188)
@@ -58,16 +58,22 @@
public void encodeBody(final MessagingBuffer buffer)
{
+ XidCodecSupport.encodeXid(xid, buffer);
buffer.putBoolean(failed);
- encodeXid(xid, buffer);
}
public void decodeBody(final MessagingBuffer buffer)
{
+ xid = XidCodecSupport.decodeXid(buffer);
failed = buffer.getBoolean();
- xid = decodeXid(buffer);
}
+ @Override
+ public String toString()
+ {
+ return getParentString() + ", xid=" + xid + ", failed=" + failed + "]";
+ }
+
// Package protected ---------------------------------------------
// Protected -----------------------------------------------------
Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXAForgetMessage.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXAForgetMessage.java 2008-05-14 09:49:01 UTC (rev 4187)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXAForgetMessage.java 2008-05-14 11:49:48 UTC (rev 4188)
@@ -49,12 +49,12 @@
public void encodeBody(final MessagingBuffer buffer)
{
- encodeXid(xid, buffer);
+ XidCodecSupport.encodeXid(xid, buffer);
}
public void decodeBody(final MessagingBuffer buffer)
{
- xid = decodeXid(buffer);
+ xid = XidCodecSupport.decodeXid(buffer);
}
// Package protected ---------------------------------------------
Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXAGetInDoubtXidsResponseMessage.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXAGetInDoubtXidsResponseMessage.java 2008-05-14 09:49:01 UTC (rev 4187)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXAGetInDoubtXidsResponseMessage.java 2008-05-14 11:49:48 UTC (rev 4188)
@@ -56,7 +56,7 @@
for (Xid xid: xids)
{
- encodeXid(xid, buffer);
+ XidCodecSupport.encodeXid(xid, buffer);
}
}
@@ -66,7 +66,7 @@
xids = new ArrayList<Xid>(len);
for (int i = 0; i < len; i++)
{
- Xid xid = decodeXid(buffer);
+ Xid xid = XidCodecSupport.decodeXid(buffer);
xids.add(xid);
}
Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXAJoinMessage.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXAJoinMessage.java 2008-05-14 09:49:01 UTC (rev 4187)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXAJoinMessage.java 2008-05-14 11:49:48 UTC (rev 4188)
@@ -49,12 +49,12 @@
public void encodeBody(final MessagingBuffer buffer)
{
- encodeXid(xid, buffer);
+ XidCodecSupport.encodeXid(xid, buffer);
}
public void decodeBody(final MessagingBuffer buffer)
{
- xid = decodeXid(buffer);
+ xid = XidCodecSupport.decodeXid(buffer);
}
// Package protected ---------------------------------------------
Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXAPrepareMessage.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXAPrepareMessage.java 2008-05-14 09:49:01 UTC (rev 4187)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXAPrepareMessage.java 2008-05-14 11:49:48 UTC (rev 4188)
@@ -49,12 +49,12 @@
public void encodeBody(final MessagingBuffer buffer)
{
- encodeXid(xid, buffer);
+ XidCodecSupport.encodeXid(xid, buffer);
}
public void decodeBody(final MessagingBuffer buffer)
{
- xid = decodeXid(buffer);
+ xid = XidCodecSupport.decodeXid(buffer);
}
// Package protected ---------------------------------------------
Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXAResumeMessage.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXAResumeMessage.java 2008-05-14 09:49:01 UTC (rev 4187)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXAResumeMessage.java 2008-05-14 11:49:48 UTC (rev 4188)
@@ -49,12 +49,12 @@
public void encodeBody(final MessagingBuffer buffer)
{
- encodeXid(xid, buffer);
+ XidCodecSupport.encodeXid(xid, buffer);
}
public void decodeBody(final MessagingBuffer buffer)
{
- xid = decodeXid(buffer);
+ xid = XidCodecSupport.decodeXid(buffer);
}
// Package protected ---------------------------------------------
Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXARollbackMessage.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXARollbackMessage.java 2008-05-14 09:49:01 UTC (rev 4187)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXARollbackMessage.java 2008-05-14 11:49:48 UTC (rev 4188)
@@ -49,12 +49,12 @@
public void encodeBody(final MessagingBuffer buffer)
{
- encodeXid(xid, buffer);
+ XidCodecSupport.encodeXid(xid, buffer);
}
public void decodeBody(final MessagingBuffer buffer)
{
- xid = decodeXid(buffer);
+ xid = XidCodecSupport.decodeXid(buffer);
}
// Package protected ---------------------------------------------
Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXAStartMessage.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXAStartMessage.java 2008-05-14 09:49:01 UTC (rev 4187)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/SessionXAStartMessage.java 2008-05-14 11:49:48 UTC (rev 4188)
@@ -49,12 +49,12 @@
public void encodeBody(final MessagingBuffer buffer)
{
- encodeXid(xid, buffer);
+ XidCodecSupport.encodeXid(xid, buffer);
}
public void decodeBody(final MessagingBuffer buffer)
{
- xid = decodeXid(buffer);
+ xid = XidCodecSupport.decodeXid(buffer);
}
Added: trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/XidCodecSupport.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/XidCodecSupport.java (rev 0)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/XidCodecSupport.java 2008-05-14 11:49:48 UTC (rev 4188)
@@ -0,0 +1,60 @@
+/*
+ * JBoss, Home of Professional Open Source
+ *
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+package org.jboss.messaging.core.remoting.impl.wireformat;
+
+import javax.transaction.xa.Xid;
+
+import org.jboss.messaging.core.transaction.impl.XidImpl;
+import org.jboss.messaging.util.MessagingBuffer;
+
+/**
+ * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
+ *
+ * @version <tt>$Revision$</tt>
+ *
+ */
+public class XidCodecSupport
+{
+
+ // Constants -----------------------------------------------------
+
+ // Attributes ----------------------------------------------------
+
+ // Static --------------------------------------------------------
+
+ public static void encodeXid(final Xid xid, final MessagingBuffer out)
+ {
+ out.putInt(xid.getFormatId());
+ out.putInt(xid.getBranchQualifier().length);
+ out.putBytes(xid.getBranchQualifier());
+ out.putInt(xid.getGlobalTransactionId().length);
+ out.putBytes(xid.getGlobalTransactionId());
+ }
+
+ public static Xid decodeXid(final MessagingBuffer in)
+ {
+ int formatID = in.getInt();
+ byte[] bq = new byte[in.getInt()];
+ in.getBytes(bq);
+ byte[] gtxid = new byte[in.getInt()];
+ in.getBytes(gtxid);
+ Xid xid = new XidImpl(bq, formatID, gtxid);
+ return xid;
+ }
+
+ // Constructors --------------------------------------------------
+
+ // Public --------------------------------------------------------
+
+ // Package protected ---------------------------------------------
+
+ // Protected -----------------------------------------------------
+
+ // Private -------------------------------------------------------
+
+ // Inner classes -------------------------------------------------
+}
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/remoting/impl/wireformat/PacketTypeTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/remoting/impl/wireformat/PacketTypeTest.java 2008-05-14 09:49:01 UTC (rev 4187)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/remoting/impl/wireformat/PacketTypeTest.java 2008-05-14 11:49:48 UTC (rev 4188)
@@ -6,11 +6,126 @@
*/
package org.jboss.messaging.tests.unit.core.remoting.impl.wireformat;
-import org.apache.mina.common.WriteFuture;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.BYTES;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.CLOSE;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.CONN_CREATESESSION;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.CONN_CREATESESSION_RESP;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.CONN_START;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.CONN_STOP;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.CONS_FLOWTOKEN;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.CREATECONNECTION;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.CREATECONNECTION_RESP;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.NULL;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.PING;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.PONG;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.PROD_RECEIVETOKENS;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_ACKNOWLEDGE;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_ADD_DESTINATION;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_BINDINGQUERY;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_BINDINGQUERY_RESP;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_BROWSER_HASNEXTMESSAGE;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_BROWSER_HASNEXTMESSAGE_RESP;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_BROWSER_NEXTMESSAGE;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_BROWSER_RESET;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_CANCEL;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_COMMIT;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_CREATEBROWSER;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_CREATEBROWSER_RESP;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_CREATECONSUMER;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_CREATECONSUMER_RESP;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_CREATEPRODUCER;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_CREATEPRODUCER_RESP;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_CREATEQUEUE;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_DELETE_QUEUE;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_QUEUEQUERY;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_QUEUEQUERY_RESP;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_RECOVER;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_REMOVE_DESTINATION;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_ROLLBACK;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_XA_COMMIT;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_XA_END;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_XA_FORGET;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_XA_GET_TIMEOUT;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_XA_GET_TIMEOUT_RESP;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_XA_INDOUBT_XIDS;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_XA_INDOUBT_XIDS_RESP;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_XA_JOIN;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_XA_PREPARE;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_XA_RESP;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_XA_RESUME;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_XA_ROLLBACK;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_XA_SET_TIMEOUT;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_XA_SET_TIMEOUT_RESP;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_XA_START;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.SESS_XA_SUSPEND;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.TEXT;
+import static org.jboss.messaging.tests.unit.core.remoting.impl.wireformat.CodecAssert.assertEqualsByteArrays;
+import static org.jboss.messaging.tests.unit.core.remoting.impl.wireformat.CodecAssert.assertSameXids;
+import static org.jboss.messaging.tests.util.RandomUtil.randomBoolean;
+import static org.jboss.messaging.tests.util.RandomUtil.randomInt;
+import static org.jboss.messaging.tests.util.RandomUtil.randomLong;
+import static org.jboss.messaging.tests.util.RandomUtil.randomString;
+import static org.jboss.messaging.tests.util.RandomUtil.randomXid;
+import static org.jboss.messaging.util.DataConstants.SIZE_BYTE;
+import static org.jboss.messaging.util.DataConstants.SIZE_LONG;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.transaction.xa.Xid;
+
+import org.apache.mina.common.IoBuffer;
import org.apache.mina.filter.codec.ProtocolDecoderOutput;
-import org.apache.mina.filter.codec.ProtocolEncoderOutput;
import org.jboss.messaging.core.logging.Logger;
+import org.jboss.messaging.core.remoting.Packet;
+import org.jboss.messaging.core.remoting.impl.mina.BufferWrapper;
+import org.jboss.messaging.core.remoting.impl.mina.MessagingCodec;
+import org.jboss.messaging.core.remoting.impl.wireformat.BytesPacket;
+import org.jboss.messaging.core.remoting.impl.wireformat.ConnectionCreateSessionMessage;
+import org.jboss.messaging.core.remoting.impl.wireformat.ConnectionCreateSessionResponseMessage;
+import org.jboss.messaging.core.remoting.impl.wireformat.ConsumerFlowTokenMessage;
+import org.jboss.messaging.core.remoting.impl.wireformat.CreateConnectionRequest;
+import org.jboss.messaging.core.remoting.impl.wireformat.CreateConnectionResponse;
+import org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket;
+import org.jboss.messaging.core.remoting.impl.wireformat.Ping;
+import org.jboss.messaging.core.remoting.impl.wireformat.Pong;
+import org.jboss.messaging.core.remoting.impl.wireformat.ProducerReceiveTokensMessage;
+import org.jboss.messaging.core.remoting.impl.wireformat.SessionAcknowledgeMessage;
+import org.jboss.messaging.core.remoting.impl.wireformat.SessionAddDestinationMessage;
+import org.jboss.messaging.core.remoting.impl.wireformat.SessionBindingQueryMessage;
+import org.jboss.messaging.core.remoting.impl.wireformat.SessionBindingQueryResponseMessage;
+import org.jboss.messaging.core.remoting.impl.wireformat.SessionBrowserHasNextMessageResponseMessage;
+import org.jboss.messaging.core.remoting.impl.wireformat.SessionCancelMessage;
+import org.jboss.messaging.core.remoting.impl.wireformat.SessionCreateBrowserMessage;
+import org.jboss.messaging.core.remoting.impl.wireformat.SessionCreateBrowserResponseMessage;
+import org.jboss.messaging.core.remoting.impl.wireformat.SessionCreateConsumerMessage;
+import org.jboss.messaging.core.remoting.impl.wireformat.SessionCreateConsumerResponseMessage;
+import org.jboss.messaging.core.remoting.impl.wireformat.SessionCreateProducerMessage;
+import org.jboss.messaging.core.remoting.impl.wireformat.SessionCreateProducerResponseMessage;
+import org.jboss.messaging.core.remoting.impl.wireformat.SessionCreateQueueMessage;
+import org.jboss.messaging.core.remoting.impl.wireformat.SessionDeleteQueueMessage;
+import org.jboss.messaging.core.remoting.impl.wireformat.SessionQueueQueryMessage;
+import org.jboss.messaging.core.remoting.impl.wireformat.SessionQueueQueryResponseMessage;
+import org.jboss.messaging.core.remoting.impl.wireformat.SessionRemoveDestinationMessage;
+import org.jboss.messaging.core.remoting.impl.wireformat.SessionXACommitMessage;
+import org.jboss.messaging.core.remoting.impl.wireformat.SessionXAEndMessage;
+import org.jboss.messaging.core.remoting.impl.wireformat.SessionXAForgetMessage;
+import org.jboss.messaging.core.remoting.impl.wireformat.SessionXAGetInDoubtXidsResponseMessage;
+import org.jboss.messaging.core.remoting.impl.wireformat.SessionXAGetTimeoutResponseMessage;
+import org.jboss.messaging.core.remoting.impl.wireformat.SessionXAJoinMessage;
+import org.jboss.messaging.core.remoting.impl.wireformat.SessionXAPrepareMessage;
+import org.jboss.messaging.core.remoting.impl.wireformat.SessionXAResponseMessage;
+import org.jboss.messaging.core.remoting.impl.wireformat.SessionXAResumeMessage;
+import org.jboss.messaging.core.remoting.impl.wireformat.SessionXARollbackMessage;
+import org.jboss.messaging.core.remoting.impl.wireformat.SessionXASetTimeoutMessage;
+import org.jboss.messaging.core.remoting.impl.wireformat.SessionXASetTimeoutResponseMessage;
+import org.jboss.messaging.core.remoting.impl.wireformat.SessionXAStartMessage;
+import org.jboss.messaging.core.remoting.impl.wireformat.TextPacket;
+import org.jboss.messaging.core.remoting.impl.wireformat.XidCodecSupport;
+import org.jboss.messaging.core.version.impl.VersionImpl;
+import org.jboss.messaging.tests.util.RandomUtil;
import org.jboss.messaging.tests.util.UnitTestCase;
+import org.jboss.messaging.util.MessagingBuffer;
import org.jboss.messaging.util.SimpleString;
/**
@@ -32,1084 +147,977 @@
// Static --------------------------------------------------------
-// private static MessagingBuffer encode(int length, Object... args)
-// throws Exception
-// {
-// BufferWrapper buffer = new BufferWrapper(IoBuffer.allocate(length));
-// for (Object arg : args)
-// {
-// if (arg instanceof Byte)
-// buffer.putByte(((Byte) arg).byteValue());
-// else if (arg instanceof Boolean)
-// {
-// Boolean bool = (Boolean) arg;
-// buffer.putBoolean(bool);
-// } else if (arg instanceof Integer)
-// buffer.putInt(((Integer) arg).intValue());
-// else if (arg instanceof Long)
-// buffer.putLong(((Long) arg).longValue());
-// else if (arg instanceof Float)
-// buffer.putFloat(((Float) arg).floatValue());
-// else if (arg instanceof String)
-// buffer.putNullableString((String) arg);
-// else if (arg instanceof SimpleString)
-// buffer.putSimpleString((SimpleString)arg);
-// else if (arg instanceof NullableStringHolder)
-// buffer.putNullableSimpleString(((NullableStringHolder)arg).str);
-// else if (arg == null)
-// buffer.putNullableString(null);
-// else if (arg instanceof byte[])
-// {
-// byte[] b = (byte[]) arg;
-// buffer.putInt(b.length);
-// buffer.putBytes(b);
-// } else if (arg instanceof long[])
-// {
-// long[] longs = (long[]) arg;
-// for (long l : longs)
-// {
-// buffer.putLong(l);
-// }
-// } else if (arg instanceof List)
-// {
-// List argsInList = (List) arg;
-// buffer.putInt(argsInList.size());
-// for (Object argInList : argsInList)
-// {
-// if (argInList instanceof SimpleString)
-// buffer.putSimpleString((SimpleString) argInList);
-// else if (argInList instanceof Xid)
-// encodeXid((Xid)argInList, buffer);
-// else
-// fail ("no encoding defined for " + arg + " in List");
-// }
-// } else if (arg instanceof Xid)
-// {
-// Xid xid = (Xid) arg;
-// encodeXid(xid, buffer);
-// } else
-// {
-// fail("no encoding defined for " + arg);
-// }
-// }
-// buffer.flip();
-// return buffer;
-// }
-//
-// private static void checkHeader(final MessagingBuffer buffer,
-// final Packet packet, final int bodyLength) throws Exception
-// {
-// buffer.rewind();
-// int messageLength = buffer.getInt();
-// assertEquals(AbstractPacketCodec.HEADER_LENGTH + bodyLength,
-// messageLength);
-//
-// assertEquals(buffer.getByte(), packet.getType().byteValue());
-//
-// long responseTargetID = buffer.getLong();
-// long targetID = buffer.getLong();
-// long executorID = buffer.getLong();
-//
-// assertEquals(packet.getResponseTargetID(), responseTargetID);
-// assertEquals(packet.getTargetID(), targetID);
-// assertEquals(packet.getExecutorID(), executorID);
-// }
-//
-// private static void checkBody(MessagingBuffer buffer, int bodyLength,
-// Object... bodyObjects) throws Exception
-// {
-// byte[] actualBody = new byte[bodyLength];
-// buffer.getBytes(actualBody);
-// MessagingBuffer expectedBody = encode(actualBody.length, bodyObjects);
-// assertEqualsByteArrays(expectedBody.array(), actualBody);
-// // check the buffer has been wholly read
-// assertEquals(0, buffer.remaining());
-// }
-//
-// private static Packet encodeAndCheckBytesAndDecode(Packet packet,
-// AbstractPacketCodec codec, Object... bodyObjects) throws Exception
-// {
-// MessagingBuffer buffer = encode(packet, codec);
-// int bodyLength = buffer.position();
-// checkHeader(buffer, packet, bodyLength);
-// checkBody(buffer, bodyLength, bodyObjects);
-// buffer.rewind();
-//
-// Packet decodedPacket = decode(buffer, codec, bodyLength);
-//
-// return decodedPacket;
-// }
-//
-// private static MessagingBuffer encode(final Packet packet,
-// final AbstractPacketCodec<Packet> codec) throws Exception
-// {
-// SimpleProtocolEncoderOutput out = new SimpleProtocolEncoderOutput();
-//
-// codec.encode(packet, out);
-//
-// Object encodedMessage = out.getEncodedMessage();
-//
-// assertNotNull(encodedMessage);
-//
-// assertTrue(encodedMessage instanceof IoBuffer);
-//
-// MessagingBuffer buff = new BufferWrapper((IoBuffer) encodedMessage);
-//
-// return buff;
-// }
-//
-// private static Packet decode(final MessagingBuffer buffer,
-// final AbstractPacketCodec<Packet> codec, final int len)
-// throws Exception
-// {
-// SimpleProtocolDencoderOutput out = new SimpleProtocolDencoderOutput();
-//
-// int length = buffer.getInt();
-//
-// assertEquals(len + HEADER_LENGTH, length);
-//
-// byte type = buffer.getByte();
-//
-// assertEquals(codec.getType().byteValue(), type);
-//
-// codec.decode(buffer, out);
-//
-// Object message = out.getMessage();
-//
-// assertNotNull(message);
-//
-// assertTrue(message instanceof Packet);
-//
-// return (Packet) message;
-// }
+ private static MessagingBuffer encode(int length, Object... args)
+ throws Exception
+ {
+ BufferWrapper buffer = new BufferWrapper(length);
+ for (Object arg : args)
+ {
+ if (arg instanceof Byte)
+ buffer.putByte(((Byte) arg).byteValue());
+ else if (arg instanceof Boolean)
+ {
+ Boolean bool = (Boolean) arg;
+ buffer.putBoolean(bool);
+ } else if (arg instanceof Integer)
+ buffer.putInt(((Integer) arg).intValue());
+ else if (arg instanceof Long)
+ buffer.putLong(((Long) arg).longValue());
+ else if (arg instanceof Float)
+ buffer.putFloat(((Float) arg).floatValue());
+ else if (arg instanceof String)
+ buffer.putNullableString((String) arg);
+ else if (arg instanceof SimpleString)
+ buffer.putSimpleString((SimpleString) arg);
+ else if (arg instanceof NullableStringHolder)
+ buffer.putNullableSimpleString(((NullableStringHolder) arg).str);
+ else if (arg == null)
+ buffer.putNullableString(null);
+ else if (arg instanceof byte[])
+ {
+ byte[] b = (byte[]) arg;
+ buffer.putInt(b.length);
+ buffer.putBytes(b);
+ } else if (arg instanceof long[])
+ {
+ long[] longs = (long[]) arg;
+ for (long l : longs)
+ {
+ buffer.putLong(l);
+ }
+ } else if (arg instanceof List)
+ {
+ List argsInList = (List) arg;
+ buffer.putInt(argsInList.size());
+ for (Object argInList : argsInList)
+ {
+ if (argInList instanceof SimpleString)
+ buffer.putSimpleString((SimpleString) argInList);
+ else if (argInList instanceof Xid)
+ XidCodecSupport.encodeXid((Xid) argInList, buffer);
+ else
+ fail("no encoding defined for " + arg + " in List");
+ }
+ } else if (arg instanceof Xid)
+ {
+ Xid xid = (Xid) arg;
+ XidCodecSupport.encodeXid(xid, buffer);
+ } else
+ {
+ fail("no encoding defined for " + arg);
+ }
+ }
+ buffer.flip();
+ return buffer;
+ }
+ private static void checkHeader(final MessagingBuffer buffer,
+ final Packet packet) throws Exception
+ {
+ assertEquals(buffer.getByte(), packet.getType());
+
+ long responseTargetID = buffer.getLong();
+ long targetID = buffer.getLong();
+ long executorID = buffer.getLong();
+
+ assertEquals(packet.getResponseTargetID(), responseTargetID);
+ assertEquals(packet.getTargetID(), targetID);
+ assertEquals(packet.getExecutorID(), executorID);
+ }
+
+ private static void checkBody(MessagingBuffer buffer, int bodyLength,
+ Object... bodyObjects) throws Exception
+ {
+ byte[] actualBody = new byte[bodyLength];
+ buffer.getBytes(actualBody);
+ MessagingBuffer expectedBody = encode(actualBody.length, bodyObjects);
+ assertEqualsByteArrays(bodyLength, expectedBody.array(), actualBody);
+ // check the buffer has been wholly read
+ assertEquals(0, buffer.remaining());
+ }
+
+ private static Packet encodeAndCheckBytesAndDecode(Packet packet,
+ Object... bodyObjects) throws Exception
+ {
+ MessagingBuffer buffer = encode(packet);
+ int packetLength = buffer.getInt();
+ checkHeader(buffer, packet);
+ int bodyLength = packetLength - (SIZE_BYTE + 3 * SIZE_LONG);
+ checkBody(buffer, bodyLength, bodyObjects);
+ buffer.rewind();
+
+ SimpleProtocolDecoderOutput out = new SimpleProtocolDecoderOutput();
+ MessagingCodec codec = new MessagingCodec();
+ codec.doDecode(null, IoBuffer.wrap(buffer.array()), out);
+ Object message = out.getMessage();
+ assertTrue(message instanceof Packet);
+
+ return (Packet) message;
+ }
+
+ private static MessagingBuffer encode(final Packet packet) throws Exception
+ {
+ MessagingBuffer buffer = new BufferWrapper(512);
+ packet.encode(buffer);
+
+ assertNotNull(buffer);
+
+ return buffer;
+ }
+
// Constructors --------------------------------------------------
// Public --------------------------------------------------------
-//
-// public void testNullPacket() throws Exception
-// {
-// Packet packet = new EmptyPacket(NULL);
-// long cid = randomLong();
-// packet.setResponseTargetID(cid);
-// packet.setTargetID(randomLong());
-// packet.setExecutorID(randomLong());
-// AbstractPacketCodec codec = PacketCodecFactory
-// .createCodecForEmptyPacket(NULL);
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(packet, codec);
-// assertTrue(decodedPacket instanceof EmptyPacket);
-//
-// assertEquals(NULL, decodedPacket.getType());
-// assertEquals(packet.getResponseTargetID(), decodedPacket.getResponseTargetID());
-// assertEquals(packet.getTargetID(), decodedPacket.getTargetID());
-// assertEquals(packet.getExecutorID(), decodedPacket.getExecutorID());
-// }
-//
-// public void testPing() throws Exception
-// {
-// Ping ping = new Ping(randomLong());
-// AbstractPacketCodec<Ping> codec = new PingCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(ping, codec, ping
-// .getSessionID());
-//
-// assertTrue(decodedPacket instanceof Ping);
-// Ping decodedPing = (Ping) decodedPacket;
-// assertEquals(PING, decodedPing.getType());
-// assertEquals(ping.getResponseTargetID(), decodedPacket.getResponseTargetID());
-// assertEquals(ping.getTargetID(), decodedPacket.getTargetID());
-// assertEquals(ping.getExecutorID(), decodedPacket.getExecutorID());
-// }
-//
-// public void testPong() throws Exception
-// {
-// Pong pong = new Pong(randomLong(), true);
-// AbstractPacketCodec<Pong> codec = new PongCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(pong, codec, pong
-// .getSessionID(), pong.isSessionFailed());
-//
-// assertTrue(decodedPacket instanceof Pong);
-// Pong decodedPong = (Pong) decodedPacket;
-// assertEquals(PONG, decodedPong.getType());
-// assertEquals(pong.getSessionID(), decodedPong.getSessionID());
-// assertEquals(pong.isSessionFailed(), decodedPong.isSessionFailed());
-// }
-//
-// public void testTextPacket() throws Exception
-// {
-// TextPacket packet = new TextPacket("testTextPacket");
-// AbstractPacketCodec<TextPacket> codec = new TextPacketCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(packet, codec, packet
-// .getText());
-//
-// assertTrue(decodedPacket instanceof TextPacket);
-// TextPacket p = (TextPacket) decodedPacket;
-//
-// assertEquals(TEXT, p.getType());
-// assertEquals(packet.getText(), p.getText());
-// }
-//
-// public void testBytesPacket() throws Exception
-// {
-// BytesPacket packet = new BytesPacket(randomBytes());
-// AbstractPacketCodec<BytesPacket> codec = new BytesPacketCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(packet, codec, packet
-// .getBytes());
-//
-// assertTrue(decodedPacket instanceof BytesPacket);
-// BytesPacket p = (BytesPacket) decodedPacket;
-//
-// assertEquals(BYTES, p.getType());
-// assertEqualsByteArrays(packet.getBytes(), p.getBytes());
-// }
-//
-// public void testCreateConnectionRequest() throws Exception
-// {
-// int version = randomInt();
-// long remotingSessionID = randomLong();
-// String username = null;
-// String password = null;
-// CreateConnectionRequest request = new CreateConnectionRequest(version,
-// remotingSessionID, username, password);
-// AbstractPacketCodec<CreateConnectionRequest> codec = new CreateConnectionMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(request, codec,
-// version, remotingSessionID, username, password);
-//
-// assertTrue(decodedPacket instanceof CreateConnectionRequest);
-// CreateConnectionRequest decodedRequest = (CreateConnectionRequest) decodedPacket;
-//
-// assertEquals(CREATECONNECTION, decodedPacket.getType());
-// assertEquals(request.getVersion(), decodedRequest.getVersion());
-// assertEquals(request.getRemotingSessionID(), decodedRequest
-// .getRemotingSessionID());
-// assertEquals(request.getUsername(), decodedRequest.getUsername());
-// assertEquals(request.getPassword(), decodedRequest.getPassword());
-// }
-//
-// public void testCreateConnectionResponse() throws Exception
-// {
-// CreateConnectionResponse response = new CreateConnectionResponse(
-// randomLong(), new VersionImpl("test", 1,2,3,4,"xxx"));
-// AbstractPacketCodec<CreateConnectionResponse> codec = new CreateConnectionResponseMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(response, codec,
-// response.getConnectionTargetID(),
-// response.getServerVersion().getVersionName(),
-// response.getServerVersion().getMajorVersion(),
-// response.getServerVersion().getMinorVersion(),
-// response.getServerVersion().getMicroVersion(),
-// response.getServerVersion().getIncrementingVersion(),
-// response.getServerVersion().getVersionSuffix());
-//
-// assertTrue(decodedPacket instanceof CreateConnectionResponse);
-// CreateConnectionResponse decodedResponse = (CreateConnectionResponse) decodedPacket;
-// assertEquals(PacketType.CREATECONNECTION_RESP, decodedResponse.getType());
-// assertEquals(response.getConnectionTargetID(), decodedResponse
-// .getConnectionTargetID());
-// assertEquals(response.getServerVersion().getFullVersion(), decodedResponse.getServerVersion().getFullVersion());
-// }
-//
-// public void testConnectionCreateSessionMessage() throws Exception
-// {
-// ConnectionCreateSessionMessage request = new ConnectionCreateSessionMessage(
-// randomBoolean(), randomBoolean(), randomBoolean());
-// AbstractPacketCodec<ConnectionCreateSessionMessage> codec = new ConnectionCreateSessionMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(request, codec,
-// request.isXA(), request.isAutoCommitSends(), request
-// .isAutoCommitAcks());
-//
-// assertTrue(decodedPacket instanceof ConnectionCreateSessionMessage);
-// ConnectionCreateSessionMessage decodedRequest = (ConnectionCreateSessionMessage) decodedPacket;
-// assertEquals(PacketType.CONN_CREATESESSION, decodedRequest.getType());
-// assertEquals(request.isXA(), decodedRequest.isXA());
-// assertEquals(request.isAutoCommitSends(), decodedRequest
-// .isAutoCommitSends());
-// assertEquals(request.isAutoCommitAcks(), decodedRequest
-// .isAutoCommitAcks());
-// }
-//
-// public void testConnectionCreateSessionResponseMessage() throws Exception
-// {
-// ConnectionCreateSessionResponseMessage response = new ConnectionCreateSessionResponseMessage(
-// randomLong());
-// AbstractPacketCodec<ConnectionCreateSessionResponseMessage> codec = new ConnectionCreateSessionResponseMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(response, codec,
-// response.getSessionID());
-//
-// assertTrue(decodedPacket instanceof ConnectionCreateSessionResponseMessage);
-// ConnectionCreateSessionResponseMessage decodedResponse = (ConnectionCreateSessionResponseMessage) decodedPacket;
-// assertEquals(PacketType.CONN_CREATESESSION_RESP, decodedResponse
-// .getType());
-// assertEquals(response.getSessionID(), decodedResponse.getSessionID());
-// }
-//
-// public void testProducerSendMessage() throws Exception
-// {
-// Message msg = new MessageImpl((byte)1, false, 1212212L, 761276712L, (byte)1);
-// msg.setDestination(new SimpleString("blah"));
-// ProducerSendMessage packet = new ProducerSendMessage(msg);
-// MessagingBuffer buff = packet.getMessage().encode();
-//
-// Message msg2 = new MessageImpl();
-// msg2.decode(buff);
-//
-//
-// byte[] messageBytes = buff.array();
-// byte[] data = new byte[buff.limit()];
-// System.arraycopy(messageBytes, 0, data, 0, buff.limit());
-// AbstractPacketCodec codec = new ProducerSendMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(packet, codec, data);
-//
-// assertTrue(decodedPacket instanceof ProducerSendMessage);
-// ProducerSendMessage decodedMessage = (ProducerSendMessage) decodedPacket;
-// assertEquals(PacketType.PROD_SEND, decodedPacket.getType());
-// assertEquals(packet.getMessage().getMessageID(), decodedMessage
-// .getMessage().getMessageID());
-// }
-//
-// public void testSessionCreateConsumerMessage() throws Exception
-// {
-// SimpleString destination = new SimpleString("queue.SessionCreateConsumerMessage");
-// SessionCreateConsumerMessage request = new SessionCreateConsumerMessage(randomLong(),
-// destination, new SimpleString("color = 'red'"), false, false, randomInt(),
-// randomInt());
-// AbstractPacketCodec codec = new SessionCreateConsumerMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(request, codec, request.getClientTargetID(),
-// request.getQueueName(), new NullableStringHolder(request.getFilterString()), request
-// .isNoLocal(), request.isAutoDeleteQueue(), request
-// .getWindowSize(), request.getMaxRate());
-//
-// assertTrue(decodedPacket instanceof SessionCreateConsumerMessage);
-// SessionCreateConsumerMessage decodedRequest = (SessionCreateConsumerMessage) decodedPacket;
-// assertEquals(PacketType.SESS_CREATECONSUMER, decodedRequest.getType());
-// assertEquals(request.getClientTargetID(), decodedRequest.getClientTargetID());
-// assertEquals(request.getQueueName(), decodedRequest.getQueueName());
-// assertEquals(request.getFilterString(), decodedRequest.getFilterString());
-// assertEquals(request.isNoLocal(), decodedRequest.isNoLocal());
-// assertEquals(request.isAutoDeleteQueue(), decodedRequest
-// .isAutoDeleteQueue());
-// assertEquals(request.getWindowSize(), decodedRequest.getWindowSize());
-// assertEquals(request.getMaxRate(), decodedRequest.getMaxRate());
-// }
-//
-//
-//
-// public void testSessionCreateConsumerResponseMessage() throws Exception
-// {
-// SessionCreateConsumerResponseMessage response = new SessionCreateConsumerResponseMessage(
-// randomLong(), randomInt());
-// AbstractPacketCodec codec = new SessionCreateConsumerResponseMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(response, codec,
-// response.getConsumerTargetID(), response.getWindowSize());
-//
-// assertTrue(decodedPacket instanceof SessionCreateConsumerResponseMessage);
-// SessionCreateConsumerResponseMessage decodedResponse = (SessionCreateConsumerResponseMessage) decodedPacket;
-// assertEquals(SESS_CREATECONSUMER_RESP, decodedResponse.getType());
-//
-// assertEquals(response.getConsumerTargetID(), decodedResponse
-// .getConsumerTargetID());
-// assertEquals(response.getWindowSize(), decodedResponse.getWindowSize());
-// }
-//
-// public void testSessionCreateProducerMessage() throws Exception
-// {
-// SimpleString destination = new SimpleString("queue.testSessionCreateProducerMessage");
-// int windowSize = randomInt();
-// int maxRate = randomInt();
-// SessionCreateProducerMessage request = new SessionCreateProducerMessage(randomLong(),
-// destination, windowSize, maxRate);
-// AbstractPacketCodec codec = new SessionCreateProducerMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(request, codec, request.getClientTargetID(),
-// new NullableStringHolder(request.getAddress()), request.getWindowSize(), request.getMaxRate());
-//
-// assertTrue(decodedPacket instanceof SessionCreateProducerMessage);
-// SessionCreateProducerMessage decodedRequest = (SessionCreateProducerMessage) decodedPacket;
-// assertEquals(SESS_CREATEPRODUCER, decodedRequest.getType());
-// assertEquals(request.getClientTargetID(), decodedRequest.getClientTargetID());
-// assertEquals(request.getAddress(), decodedRequest.getAddress());
-// assertEquals(request.getWindowSize(), decodedRequest.getWindowSize());
-// assertEquals(request.getMaxRate(), decodedRequest.getMaxRate());
-// }
-//
-// public void testSessionCreateProducerResponseMessage() throws Exception
-// {
-// SessionCreateProducerResponseMessage response = new SessionCreateProducerResponseMessage(
-// randomLong(), randomInt(), randomInt());
-// AbstractPacketCodec codec = new SessionCreateProducerResponseMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(response, codec,
-// response.getProducerTargetID(), response.getWindowSize(), response
-// .getMaxRate());
-//
-// assertTrue(decodedPacket instanceof SessionCreateProducerResponseMessage);
-// SessionCreateProducerResponseMessage decodedResponse = (SessionCreateProducerResponseMessage) decodedPacket;
-// assertEquals(SESS_CREATEPRODUCER_RESP, decodedResponse.getType());
-// assertEquals(response.getProducerTargetID(), decodedResponse
-// .getProducerTargetID());
-// assertEquals(response.getWindowSize(), decodedResponse.getWindowSize());
-// assertEquals(response.getMaxRate(), decodedResponse.getMaxRate());
-// }
-//
-// public void testStartConnectionMessage() throws Exception
-// {
-// Packet packet = new EmptyPacket(CONN_START);
-// AbstractPacketCodec codec = PacketCodecFactory
-// .createCodecForEmptyPacket(CONN_START);
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(packet, codec);
-//
-// assertEquals(CONN_START, decodedPacket.getType());
-// }
-//
-// public void testStopConnectionMessage() throws Exception
-// {
-// Packet packet = new EmptyPacket(CONN_STOP);
-// AbstractPacketCodec codec = PacketCodecFactory
-// .createCodecForEmptyPacket(CONN_STOP);
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(packet, codec);
-//
-// assertEquals(CONN_STOP, decodedPacket.getType());
-// }
-//
-// public void testConsumerFlowTokenMessage() throws Exception
-// {
-// ConsumerFlowTokenMessage message = new ConsumerFlowTokenMessage(
-// randomInt());
-// AbstractPacketCodec codec = new ConsumerFlowTokenMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(message, codec,
-// message.getTokens());
-//
-// assertTrue(decodedPacket instanceof ConsumerFlowTokenMessage);
-// ConsumerFlowTokenMessage decodedMessage = (ConsumerFlowTokenMessage) decodedPacket;
-// assertEquals(CONS_FLOWTOKEN, decodedMessage.getType());
-// assertEquals(message.getTokens(), decodedMessage.getTokens());
-// }
-//
-// public void testProducerReceiveTokensMessage() throws Exception
-// {
-// ProducerReceiveTokensMessage message = new ProducerReceiveTokensMessage(
-// randomInt());
-// AbstractPacketCodec codec = new ProducerReceiveTokensMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(message, codec,
-// message.getTokens());
-//
-// assertTrue(decodedPacket instanceof ProducerReceiveTokensMessage);
-// ProducerReceiveTokensMessage decodedMessage = (ProducerReceiveTokensMessage) decodedPacket;
-// assertEquals(PROD_RECEIVETOKENS, decodedMessage.getType());
-// assertEquals(message.getTokens(), decodedMessage.getTokens());
-// }
-//
-// public void testReceiveMessage() throws Exception
-// {
-// Message msg = new MessageImpl();
-// ReceiveMessage message = new ReceiveMessage(msg);
-// AbstractPacketCodec codec = new ReceiveMessageCodec();
-//
-// byte[] messageBytes = message.getMessage().encode().array();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(message, codec, messageBytes);
-//
-// assertTrue(decodedPacket instanceof ReceiveMessage);
-// ReceiveMessage decodedMessage = (ReceiveMessage) decodedPacket;
-// assertEquals(RECEIVE_MSG, decodedMessage.getType());
-// assertEquals(message.getMessage().getMessageID(), decodedMessage
-// .getMessage().getMessageID());
-// }
-//
-// public void testSessionAcknowledgeMessage() throws Exception
-// {
-// SessionAcknowledgeMessage message = new SessionAcknowledgeMessage(
-// randomLong(), randomBoolean());
-// AbstractPacketCodec codec = new SessionAcknowledgeMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(message, codec,
-// message.getDeliveryID(), message.isAllUpTo());
-//
-// assertTrue(decodedPacket instanceof SessionAcknowledgeMessage);
-// SessionAcknowledgeMessage decodedMessage = (SessionAcknowledgeMessage) decodedPacket;
-// assertEquals(SESS_ACKNOWLEDGE, decodedMessage.getType());
-// assertEquals(message.getDeliveryID(), decodedMessage.getDeliveryID());
-// assertEquals(message.isAllUpTo(), decodedMessage.isAllUpTo());
-// }
-//
-// public void testSessionCancelMessage() throws Exception
-// {
-// SessionCancelMessage message = new SessionCancelMessage(randomLong(),
-// randomBoolean());
-// AbstractPacketCodec codec = new SessionCancelMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(message, codec,
-// message.getDeliveryID(), message.isExpired());
-//
-// assertTrue(decodedPacket instanceof SessionCancelMessage);
-// SessionCancelMessage decodedMessage = (SessionCancelMessage) decodedPacket;
-// assertEquals(SESS_CANCEL, decodedMessage.getType());
-// assertEquals(message.getDeliveryID(), decodedMessage.getDeliveryID());
-// assertEquals(message.isExpired(), decodedMessage.isExpired());
-// }
-//
-// public void testSessionCommitMessage() throws Exception
-// {
-// Packet message = new EmptyPacket(SESS_COMMIT);
-// AbstractPacketCodec codec = PacketCodecFactory
-// .createCodecForEmptyPacket(SESS_COMMIT);
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(message, codec);
-//
-// assertEquals(SESS_COMMIT, decodedPacket.getType());
-// }
-//
-// public void testSessionRollbackMessage() throws Exception
-// {
-// Packet message = new EmptyPacket(SESS_ROLLBACK);
-// AbstractPacketCodec codec = PacketCodecFactory
-// .createCodecForEmptyPacket(SESS_ROLLBACK);
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(message, codec);
-//
-// assertEquals(SESS_ROLLBACK, decodedPacket.getType());
-// }
-//
-// public void testSessionRecoverMessage() throws Exception
-// {
-// Packet message = new EmptyPacket(SESS_RECOVER);
-// AbstractPacketCodec codec = PacketCodecFactory
-// .createCodecForEmptyPacket(SESS_RECOVER);
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(message, codec);
-//
-// assertEquals(SESS_RECOVER, decodedPacket.getType());
-// }
-//
-// public void testCloseMessage() throws Exception
-// {
-// Packet message = new EmptyPacket(CLOSE);
-// AbstractPacketCodec codec = PacketCodecFactory
-// .createCodecForEmptyPacket(CLOSE);
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(message, codec);
-//
-// assertEquals(CLOSE, decodedPacket.getType());
-// }
-//
-// public void testSessionCreateBrowserMessage() throws Exception
-// {
-// SimpleString destination = new SimpleString("queue.testCreateBrowserRequest");
-// SessionCreateBrowserMessage request = new SessionCreateBrowserMessage(
-// destination, new SimpleString("color = 'red'"));
-// AbstractPacketCodec codec = new SessionCreateBrowserMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(request, codec,
-// request.getQueueName(), new NullableStringHolder(request.getFilterString()));
-//
-// assertTrue(decodedPacket instanceof SessionCreateBrowserMessage);
-// SessionCreateBrowserMessage decodedRequest = (SessionCreateBrowserMessage) decodedPacket;
-// assertEquals(SESS_CREATEBROWSER, decodedRequest.getType());
-// assertEquals(request.getQueueName(), decodedRequest.getQueueName());
-// assertEquals(request.getFilterString(), decodedRequest.getFilterString());
-// }
-//
-// public void testSessionCreateBrowserResponseMessage() throws Exception
-// {
-// SessionCreateBrowserResponseMessage response = new SessionCreateBrowserResponseMessage(
-// randomLong());
-// AbstractPacketCodec codec = new SessionCreateBrowserResponseMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(response, codec,
-// response.getBrowserTargetID());
-//
-// assertTrue(decodedPacket instanceof SessionCreateBrowserResponseMessage);
-// SessionCreateBrowserResponseMessage decodedResponse = (SessionCreateBrowserResponseMessage) decodedPacket;
-// assertEquals(SESS_CREATEBROWSER_RESP, decodedResponse.getType());
-// assertEquals(response.getBrowserTargetID(), decodedResponse
-// .getBrowserTargetID());
-// }
-//
-// public void testBrowserResetMessage() throws Exception
-// {
-// Packet message = new EmptyPacket(SESS_BROWSER_RESET);
-// AbstractPacketCodec codec = PacketCodecFactory
-// .createCodecForEmptyPacket(SESS_BROWSER_RESET);
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(message, codec);
-//
-// assertEquals(SESS_BROWSER_RESET, decodedPacket.getType());
-// }
-//
-// public void testBrowserHasNextMessageRequest() throws Exception
-// {
-// Packet request = new EmptyPacket(SESS_BROWSER_HASNEXTMESSAGE);
-// AbstractPacketCodec codec = PacketCodecFactory
-// .createCodecForEmptyPacket(SESS_BROWSER_HASNEXTMESSAGE);
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(request, codec);
-//
-// assertEquals(SESS_BROWSER_HASNEXTMESSAGE, decodedPacket.getType());
-// }
-//
-// public void testSessionBrowserHasNextMessageResponseMessage()
-// throws Exception
-// {
-// SessionBrowserHasNextMessageResponseMessage response = new SessionBrowserHasNextMessageResponseMessage(
-// randomBoolean());
-// AbstractPacketCodec codec = new SessionBrowserHasNextMessageResponseMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(response, codec,
-// response.hasNext());
-//
-// assertTrue(decodedPacket instanceof SessionBrowserHasNextMessageResponseMessage);
-// SessionBrowserHasNextMessageResponseMessage decodedResponse = (SessionBrowserHasNextMessageResponseMessage) decodedPacket;
-// assertEquals(SESS_BROWSER_HASNEXTMESSAGE_RESP, decodedResponse.getType());
-// assertEquals(response.hasNext(), decodedResponse.hasNext());
-// }
-//
-// public void testBrowserNextMessageRequest() throws Exception
-// {
-// Packet request = new EmptyPacket(SESS_BROWSER_NEXTMESSAGE);
-// AbstractPacketCodec codec = PacketCodecFactory
-// .createCodecForEmptyPacket(SESS_BROWSER_NEXTMESSAGE);
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(request, codec);
-//
-// assertEquals(SESS_BROWSER_NEXTMESSAGE, decodedPacket.getType());
-// }
-//
-// public void testSessionXACommitMessage() throws Exception
-// {
-// SessionXACommitMessage message = new SessionXACommitMessage(randomXid(),
-// randomBoolean());
-// AbstractPacketCodec codec = new SessionXACommitMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(message, codec,
-// message.getXid(), message.isOnePhase());
-//
-// assertTrue(decodedPacket instanceof SessionXACommitMessage);
-// SessionXACommitMessage decodedMessage = (SessionXACommitMessage) decodedPacket;
-// assertEquals(SESS_XA_COMMIT, decodedMessage.getType());
-// assertEquals(message.getXid(), decodedMessage.getXid());
-// assertEquals(message.isOnePhase(), decodedMessage.isOnePhase());
-// }
-//
-// public void testSessionXAEndMessage() throws Exception
-// {
-// SessionXAEndMessage message = new SessionXAEndMessage(randomXid(),
-// randomBoolean());
-// AbstractPacketCodec codec = new SessionXAEndMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(message, codec,
-// message.getXid(), message.isFailed());
-//
-// assertTrue(decodedPacket instanceof SessionXAEndMessage);
-// SessionXAEndMessage decodedMessage = (SessionXAEndMessage) decodedPacket;
-// assertEquals(SESS_XA_END, decodedMessage.getType());
-// assertEquals(message.getXid(), decodedMessage.getXid());
-// assertEquals(message.isFailed(), decodedMessage.isFailed());
-// }
-//
-// public void testSessionXAForgetMessage() throws Exception
-// {
-// SessionXAForgetMessage message = new SessionXAForgetMessage(randomXid());
-// AbstractPacketCodec codec = new SessionXAForgetMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(message, codec,
-// message.getXid());
-//
-// assertTrue(decodedPacket instanceof SessionXAForgetMessage);
-// SessionXAForgetMessage decodedMessage = (SessionXAForgetMessage) decodedPacket;
-// assertEquals(SESS_XA_FORGET, decodedMessage.getType());
-// assertEquals(message.getXid(), decodedMessage.getXid());
-// }
-//
-// public void testSessionXAGetInDoubtXidsMessage() throws Exception
-// {
-// Packet request = new EmptyPacket(SESS_XA_INDOUBT_XIDS);
-// AbstractPacketCodec codec = createCodecForEmptyPacket(SESS_XA_INDOUBT_XIDS);
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(request, codec);
-//
-// assertEquals(SESS_XA_INDOUBT_XIDS, decodedPacket.getType());
-// }
-//
-// public void testSessionXAGetInDoubtXidsResponseMessage() throws Exception
-// {
-// final int numXids = 10;
-// List<Xid> xids = new ArrayList<Xid>();
-// for (int i = 0; i < numXids; i++)
-// {
-// xids.add(randomXid());
-// }
-// SessionXAGetInDoubtXidsResponseMessage message = new SessionXAGetInDoubtXidsResponseMessage(
-// xids);
-// AbstractPacketCodec codec = new SessionXAGetInDoubtXidsResponseMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(message, codec, xids);
-//
-// assertTrue(decodedPacket instanceof SessionXAGetInDoubtXidsResponseMessage);
-// SessionXAGetInDoubtXidsResponseMessage decodedMessage = (SessionXAGetInDoubtXidsResponseMessage) decodedPacket;
-// assertEquals(SESS_XA_INDOUBT_XIDS_RESP, decodedMessage.getType());
-//
-// assertSameXids(message.getXids(), decodedMessage.getXids());
-// }
-//
-// public void testSessionXAGetTimeoutMessage() throws Exception
-// {
-// Packet message = new EmptyPacket(SESS_XA_GET_TIMEOUT);
-// AbstractPacketCodec codec = createCodecForEmptyPacket(PacketType.SESS_XA_GET_TIMEOUT);
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(message, codec);
-//
-// assertEquals(SESS_XA_GET_TIMEOUT, decodedPacket.getType());
-// }
-//
-// public void testSessionXAGetTimeoutResponseMessage() throws Exception
-// {
-// SessionXAGetTimeoutResponseMessage message = new SessionXAGetTimeoutResponseMessage(
-// randomInt());
-// AbstractPacketCodec codec = new SessionXAGetTimeoutResponseMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(message, codec,
-// message.getTimeoutSeconds());
-//
-// assertTrue(decodedPacket instanceof SessionXAGetTimeoutResponseMessage);
-// SessionXAGetTimeoutResponseMessage decodedMessage = (SessionXAGetTimeoutResponseMessage) decodedPacket;
-// assertEquals(SESS_XA_GET_TIMEOUT_RESP, decodedMessage.getType());
-// assertEquals(message.getTimeoutSeconds(), decodedMessage
-// .getTimeoutSeconds());
-// }
-//
-// public void testSessionXAJoinMessage() throws Exception
-// {
-// SessionXAJoinMessage message = new SessionXAJoinMessage(randomXid());
-// AbstractPacketCodec codec = new SessionXAJoinMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(message, codec,
-// message.getXid());
-//
-// assertTrue(decodedPacket instanceof SessionXAJoinMessage);
-// SessionXAJoinMessage decodedMessage = (SessionXAJoinMessage) decodedPacket;
-// assertEquals(SESS_XA_JOIN, decodedMessage.getType());
-// assertEquals(message.getXid(), decodedMessage.getXid());
-// }
-//
-// public void testSessionXAPrepareMessage() throws Exception
-// {
-// SessionXAPrepareMessage message = new SessionXAPrepareMessage(randomXid());
-// AbstractPacketCodec codec = new SessionXAPrepareMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(message, codec,
-// message.getXid());
-//
-// assertTrue(decodedPacket instanceof SessionXAPrepareMessage);
-// SessionXAPrepareMessage decodedMessage = (SessionXAPrepareMessage) decodedPacket;
-// assertEquals(SESS_XA_PREPARE, decodedMessage.getType());
-// assertEquals(message.getXid(), decodedMessage.getXid());
-// }
-//
-// public void testSessionXAResponseMessage() throws Exception
-// {
-// SessionXAResponseMessage message = new SessionXAResponseMessage(
-// randomBoolean(), randomInt(), randomString());
-// AbstractPacketCodec codec = new SessionXAResponseMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(message, codec,
-// message.isError(), message.getResponseCode(), message.getMessage());
-//
-// assertTrue(decodedPacket instanceof SessionXAResponseMessage);
-// SessionXAResponseMessage decodedMessage = (SessionXAResponseMessage) decodedPacket;
-// assertEquals(SESS_XA_RESP, decodedMessage.getType());
-// assertEquals(message.isError(), decodedMessage.isError());
-// assertEquals(message.getResponseCode(), decodedMessage.getResponseCode());
-// assertEquals(message.getMessage(), decodedMessage.getMessage());
-// }
-//
-// public void testSessionXAResumeMessage() throws Exception
-// {
-// SessionXAResumeMessage message = new SessionXAResumeMessage(randomXid());
-// AbstractPacketCodec codec = new SessionXAResumeMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(message, codec,
-// message.getXid());
-//
-// assertTrue(decodedPacket instanceof SessionXAResumeMessage);
-// SessionXAResumeMessage decodedMessage = (SessionXAResumeMessage) decodedPacket;
-// assertEquals(SESS_XA_RESUME, decodedMessage.getType());
-// assertEquals(message.getXid(), decodedMessage.getXid());
-// }
-//
-// public void testSessionXARollbackMessage() throws Exception
-// {
-// SessionXARollbackMessage message = new SessionXARollbackMessage(
-// randomXid());
-// AbstractPacketCodec codec = new SessionXARollbackMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(message, codec,
-// message.getXid());
-//
-// assertTrue(decodedPacket instanceof SessionXARollbackMessage);
-// SessionXARollbackMessage decodedMessage = (SessionXARollbackMessage) decodedPacket;
-// assertEquals(SESS_XA_ROLLBACK, decodedMessage.getType());
-// assertEquals(message.getXid(), decodedMessage.getXid());
-// }
-//
-// public void testSessionXASetTimeoutMessage() throws Exception
-// {
-// SessionXASetTimeoutMessage message = new SessionXASetTimeoutMessage(
-// randomInt());
-// AbstractPacketCodec codec = new SessionXASetTimeoutMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(message, codec,
-// message.getTimeoutSeconds());
-//
-// assertTrue(decodedPacket instanceof SessionXASetTimeoutMessage);
-// SessionXASetTimeoutMessage decodedMessage = (SessionXASetTimeoutMessage) decodedPacket;
-// assertEquals(SESS_XA_SET_TIMEOUT, decodedMessage.getType());
-// assertEquals(message.getTimeoutSeconds(), decodedMessage
-// .getTimeoutSeconds());
-// }
-//
-// public void testSessionXASetTimeoutResponseMessage() throws Exception
-// {
-// SessionXASetTimeoutResponseMessage message = new SessionXASetTimeoutResponseMessage(
-// randomBoolean());
-// AbstractPacketCodec codec = new SessionXASetTimeoutResponseMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(message, codec,
-// message.isOK());
-//
-// assertTrue(decodedPacket instanceof SessionXASetTimeoutResponseMessage);
-// SessionXASetTimeoutResponseMessage decodedMessage = (SessionXASetTimeoutResponseMessage) decodedPacket;
-// assertEquals(SESS_XA_SET_TIMEOUT_RESP, decodedMessage.getType());
-// assertEquals(message.isOK(), decodedMessage.isOK());
-// }
-//
-// public void testSessionXAStartMessage() throws Exception
-// {
-// SessionXAStartMessage message = new SessionXAStartMessage(randomXid());
-// AbstractPacketCodec codec = new SessionXAStartMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(message, codec,
-// message.getXid());
-//
-// assertTrue(decodedPacket instanceof SessionXAStartMessage);
-// SessionXAStartMessage decodedMessage = (SessionXAStartMessage) decodedPacket;
-// assertEquals(SESS_XA_START, decodedMessage.getType());
-// assertEquals(message.getXid(), decodedMessage.getXid());
-// }
-//
-// public void testSessionXASuspendMessage() throws Exception
-// {
-// Packet message = new EmptyPacket(SESS_XA_SUSPEND);
-// AbstractPacketCodec codec = PacketCodecFactory
-// .createCodecForEmptyPacket(PacketType.SESS_XA_SUSPEND);
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(message, codec);
-//
-// assertEquals(SESS_XA_SUSPEND, decodedPacket.getType());
-// }
-//
-// public void testSessionRemoveDestinationMessage() throws Exception
-// {
-// SessionRemoveDestinationMessage message = new SessionRemoveDestinationMessage(
-// new SimpleString(randomString()), randomBoolean());
-// AbstractPacketCodec codec = new SessionRemoveDestinationMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(message, codec,
-// message.getAddress(), message.isTemporary());
-//
-// assertTrue(decodedPacket instanceof SessionRemoveDestinationMessage);
-// SessionRemoveDestinationMessage decodedMessage = (SessionRemoveDestinationMessage) decodedPacket;
-// assertEquals(SESS_REMOVE_DESTINATION, decodedMessage.getType());
-// assertEquals(message.getAddress(), decodedMessage.getAddress());
-// assertEquals(message.isTemporary(), decodedMessage.isTemporary());
-// }
-//
-// public void testSessionCreateQueueMessage() throws Exception
-// {
-// SessionCreateQueueMessage message = new SessionCreateQueueMessage(
-// new SimpleString(randomString()), new SimpleString(randomString()),
-// new SimpleString(randomString()), randomBoolean(),
-// randomBoolean());
-// AbstractPacketCodec codec = new SessionCreateQueueMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(message, codec,
-// message.getAddress(), message.getQueueName(), new NullableStringHolder(message.getFilterString()), message.isDurable(), message
-// .isTemporary());
-//
-// assertTrue(decodedPacket instanceof SessionCreateQueueMessage);
-// SessionCreateQueueMessage decodedMessage = (SessionCreateQueueMessage) decodedPacket;
-// assertEquals(SESS_CREATEQUEUE, decodedMessage.getType());
-//
-// assertEquals(message.getAddress(), decodedMessage.getAddress());
-// assertEquals(message.getQueueName(), decodedMessage.getQueueName());
-// assertEquals(message.getFilterString(), decodedMessage.getFilterString());
-// assertEquals(message.isDurable(), decodedMessage.isDurable());
-// assertEquals(message.isTemporary(), decodedMessage.isTemporary());
-//
-// }
-//
-// public void testSessionQueueQueryMessage() throws Exception
-// {
-// SessionQueueQueryMessage message = new SessionQueueQueryMessage(
-// new SimpleString(randomString()));
-// AbstractPacketCodec codec = new SessionQueueQueryMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(message, codec,
-// message.getQueueName());
-//
-// assertTrue(decodedPacket instanceof SessionQueueQueryMessage);
-// SessionQueueQueryMessage decodedMessage = (SessionQueueQueryMessage) decodedPacket;
-// assertEquals(SESS_QUEUEQUERY, decodedMessage.getType());
-// assertEquals(message.getQueueName(), decodedMessage.getQueueName());
-// }
-//
-// public void testSessionQueueQueryResponseMessage() throws Exception
-// {
-// SessionQueueQueryResponseMessage message = new SessionQueueQueryResponseMessage(
-// randomBoolean(), randomBoolean(), randomInt(), randomInt(),
-// randomInt(), new SimpleString(randomString()), new SimpleString(randomString()));
-// AbstractPacketCodec codec = new SessionQueueQueryResponseMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(message, codec,
-// message.isExists(), message.isDurable(), message.isTemporary(),
-// message.getMaxSize(), message.getConsumerCount(), message
-// .getMessageCount(), new NullableStringHolder(message.getFilterString()),
-// new NullableStringHolder(message.getAddress()));
-//
-// assertTrue(decodedPacket instanceof SessionQueueQueryResponseMessage);
-// SessionQueueQueryResponseMessage decodedMessage = (SessionQueueQueryResponseMessage) decodedPacket;
-// assertEquals(SESS_QUEUEQUERY_RESP, decodedMessage.getType());
-//
-// assertEquals(message.isExists(), decodedMessage.isExists());
-// assertEquals(message.isDurable(), decodedMessage.isDurable());
-// assertEquals(message.isTemporary(), decodedMessage.isTemporary());
-// assertEquals(message.getConsumerCount(), decodedMessage
-// .getConsumerCount());
-// assertEquals(message.getMessageCount(), decodedMessage.getMessageCount());
-// assertEquals(message.getFilterString(), decodedMessage.getFilterString());
-// assertEquals(message.getAddress(), decodedMessage.getAddress());
-// }
-//
-// public void testSessionAddAddressMessage() throws Exception
-// {
-// SessionAddDestinationMessage message = new SessionAddDestinationMessage(
-// new SimpleString(randomString()), randomBoolean());
-// AbstractPacketCodec<SessionAddDestinationMessage> codec = new SessionAddDestinationMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(message, codec,
-// message.getAddress(), message.isTemporary());
-//
-// assertTrue(decodedPacket instanceof SessionAddDestinationMessage);
-// SessionAddDestinationMessage decodedMessage = (SessionAddDestinationMessage) decodedPacket;
-// assertEquals(SESS_ADD_DESTINATION, decodedMessage.getType());
-// assertEquals(message.getAddress(), decodedMessage.getAddress());
-// assertEquals(message.isTemporary(), decodedMessage.isTemporary());
-// }
-//
-// public void testSessionBindingQueryMessage() throws Exception
-// {
-// SessionBindingQueryMessage message = new SessionBindingQueryMessage(
-// new SimpleString(randomString()));
-// AbstractPacketCodec codec = new SessionBindingQueryMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(message, codec,
-// message.getAddress());
-//
-// assertTrue(decodedPacket instanceof SessionBindingQueryMessage);
-// SessionBindingQueryMessage decodedMessage = (SessionBindingQueryMessage) decodedPacket;
-// assertEquals(SESS_BINDINGQUERY, decodedMessage.getType());
-//
-// assertEquals(message.getAddress(), decodedMessage.getAddress());
-// }
-//
-// public void testSessionBindingQueryResponseMessage() throws Exception
-// {
-// boolean exists = true;
-// List<SimpleString> queueNames = new ArrayList<SimpleString>();
-// queueNames.add(new SimpleString(randomString()));
-// queueNames.add(new SimpleString(randomString()));
-// queueNames.add(new SimpleString(randomString()));
-// SessionBindingQueryResponseMessage message = new SessionBindingQueryResponseMessage(
-// exists, queueNames);
-// AbstractPacketCodec codec = new SessionBindingQueryResponseMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(message, codec,
-// message.isExists(), message.getQueueNames());
-//
-// assertTrue(decodedPacket instanceof SessionBindingQueryResponseMessage);
-// SessionBindingQueryResponseMessage decodedMessage = (SessionBindingQueryResponseMessage) decodedPacket;
-// assertEquals(SESS_BINDINGQUERY_RESP, decodedMessage.getType());
-// assertEquals(message.isExists(), decodedMessage.isExists());
-//
-// List<SimpleString> decodedNames = decodedMessage.getQueueNames();
-// assertEquals(queueNames.size(), decodedNames.size());
-// for (int i = 0; i < queueNames.size(); i++)
-// {
-// assertEquals(queueNames.get(i), decodedNames.get(i));
-// }
-// }
-//
-// public void testDeleteQueueRequest() throws Exception
-// {
-// SessionDeleteQueueMessage message = new SessionDeleteQueueMessage(
-// new SimpleString(randomString()));
-// AbstractPacketCodec codec = new SessionDeleteQueueMessageCodec();
-//
-// Packet decodedPacket = encodeAndCheckBytesAndDecode(message, codec,
-// message.getQueueName());
-//
-// assertTrue(decodedPacket instanceof SessionDeleteQueueMessage);
-// SessionDeleteQueueMessage decodedMessage = (SessionDeleteQueueMessage) decodedPacket;
-// assertEquals(SESS_DELETE_QUEUE, decodedMessage.getType());
-// assertEquals(message.getQueueName(), decodedMessage.getQueueName());
-// }
- // Package protected ---------------------------------------------
+ public void testNullPacket() throws Exception
+ {
+ Packet packet = new EmptyPacket(NULL);
+ packet.setResponseTargetID(randomLong());
+ packet.setTargetID(randomLong());
+ packet.setExecutorID(randomLong());
- // Protected -----------------------------------------------------
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(packet);
- // Private -------------------------------------------------------
+ assertTrue(decodedPacket instanceof EmptyPacket);
+ assertEquals(NULL, decodedPacket.getType());
+ assertEquals(packet.getResponseTargetID(), decodedPacket
+ .getResponseTargetID());
+ assertEquals(packet.getTargetID(), decodedPacket.getTargetID());
+ assertEquals(packet.getExecutorID(), decodedPacket.getExecutorID());
+ }
- private static class SimpleProtocolEncoderOutput implements
- ProtocolEncoderOutput
+ public void testPing() throws Exception
{
- private Object encodedMessage;
+ Ping ping = new Ping(randomLong());
- public WriteFuture flush()
- {
- return null;
- }
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(ping, ping
+ .getSessionID());
- public void mergeAll()
- {
- }
+ assertTrue(decodedPacket instanceof Ping);
+ Ping decodedPing = (Ping) decodedPacket;
+ assertEquals(PING, decodedPing.getType());
+ assertEquals(ping.getResponseTargetID(), decodedPacket
+ .getResponseTargetID());
+ assertEquals(ping.getTargetID(), decodedPacket.getTargetID());
+ assertEquals(ping.getExecutorID(), decodedPacket.getExecutorID());
+ }
- public void write(Object encodedMessage)
- {
- this.encodedMessage = encodedMessage;
- }
+ public void testPong() throws Exception
+ {
+ Pong pong = new Pong(randomLong(), true);
- public Object getEncodedMessage()
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(pong, pong
+ .getSessionID(), pong.isSessionFailed());
+
+ assertTrue(decodedPacket instanceof Pong);
+ Pong decodedPong = (Pong) decodedPacket;
+ assertEquals(PONG, decodedPong.getType());
+ assertEquals(pong.getSessionID(), decodedPong.getSessionID());
+ assertEquals(pong.isSessionFailed(), decodedPong.isSessionFailed());
+ }
+
+ public void testTextPacket() throws Exception
+ {
+ TextPacket packet = new TextPacket("testTextPacket");
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(packet, packet
+ .getText());
+
+ assertTrue(decodedPacket instanceof TextPacket);
+ TextPacket p = (TextPacket) decodedPacket;
+
+ assertEquals(TEXT, p.getType());
+ assertEquals(packet.getText(), p.getText());
+ }
+
+ public void testBytesPacket() throws Exception
+ {
+ BytesPacket packet = new BytesPacket(RandomUtil.randomBytes());
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(packet, packet
+ .getBytes());
+
+ assertTrue(decodedPacket instanceof BytesPacket);
+ BytesPacket p = (BytesPacket) decodedPacket;
+
+ assertEquals(BYTES, p.getType());
+ assertEqualsByteArrays(packet.getBytes(), p.getBytes());
+ }
+
+ public void testCreateConnectionRequest() throws Exception
+ {
+ int version = randomInt();
+ long remotingSessionID = randomLong();
+ String username = null;
+ String password = null;
+ CreateConnectionRequest request = new CreateConnectionRequest(version,
+ remotingSessionID, username, password);
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(request, version,
+ remotingSessionID, username, password);
+
+ assertTrue(decodedPacket instanceof CreateConnectionRequest);
+ CreateConnectionRequest decodedRequest = (CreateConnectionRequest) decodedPacket;
+
+ assertEquals(CREATECONNECTION, decodedPacket.getType());
+ assertEquals(request.getVersion(), decodedRequest.getVersion());
+ assertEquals(request.getRemotingSessionID(), decodedRequest
+ .getRemotingSessionID());
+ assertEquals(request.getUsername(), decodedRequest.getUsername());
+ assertEquals(request.getPassword(), decodedRequest.getPassword());
+ }
+
+ public void testCreateConnectionResponse() throws Exception
+ {
+ CreateConnectionResponse response = new CreateConnectionResponse(
+ randomLong(), new VersionImpl("test", 1, 2, 3, 4, "xxx"));
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(response, response
+ .getConnectionTargetID(), response.getServerVersion()
+ .getVersionName(), response.getServerVersion().getMajorVersion(),
+ response.getServerVersion().getMinorVersion(), response
+ .getServerVersion().getMicroVersion(), response
+ .getServerVersion().getIncrementingVersion(), response
+ .getServerVersion().getVersionSuffix());
+
+ assertTrue(decodedPacket instanceof CreateConnectionResponse);
+ CreateConnectionResponse decodedResponse = (CreateConnectionResponse) decodedPacket;
+ assertEquals(CREATECONNECTION_RESP, decodedResponse.getType());
+ assertEquals(response.getConnectionTargetID(), decodedResponse
+ .getConnectionTargetID());
+ assertEquals(response.getServerVersion().getFullVersion(),
+ decodedResponse.getServerVersion().getFullVersion());
+ }
+
+ public void testConnectionCreateSessionMessage() throws Exception
+ {
+ ConnectionCreateSessionMessage request = new ConnectionCreateSessionMessage(
+ randomBoolean(), randomBoolean(), randomBoolean());
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(request, request
+ .isXA(), request.isAutoCommitSends(), request.isAutoCommitAcks());
+
+ assertTrue(decodedPacket instanceof ConnectionCreateSessionMessage);
+ ConnectionCreateSessionMessage decodedRequest = (ConnectionCreateSessionMessage) decodedPacket;
+ assertEquals(CONN_CREATESESSION, decodedRequest.getType());
+ assertEquals(request.isXA(), decodedRequest.isXA());
+ assertEquals(request.isAutoCommitSends(), decodedRequest
+ .isAutoCommitSends());
+ assertEquals(request.isAutoCommitAcks(), decodedRequest
+ .isAutoCommitAcks());
+ }
+
+ public void testConnectionCreateSessionResponseMessage() throws Exception
+ {
+ ConnectionCreateSessionResponseMessage response = new ConnectionCreateSessionResponseMessage(
+ randomLong());
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(response, response
+ .getSessionID());
+
+ assertTrue(decodedPacket instanceof ConnectionCreateSessionResponseMessage);
+ ConnectionCreateSessionResponseMessage decodedResponse = (ConnectionCreateSessionResponseMessage) decodedPacket;
+ assertEquals(CONN_CREATESESSION_RESP, decodedResponse.getType());
+ assertEquals(response.getSessionID(), decodedResponse.getSessionID());
+ }
+
+ /*
+ * public void testProducerSendMessage() throws Exception { Message msg = new
+ * MessageImpl((byte)1, false, 1212212L, 761276712L, (byte)1);
+ * msg.setDestination(new SimpleString("blah")); ProducerSendMessage packet =
+ * new ProducerSendMessage(msg); MessagingBuffer buff =
+ * packet.getMessage().encode();
+ *
+ * Message msg2 = new MessageImpl(); msg2.decode(buff);
+ *
+ *
+ * byte[] messageBytes = buff.array(); byte[] data = new byte[buff.limit()];
+ * System.arraycopy(messageBytes, 0, data, 0, buff.limit());
+ * AbstractPacketCodec codec = new ProducerSendMessageCodec();
+ *
+ * Packet decodedPacket = encodeAndCheckBytesAndDecode(packet, data);
+ *
+ * assertTrue(decodedPacket instanceof ProducerSendMessage);
+ * ProducerSendMessage decodedMessage = (ProducerSendMessage) decodedPacket;
+ * assertEquals(PacketType.PROD_SEND, decodedPacket.getType());
+ * assertEquals(packet.getMessage().getMessageID(), decodedMessage
+ * .getMessage().getMessageID()); }
+ */
+
+ public void testSessionCreateConsumerMessage() throws Exception
+ {
+ SimpleString destination = new SimpleString(
+ "queue.SessionCreateConsumerMessage");
+ SessionCreateConsumerMessage request = new SessionCreateConsumerMessage(
+ randomLong(), destination, new SimpleString("color = 'red'"),
+ false, false, randomInt(), randomInt());
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(request, request
+ .getClientTargetID(), request.getQueueName(),
+ new NullableStringHolder(request.getFilterString()), request
+ .isNoLocal(), request.isAutoDeleteQueue(), request
+ .getWindowSize(), request.getMaxRate());
+
+ assertTrue(decodedPacket instanceof SessionCreateConsumerMessage);
+ SessionCreateConsumerMessage decodedRequest = (SessionCreateConsumerMessage) decodedPacket;
+ assertEquals(SESS_CREATECONSUMER, decodedRequest.getType());
+ assertEquals(request.getClientTargetID(), decodedRequest
+ .getClientTargetID());
+ assertEquals(request.getQueueName(), decodedRequest.getQueueName());
+ assertEquals(request.getFilterString(), decodedRequest.getFilterString());
+ assertEquals(request.isNoLocal(), decodedRequest.isNoLocal());
+ assertEquals(request.isAutoDeleteQueue(), decodedRequest
+ .isAutoDeleteQueue());
+ assertEquals(request.getWindowSize(), decodedRequest.getWindowSize());
+ assertEquals(request.getMaxRate(), decodedRequest.getMaxRate());
+ }
+
+ public void testSessionCreateConsumerResponseMessage() throws Exception
+ {
+ SessionCreateConsumerResponseMessage response = new SessionCreateConsumerResponseMessage(
+ randomLong(), randomInt());
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(response, response
+ .getConsumerTargetID(), response.getWindowSize());
+
+ assertTrue(decodedPacket instanceof SessionCreateConsumerResponseMessage);
+ SessionCreateConsumerResponseMessage decodedResponse = (SessionCreateConsumerResponseMessage) decodedPacket;
+ assertEquals(SESS_CREATECONSUMER_RESP, decodedResponse.getType());
+
+ assertEquals(response.getConsumerTargetID(), decodedResponse
+ .getConsumerTargetID());
+ assertEquals(response.getWindowSize(), decodedResponse.getWindowSize());
+ }
+
+ public void testSessionCreateProducerMessage() throws Exception
+ {
+ SimpleString destination = new SimpleString(
+ "queue.testSessionCreateProducerMessage");
+ int windowSize = randomInt();
+ int maxRate = randomInt();
+ SessionCreateProducerMessage request = new SessionCreateProducerMessage(
+ randomLong(), destination, windowSize, maxRate);
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(request, request
+ .getClientTargetID(),
+ new NullableStringHolder(request.getAddress()), request
+ .getWindowSize(), request.getMaxRate());
+
+ assertTrue(decodedPacket instanceof SessionCreateProducerMessage);
+ SessionCreateProducerMessage decodedRequest = (SessionCreateProducerMessage) decodedPacket;
+ assertEquals(SESS_CREATEPRODUCER, decodedRequest.getType());
+ assertEquals(request.getClientTargetID(), decodedRequest
+ .getClientTargetID());
+ assertEquals(request.getAddress(), decodedRequest.getAddress());
+ assertEquals(request.getWindowSize(), decodedRequest.getWindowSize());
+ assertEquals(request.getMaxRate(), decodedRequest.getMaxRate());
+ }
+
+ public void testSessionCreateProducerResponseMessage() throws Exception
+ {
+ SessionCreateProducerResponseMessage response = new SessionCreateProducerResponseMessage(
+ randomLong(), randomInt(), randomInt());
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(response, response
+ .getProducerTargetID(), response.getWindowSize(), response
+ .getMaxRate());
+
+ assertTrue(decodedPacket instanceof SessionCreateProducerResponseMessage);
+ SessionCreateProducerResponseMessage decodedResponse = (SessionCreateProducerResponseMessage) decodedPacket;
+ assertEquals(SESS_CREATEPRODUCER_RESP, decodedResponse.getType());
+ assertEquals(response.getProducerTargetID(), decodedResponse
+ .getProducerTargetID());
+ assertEquals(response.getWindowSize(), decodedResponse.getWindowSize());
+ assertEquals(response.getMaxRate(), decodedResponse.getMaxRate());
+ }
+
+ public void testStartConnectionMessage() throws Exception
+ {
+ Packet packet = new EmptyPacket(CONN_START);
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(packet);
+
+ assertEquals(CONN_START, decodedPacket.getType());
+ }
+
+ public void testStopConnectionMessage() throws Exception
+ {
+ Packet packet = new EmptyPacket(CONN_STOP);
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(packet);
+
+ assertEquals(CONN_STOP, decodedPacket.getType());
+ }
+
+ public void testConsumerFlowTokenMessage() throws Exception
+ {
+ ConsumerFlowTokenMessage message = new ConsumerFlowTokenMessage(
+ randomInt());
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(message, message
+ .getTokens());
+
+ assertTrue(decodedPacket instanceof ConsumerFlowTokenMessage);
+ ConsumerFlowTokenMessage decodedMessage = (ConsumerFlowTokenMessage) decodedPacket;
+ assertEquals(CONS_FLOWTOKEN, decodedMessage.getType());
+ assertEquals(message.getTokens(), decodedMessage.getTokens());
+ }
+
+ public void testProducerReceiveTokensMessage() throws Exception
+ {
+ ProducerReceiveTokensMessage message = new ProducerReceiveTokensMessage(
+ randomInt());
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(message, message
+ .getTokens());
+
+ assertTrue(decodedPacket instanceof ProducerReceiveTokensMessage);
+ ProducerReceiveTokensMessage decodedMessage = (ProducerReceiveTokensMessage) decodedPacket;
+ assertEquals(PROD_RECEIVETOKENS, decodedMessage.getType());
+ assertEquals(message.getTokens(), decodedMessage.getTokens());
+ }
+
+ /*
+ * public void testReceiveMessage() throws Exception { Message msg = new
+ * MessageImpl(); ReceiveMessage message = new ReceiveMessage(msg);
+ * AbstractPacketCodec codec = new ReceiveMessageCodec();
+ *
+ * byte[] messageBytes = message.getMessage().encode().array();
+ *
+ * Packet decodedPacket = encodeAndCheckBytesAndDecode(message,
+ * messageBytes);
+ *
+ * assertTrue(decodedPacket instanceof ReceiveMessage); ReceiveMessage
+ * decodedMessage = (ReceiveMessage) decodedPacket; assertEquals(RECEIVE_MSG,
+ * decodedMessage.getType());
+ * assertEquals(message.getMessage().getMessageID(), decodedMessage
+ * .getMessage().getMessageID()); }
+ */
+
+ public void testSessionAcknowledgeMessage() throws Exception
+ {
+ SessionAcknowledgeMessage message = new SessionAcknowledgeMessage(
+ randomLong(), randomBoolean());
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(message, message
+ .getDeliveryID(), message.isAllUpTo());
+
+ assertTrue(decodedPacket instanceof SessionAcknowledgeMessage);
+ SessionAcknowledgeMessage decodedMessage = (SessionAcknowledgeMessage) decodedPacket;
+ assertEquals(SESS_ACKNOWLEDGE, decodedMessage.getType());
+ assertEquals(message.getDeliveryID(), decodedMessage.getDeliveryID());
+ assertEquals(message.isAllUpTo(), decodedMessage.isAllUpTo());
+ }
+
+ public void testSessionCancelMessage() throws Exception
+ {
+ SessionCancelMessage message = new SessionCancelMessage(randomLong(),
+ randomBoolean());
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(message, message
+ .getDeliveryID(), message.isExpired());
+
+ assertTrue(decodedPacket instanceof SessionCancelMessage);
+ SessionCancelMessage decodedMessage = (SessionCancelMessage) decodedPacket;
+ assertEquals(SESS_CANCEL, decodedMessage.getType());
+ assertEquals(message.getDeliveryID(), decodedMessage.getDeliveryID());
+ assertEquals(message.isExpired(), decodedMessage.isExpired());
+ }
+
+ public void testSessionCommitMessage() throws Exception
+ {
+ Packet message = new EmptyPacket(SESS_COMMIT);
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(message);
+
+ assertEquals(SESS_COMMIT, decodedPacket.getType());
+ }
+
+ public void testSessionRollbackMessage() throws Exception
+ {
+ Packet message = new EmptyPacket(SESS_ROLLBACK);
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(message);
+
+ assertEquals(SESS_ROLLBACK, decodedPacket.getType());
+ }
+
+ public void testSessionRecoverMessage() throws Exception
+ {
+ Packet message = new EmptyPacket(SESS_RECOVER);
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(message);
+
+ assertEquals(SESS_RECOVER, decodedPacket.getType());
+ }
+
+ public void testCloseMessage() throws Exception
+ {
+ Packet message = new EmptyPacket(CLOSE);
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(message);
+
+ assertEquals(CLOSE, decodedPacket.getType());
+ }
+
+ public void testSessionCreateBrowserMessage() throws Exception
+ {
+ SimpleString destination = new SimpleString(
+ "queue.testCreateBrowserRequest");
+ SessionCreateBrowserMessage request = new SessionCreateBrowserMessage(
+ destination, new SimpleString("color = 'red'"));
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(request, request
+ .getQueueName(),
+ new NullableStringHolder(request.getFilterString()));
+
+ assertTrue(decodedPacket instanceof SessionCreateBrowserMessage);
+ SessionCreateBrowserMessage decodedRequest = (SessionCreateBrowserMessage) decodedPacket;
+ assertEquals(SESS_CREATEBROWSER, decodedRequest.getType());
+ assertEquals(request.getQueueName(), decodedRequest.getQueueName());
+ assertEquals(request.getFilterString(), decodedRequest.getFilterString());
+ }
+
+ public void testSessionCreateBrowserResponseMessage() throws Exception
+ {
+ SessionCreateBrowserResponseMessage response = new SessionCreateBrowserResponseMessage(
+ randomLong());
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(response, response
+ .getBrowserTargetID());
+
+ assertTrue(decodedPacket instanceof SessionCreateBrowserResponseMessage);
+ SessionCreateBrowserResponseMessage decodedResponse = (SessionCreateBrowserResponseMessage) decodedPacket;
+ assertEquals(SESS_CREATEBROWSER_RESP, decodedResponse.getType());
+ assertEquals(response.getBrowserTargetID(), decodedResponse
+ .getBrowserTargetID());
+ }
+
+ public void testBrowserResetMessage() throws Exception
+ {
+ Packet message = new EmptyPacket(SESS_BROWSER_RESET);
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(message);
+
+ assertEquals(SESS_BROWSER_RESET, decodedPacket.getType());
+ }
+
+ public void testBrowserHasNextMessageRequest() throws Exception
+ {
+ Packet request = new EmptyPacket(SESS_BROWSER_HASNEXTMESSAGE);
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(request);
+
+ assertEquals(SESS_BROWSER_HASNEXTMESSAGE, decodedPacket.getType());
+ }
+
+ public void testSessionBrowserHasNextMessageResponseMessage()
+ throws Exception
+ {
+ SessionBrowserHasNextMessageResponseMessage response = new SessionBrowserHasNextMessageResponseMessage(
+ randomBoolean());
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(response, response
+ .hasNext());
+
+ assertTrue(decodedPacket instanceof SessionBrowserHasNextMessageResponseMessage);
+ SessionBrowserHasNextMessageResponseMessage decodedResponse = (SessionBrowserHasNextMessageResponseMessage) decodedPacket;
+ assertEquals(SESS_BROWSER_HASNEXTMESSAGE_RESP, decodedResponse.getType());
+ assertEquals(response.hasNext(), decodedResponse.hasNext());
+ }
+
+ public void testBrowserNextMessageRequest() throws Exception
+ {
+ Packet request = new EmptyPacket(SESS_BROWSER_NEXTMESSAGE);
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(request);
+
+ assertEquals(SESS_BROWSER_NEXTMESSAGE, decodedPacket.getType());
+ }
+
+ public void testSessionXACommitMessage() throws Exception
+ {
+ SessionXACommitMessage message = new SessionXACommitMessage(randomXid(),
+ randomBoolean());
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(message, message
+ .getXid(), message.isOnePhase());
+
+ assertTrue(decodedPacket instanceof SessionXACommitMessage);
+ SessionXACommitMessage decodedMessage = (SessionXACommitMessage) decodedPacket;
+ assertEquals(SESS_XA_COMMIT, decodedMessage.getType());
+ assertEquals(message.getXid(), decodedMessage.getXid());
+ assertEquals(message.isOnePhase(), decodedMessage.isOnePhase());
+ }
+
+ public void testSessionXAEndMessage() throws Exception
+ {
+ SessionXAEndMessage message = new SessionXAEndMessage(randomXid(),
+ randomBoolean());
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(message, message
+ .getXid(), message.isFailed());
+
+ assertTrue(decodedPacket instanceof SessionXAEndMessage);
+ SessionXAEndMessage decodedMessage = (SessionXAEndMessage) decodedPacket;
+ assertEquals(SESS_XA_END, decodedMessage.getType());
+ assertEquals(message.getXid(), decodedMessage.getXid());
+ assertEquals(message.isFailed(), decodedMessage.isFailed());
+ }
+
+ public void testSessionXAForgetMessage() throws Exception
+ {
+ SessionXAForgetMessage message = new SessionXAForgetMessage(randomXid());
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(message, message
+ .getXid());
+
+ assertTrue(decodedPacket instanceof SessionXAForgetMessage);
+ SessionXAForgetMessage decodedMessage = (SessionXAForgetMessage) decodedPacket;
+ assertEquals(SESS_XA_FORGET, decodedMessage.getType());
+ assertEquals(message.getXid(), decodedMessage.getXid());
+ }
+
+ public void testSessionXAGetInDoubtXidsMessage() throws Exception
+ {
+ Packet request = new EmptyPacket(SESS_XA_INDOUBT_XIDS);
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(request);
+
+ assertEquals(SESS_XA_INDOUBT_XIDS, decodedPacket.getType());
+ }
+
+ public void testSessionXAGetInDoubtXidsResponseMessage() throws Exception
+ {
+ final int numXids = 10;
+ List<Xid> xids = new ArrayList<Xid>();
+ for (int i = 0; i < numXids; i++)
{
- return this.encodedMessage;
+ xids.add(randomXid());
}
+ SessionXAGetInDoubtXidsResponseMessage message = new SessionXAGetInDoubtXidsResponseMessage(
+ xids);
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(message, xids);
+
+ assertTrue(decodedPacket instanceof SessionXAGetInDoubtXidsResponseMessage);
+ SessionXAGetInDoubtXidsResponseMessage decodedMessage = (SessionXAGetInDoubtXidsResponseMessage) decodedPacket;
+ assertEquals(SESS_XA_INDOUBT_XIDS_RESP, decodedMessage.getType());
+
+ assertSameXids(message.getXids(), decodedMessage.getXids());
}
- private static class SimpleProtocolDencoderOutput implements
+ public void testSessionXAGetTimeoutMessage() throws Exception
+ {
+ Packet message = new EmptyPacket(SESS_XA_GET_TIMEOUT);
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(message);
+
+ assertEquals(SESS_XA_GET_TIMEOUT, decodedPacket.getType());
+ }
+
+ public void testSessionXAGetTimeoutResponseMessage() throws Exception
+ {
+ SessionXAGetTimeoutResponseMessage message = new SessionXAGetTimeoutResponseMessage(
+ randomInt());
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(message, message
+ .getTimeoutSeconds());
+
+ assertTrue(decodedPacket instanceof SessionXAGetTimeoutResponseMessage);
+ SessionXAGetTimeoutResponseMessage decodedMessage = (SessionXAGetTimeoutResponseMessage) decodedPacket;
+ assertEquals(SESS_XA_GET_TIMEOUT_RESP, decodedMessage.getType());
+ assertEquals(message.getTimeoutSeconds(), decodedMessage
+ .getTimeoutSeconds());
+ }
+
+ public void testSessionXAJoinMessage() throws Exception
+ {
+ SessionXAJoinMessage message = new SessionXAJoinMessage(randomXid());
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(message, message
+ .getXid());
+
+ assertTrue(decodedPacket instanceof SessionXAJoinMessage);
+ SessionXAJoinMessage decodedMessage = (SessionXAJoinMessage) decodedPacket;
+ assertEquals(SESS_XA_JOIN, decodedMessage.getType());
+ assertEquals(message.getXid(), decodedMessage.getXid());
+ }
+
+ public void testSessionXAPrepareMessage() throws Exception
+ {
+ SessionXAPrepareMessage message = new SessionXAPrepareMessage(randomXid());
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(message, message
+ .getXid());
+
+ assertTrue(decodedPacket instanceof SessionXAPrepareMessage);
+ SessionXAPrepareMessage decodedMessage = (SessionXAPrepareMessage) decodedPacket;
+ assertEquals(SESS_XA_PREPARE, decodedMessage.getType());
+ assertEquals(message.getXid(), decodedMessage.getXid());
+ }
+
+ public void testSessionXAResponseMessage() throws Exception
+ {
+ SessionXAResponseMessage message = new SessionXAResponseMessage(
+ randomBoolean(), randomInt(), randomString());
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(message, message
+ .isError(), message.getResponseCode(), message.getMessage());
+
+ assertTrue(decodedPacket instanceof SessionXAResponseMessage);
+ SessionXAResponseMessage decodedMessage = (SessionXAResponseMessage) decodedPacket;
+ assertEquals(SESS_XA_RESP, decodedMessage.getType());
+ assertEquals(message.isError(), decodedMessage.isError());
+ assertEquals(message.getResponseCode(), decodedMessage.getResponseCode());
+ assertEquals(message.getMessage(), decodedMessage.getMessage());
+ }
+
+ public void testSessionXAResumeMessage() throws Exception
+ {
+ SessionXAResumeMessage message = new SessionXAResumeMessage(randomXid());
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(message, message
+ .getXid());
+
+ assertTrue(decodedPacket instanceof SessionXAResumeMessage);
+ SessionXAResumeMessage decodedMessage = (SessionXAResumeMessage) decodedPacket;
+ assertEquals(SESS_XA_RESUME, decodedMessage.getType());
+ assertEquals(message.getXid(), decodedMessage.getXid());
+ }
+
+ public void testSessionXARollbackMessage() throws Exception
+ {
+ SessionXARollbackMessage message = new SessionXARollbackMessage(
+ randomXid());
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(message, message
+ .getXid());
+
+ assertTrue(decodedPacket instanceof SessionXARollbackMessage);
+ SessionXARollbackMessage decodedMessage = (SessionXARollbackMessage) decodedPacket;
+ assertEquals(SESS_XA_ROLLBACK, decodedMessage.getType());
+ assertEquals(message.getXid(), decodedMessage.getXid());
+ }
+
+ public void testSessionXASetTimeoutMessage() throws Exception
+ {
+ SessionXASetTimeoutMessage message = new SessionXASetTimeoutMessage(
+ randomInt());
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(message, message
+ .getTimeoutSeconds());
+
+ assertTrue(decodedPacket instanceof SessionXASetTimeoutMessage);
+ SessionXASetTimeoutMessage decodedMessage = (SessionXASetTimeoutMessage) decodedPacket;
+ assertEquals(SESS_XA_SET_TIMEOUT, decodedMessage.getType());
+ assertEquals(message.getTimeoutSeconds(), decodedMessage
+ .getTimeoutSeconds());
+ }
+
+ public void testSessionXASetTimeoutResponseMessage() throws Exception
+ {
+ SessionXASetTimeoutResponseMessage message = new SessionXASetTimeoutResponseMessage(
+ randomBoolean());
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(message, message
+ .isOK());
+
+ assertTrue(decodedPacket instanceof SessionXASetTimeoutResponseMessage);
+ SessionXASetTimeoutResponseMessage decodedMessage = (SessionXASetTimeoutResponseMessage) decodedPacket;
+ assertEquals(SESS_XA_SET_TIMEOUT_RESP, decodedMessage.getType());
+ assertEquals(message.isOK(), decodedMessage.isOK());
+ }
+
+ public void testSessionXAStartMessage() throws Exception
+ {
+ SessionXAStartMessage message = new SessionXAStartMessage(randomXid());
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(message, message
+ .getXid());
+
+ assertTrue(decodedPacket instanceof SessionXAStartMessage);
+ SessionXAStartMessage decodedMessage = (SessionXAStartMessage) decodedPacket;
+ assertEquals(SESS_XA_START, decodedMessage.getType());
+ assertEquals(message.getXid(), decodedMessage.getXid());
+ }
+
+ public void testSessionXASuspendMessage() throws Exception
+ {
+ Packet message = new EmptyPacket(SESS_XA_SUSPEND);
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(message);
+
+ assertEquals(SESS_XA_SUSPEND, decodedPacket.getType());
+ }
+
+ public void testSessionRemoveDestinationMessage() throws Exception
+ {
+ SessionRemoveDestinationMessage message = new SessionRemoveDestinationMessage(
+ new SimpleString(randomString()), randomBoolean());
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(message, message
+ .getAddress(), message.isTemporary());
+
+ assertTrue(decodedPacket instanceof SessionRemoveDestinationMessage);
+ SessionRemoveDestinationMessage decodedMessage = (SessionRemoveDestinationMessage) decodedPacket;
+ assertEquals(SESS_REMOVE_DESTINATION, decodedMessage.getType());
+ assertEquals(message.getAddress(), decodedMessage.getAddress());
+ assertEquals(message.isTemporary(), decodedMessage.isTemporary());
+ }
+
+ public void testSessionCreateQueueMessage() throws Exception
+ {
+ SessionCreateQueueMessage message = new SessionCreateQueueMessage(
+ new SimpleString(randomString()), new SimpleString(randomString()),
+ new SimpleString(randomString()), randomBoolean(),
+ randomBoolean());
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(message,
+ message.getAddress(), message.getQueueName(), new
+ NullableStringHolder(message.getFilterString()), message.isDurable(),
+ message
+ .isTemporary());
+
+ assertTrue(decodedPacket instanceof SessionCreateQueueMessage);
+ SessionCreateQueueMessage decodedMessage = (SessionCreateQueueMessage)
+ decodedPacket;
+ assertEquals(SESS_CREATEQUEUE, decodedMessage.getType());
+
+ assertEquals(message.getAddress(), decodedMessage.getAddress());
+ assertEquals(message.getQueueName(), decodedMessage.getQueueName());
+ assertEquals(message.getFilterString(), decodedMessage.getFilterString());
+ assertEquals(message.isDurable(), decodedMessage.isDurable());
+ assertEquals(message.isTemporary(), decodedMessage.isTemporary());
+
+ }
+
+ public void testSessionQueueQueryMessage() throws Exception
+ {
+ SessionQueueQueryMessage message = new SessionQueueQueryMessage(
+ new SimpleString(randomString()));
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(message,
+ message.getQueueName());
+
+ assertTrue(decodedPacket instanceof SessionQueueQueryMessage);
+ SessionQueueQueryMessage decodedMessage = (SessionQueueQueryMessage)
+ decodedPacket;
+ assertEquals(SESS_QUEUEQUERY, decodedMessage.getType());
+ assertEquals(message.getQueueName(), decodedMessage.getQueueName());
+ }
+
+ public void testSessionQueueQueryResponseMessage() throws Exception
+ {
+ SessionQueueQueryResponseMessage message = new
+ SessionQueueQueryResponseMessage(
+ randomBoolean(), randomBoolean(), randomInt(), randomInt(),
+ randomInt(), new SimpleString(randomString()), new
+ SimpleString(randomString()));
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(message,
+ message.isExists(), message.isDurable(), message.isTemporary(),
+ message.getMaxSize(), message.getConsumerCount(), message
+ .getMessageCount(), new NullableStringHolder(message.getFilterString()),
+ new NullableStringHolder(message.getAddress()));
+
+ assertTrue(decodedPacket instanceof SessionQueueQueryResponseMessage);
+ SessionQueueQueryResponseMessage decodedMessage =
+ (SessionQueueQueryResponseMessage) decodedPacket;
+ assertEquals(SESS_QUEUEQUERY_RESP, decodedMessage.getType());
+
+ assertEquals(message.isExists(), decodedMessage.isExists());
+ assertEquals(message.isDurable(), decodedMessage.isDurable());
+ assertEquals(message.isTemporary(), decodedMessage.isTemporary());
+ assertEquals(message.getConsumerCount(), decodedMessage
+ .getConsumerCount());
+ assertEquals(message.getMessageCount(), decodedMessage.getMessageCount());
+ assertEquals(message.getFilterString(), decodedMessage.getFilterString());
+ assertEquals(message.getAddress(), decodedMessage.getAddress());
+ }
+
+ public void testSessionAddAddressMessage() throws Exception
+ {
+ SessionAddDestinationMessage message = new SessionAddDestinationMessage(
+ new SimpleString(randomString()), randomBoolean());
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(message,
+ message.getAddress(), message.isTemporary());
+
+ assertTrue(decodedPacket instanceof SessionAddDestinationMessage);
+ SessionAddDestinationMessage decodedMessage =
+ (SessionAddDestinationMessage) decodedPacket;
+ assertEquals(SESS_ADD_DESTINATION, decodedMessage.getType());
+ assertEquals(message.getAddress(), decodedMessage.getAddress());
+ assertEquals(message.isTemporary(), decodedMessage.isTemporary());
+ }
+
+ public void testSessionBindingQueryMessage() throws Exception
+ {
+ SessionBindingQueryMessage message = new SessionBindingQueryMessage(
+ new SimpleString(randomString()));
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(message,
+ message.getAddress());
+
+ assertTrue(decodedPacket instanceof SessionBindingQueryMessage);
+ SessionBindingQueryMessage decodedMessage = (SessionBindingQueryMessage)
+ decodedPacket;
+ assertEquals(SESS_BINDINGQUERY, decodedMessage.getType());
+
+ assertEquals(message.getAddress(), decodedMessage.getAddress());
+ }
+
+ public void testSessionBindingQueryResponseMessage() throws Exception
+ {
+ boolean exists = true;
+ List<SimpleString> queueNames = new ArrayList<SimpleString>();
+ queueNames.add(new SimpleString(randomString()));
+ queueNames.add(new SimpleString(randomString()));
+ queueNames.add(new SimpleString(randomString()));
+ SessionBindingQueryResponseMessage message = new
+ SessionBindingQueryResponseMessage(
+ exists, queueNames);
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(message,
+ message.isExists(), message.getQueueNames());
+
+ assertTrue(decodedPacket instanceof SessionBindingQueryResponseMessage);
+ SessionBindingQueryResponseMessage decodedMessage =
+ (SessionBindingQueryResponseMessage) decodedPacket;
+ assertEquals(SESS_BINDINGQUERY_RESP, decodedMessage.getType());
+ assertEquals(message.isExists(), decodedMessage.isExists());
+
+ List<SimpleString> decodedNames = decodedMessage.getQueueNames();
+ assertEquals(queueNames.size(), decodedNames.size());
+ for (int i = 0; i < queueNames.size(); i++)
+ {
+ assertEquals(queueNames.get(i), decodedNames.get(i));
+ }
+ }
+
+ public void testDeleteQueueRequest() throws Exception
+ {
+ SessionDeleteQueueMessage message = new SessionDeleteQueueMessage(
+ new SimpleString(randomString()));
+
+ Packet decodedPacket = encodeAndCheckBytesAndDecode(message,
+ message.getQueueName());
+
+ assertTrue(decodedPacket instanceof SessionDeleteQueueMessage);
+ SessionDeleteQueueMessage decodedMessage = (SessionDeleteQueueMessage)
+ decodedPacket;
+ assertEquals(SESS_DELETE_QUEUE, decodedMessage.getType());
+ assertEquals(message.getQueueName(), decodedMessage.getQueueName());
+ }
+
+ // Package protected ---------------------------------------------
+
+ // Protected -----------------------------------------------------
+
+ // Private -------------------------------------------------------
+
+ private static class SimpleProtocolDecoderOutput implements
ProtocolDecoderOutput
{
private Object message;
@@ -1129,10 +1137,11 @@
}
}
-
+
private class NullableStringHolder
{
public SimpleString str;
+
NullableStringHolder(SimpleString str)
{
this.str = str;
More information about the jboss-cvs-commits
mailing list