package org.objectweb.jtests.jms.conform.queue;
import org.objectweb.jtests.jms.framework.*;
import junit.framework.*;
import javax.jms.*;
import java.util.Enumeration;
public class QueueBrowserTest extends PTPTestCase {
protected QueueBrowser receiverBrowser;
protected QueueBrowser senderBrowser ;
public void testSenderBrowser() {
try {
TextMessage message_1 = senderSession.createTextMessage();
message_1.setText("testBrowser:message_1");
TextMessage message_2 = senderSession.createTextMessage();
message_2.setText("testBrowser:message_2");
sender.send(message_1);
sender.send(message_2);
Enumeration enumeration = senderBrowser.getEnumeration();
int count = 0;
while (enumeration.hasMoreElements()) {
count ++;
Object obj = enumeration.nextElement();
assertTrue(obj instanceof TextMessage);
TextMessage msg = (TextMessage)obj;
assertTrue(msg.getText().startsWith("testBrowser:message_"));
}
assertEquals(2, count);
Message m = receiver.receive();
assertTrue (m instanceof TextMessage);
TextMessage msg = (TextMessage)m;
assertEquals("testBrowser:message_1", msg.getText());
m = receiver.receive();
assertTrue (m instanceof TextMessage);
msg = (TextMessage)m;
assertEquals("testBrowser:message_2", msg.getText());
enumeration = receiverBrowser.getEnumeration();
assertTrue(!enumeration.hasMoreElements());
} catch (JMSException e) {
fail(e);
}
}
public void testBrowserWithMessageSelector() {
try {
senderBrowser = senderSession.createBrowser(senderQueue, "pi = 3.14159");
TextMessage message_1 = senderSession.createTextMessage();
message_1.setText("testBrowserWithMessageSelector:message_1");
TextMessage message_2 = senderSession.createTextMessage();
message_2.setDoubleProperty("pi", 3.14159);
message_2.setText("testBrowserWithMessageSelector:message_2");
sender.send(message_1);
sender.send(message_2);
Enumeration enumeration = senderBrowser.getEnumeration();
int count = 0;
while (enumeration.hasMoreElements()) {
count ++;
Object obj = enumeration.nextElement();
assertTrue(obj instanceof TextMessage);
TextMessage msg = (TextMessage)obj;
assertEquals("testBrowserWithMessageSelector:message_2", msg.getText());
}
assertEquals(1, count);
} catch (JMSException e) {
fail(e);
}
}
public void setUp() {
try {
super.setUp();
receiverBrowser = receiverSession.createBrowser(receiverQueue);
senderBrowser = senderSession.createBrowser(senderQueue);
} catch (JMSException e) {
e.printStackTrace();
}
}
public void tearDown() {
try {
receiverBrowser.close();
senderBrowser.close();
super.tearDown();
} catch (JMSException e) {
e.printStackTrace();
} finally {
receiverBrowser = null;
senderBrowser = null;
}
}
public static Test suite() {
return new TestSuite(QueueBrowserTest.class);
}
public QueueBrowserTest(String name) {
super(name);
}
}