summaryrefslogtreecommitdiff
path: root/java/systests/src
diff options
context:
space:
mode:
authorMartin Ritchie <ritchiem@apache.org>2010-05-07 15:11:25 +0000
committerMartin Ritchie <ritchiem@apache.org>2010-05-07 15:11:25 +0000
commitef0fd0d8a919a759bcff64a026e3abd7a71db1e7 (patch)
tree12dd919efc3de2070f8968d0f2dfd5f9843ef9e2 /java/systests/src
parent9f929ea511a0bd9336f0ae4dd0ddca878509aae3 (diff)
downloadqpid-python-ef0fd0d8a919a759bcff64a026e3abd7a71db1e7.tar.gz
QPID-1447 : Add initial test for SlowConsumers
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@942106 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/systests/src')
-rw-r--r--java/systests/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java69
1 files changed, 68 insertions, 1 deletions
diff --git a/java/systests/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java b/java/systests/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java
index f3f978239b..17546b4d39 100644
--- a/java/systests/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java
+++ b/java/systests/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java
@@ -42,6 +42,11 @@ import javax.jms.MessageConsumer;
import javax.jms.MessageProducer;
import javax.jms.Queue;
import javax.jms.Session;
+import javax.jms.BytesMessage;
+import javax.jms.MapMessage;
+import javax.jms.TextMessage;
+import javax.jms.ObjectMessage;
+import javax.jms.StreamMessage;
import javax.naming.InitialContext;
import javax.naming.NamingException;
@@ -91,6 +96,8 @@ public class QpidTestCase extends TestCase
private XMLConfiguration _testVirtualhosts = new XMLConfiguration();
protected static final String INDEX = "index";
+ protected static final String CONTENT = "content";
+
/**
* Some tests are excluded when the property test.excludes is set to true.
@@ -216,6 +223,22 @@ public class QpidTestCase extends TestCase
/** Map to hold test defined environment properties */
private Map<String, String> _env;
+ /** Ensure our messages have some sort of size */
+ protected static final int DEFAULT_MESSAGE_SIZE = 1024;
+
+ /** Size to create our message*/
+ private int _messageSize = DEFAULT_MESSAGE_SIZE;
+ /** Type of message*/
+ protected enum MessageType
+ {
+ BYTES,
+ MAP,
+ OBJECT,
+ STREAM,
+ TEXT
+ }
+ private MessageType _messageType = MessageType.TEXT;
+
public QpidTestCase(String name)
{
super(name);
@@ -1264,13 +1287,57 @@ public class QpidTestCase extends TestCase
public Message createNextMessage(Session session, int msgCount) throws JMSException
{
- Message message = session.createMessage();
+ Message message = createMessage(session, _messageSize);
message.setIntProperty(INDEX, msgCount);
return message;
}
+ public Message createMessage(Session session, int messageSize) throws JMSException
+ {
+ String payload = new String(new byte[messageSize]);
+
+ Message message;
+
+ switch (_messageType)
+ {
+ case BYTES:
+ message = session.createBytesMessage();
+ ((BytesMessage) message).writeUTF(payload);
+ break;
+ case MAP:
+ message = session.createMapMessage();
+ ((MapMessage) message).setString(CONTENT, payload);
+ break;
+ default: // To keep the compiler happy
+ case TEXT:
+ message = session.createTextMessage();
+ ((TextMessage) message).setText(payload);
+ break;
+ case OBJECT:
+ message = session.createObjectMessage();
+ ((ObjectMessage) message).setObject(payload);
+ break;
+ case STREAM:
+ message = session.createStreamMessage();
+ ((StreamMessage) message).writeString(payload);
+ break;
+ }
+
+ return message;
+ }
+
+ protected int getMessageSize()
+ {
+ return _messageSize;
+ }
+
+ protected void setMessageSize(int byteSize)
+ {
+ _messageSize = byteSize;
+ }
+
public ConnectionURL getConnectionURL() throws NamingException
{
return getConnectionFactory().getConnectionURL();