package org.objectweb.jtests.jms.conform.session;
import org.objectweb.jtests.jms.framework.*;
import junit.framework.*;
import javax.jms.*;
public class QueueSessionTest extends PTPTestCase {
public void testRollbackRececeivedMessage() {
try {
senderConnection.stop();
senderSession = senderConnection.createQueueSession(true, 0);
assertEquals(true, senderSession.getTransacted());
sender = senderSession.createSender(senderQueue);
senderConnection.start();
receiverConnection.stop();
receiverSession = receiverConnection.createQueueSession(true,0);
assertEquals(true, receiverSession.getTransacted());
receiver = receiverSession.createReceiver(receiverQueue);
receiverConnection.start();
TextMessage message = senderSession.createTextMessage();
message.setText("testRollbackRececeivedMessage");
sender.send(message);
senderSession.commit();
Message m = receiver.receiveNoWait();
assertTrue(m != null);
assertTrue(m instanceof TextMessage);
TextMessage msg = (TextMessage)m;
assertEquals("testRollbackRececeivedMessage", msg.getText());
assertEquals(false, msg.getJMSRedelivered());
receiverSession.rollback();
m = receiver.receiveNoWait();
assertTrue(m != null);
assertTrue(m instanceof TextMessage);
msg = (TextMessage)m;
assertEquals("testRollbackRececeivedMessage", msg.getText());
assertEquals(true, msg.getJMSRedelivered());
} catch (Exception e) {
fail(e);
}
}
public void testCreateBrowser_2() {
try {
QueueBrowser browser = senderSession.createBrowser(senderQueue,
"definitely not a message selector!");
fail("Should throw a javax.jms.InvalidSelectorException.\n");
} catch (InvalidSelectorException e) {
} catch (JMSException e) {
fail("Should throw a javax.jms.InvalidSelectorException, not a "+ e);
}
}
public void testCreateBrowser_1() {
try {
QueueBrowser browser = senderSession.createBrowser((Queue)null);
fail("Should throw a javax.jms.InvalidDestinationException.\n");
} catch (InvalidDestinationException e) {
} catch (JMSException e) {
fail("Should throw a javax.jms.InvalidDestinationException, not a "+ e);
}
}
public void testCreateReceiver_2() {
try {
receiver = senderSession.createReceiver(senderQueue,
"definitely not a message selector!");
fail("Should throw a javax.jms.InvalidSelectorException.\n");
} catch (InvalidSelectorException e) {
} catch (JMSException e) {
fail("Should throw a javax.jms.InvalidSelectorException, not a "+ e);
}
}
public void testCreateReceiver_1() {
try {
receiver = senderSession.createReceiver((Queue)null);
fail("Should throw a javax.jms.InvalidDestinationException.\n");
} catch (InvalidDestinationException e) {
} catch (JMSException e) {
fail("Should throw a javax.jms.InvalidDestinationException, not a "+ e);
}
}
public static Test suite() {
return new TestSuite(QueueSessionTest.class);
}
public QueueSessionTest(String name) {
super(name);
}
}