blob: 7c9a0ecd561913b5d4cb426e5f29bd97112a4619 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
//
// This source code implements specifications defined by the Java
// Community Process. In order to remain compliant with the specification
// DO NOT add / change / or delete method signatures!
//
package javax.jms;
import com.mockobjects.jms.MockMessage;
import com.mockobjects.jms.MockQueue;
import com.mockobjects.jms.MockQueueReceiver;
import com.mockobjects.jms.MockQueueSender;
import com.mockobjects.jms.MockQueueSession;
import com.mockobjects.jms.MockTemporaryQueue;
import com.mockobjects.jms.MockTextMessage;
import junit.framework.TestCase;
/**
* @version $Rev$ $Date$
*/
public class QueueRequestorTest extends TestCase {
public void testConstructorNullQueue() {
MockQueue queue = new MockQueue();
try {
new QueueRequestor(null, queue);
fail();
} catch (JMSException ex) {
fail("JMSException should not have been thrown.");
} catch (NullPointerException ex) {
// success.
}
queue.verify();
}
public void testConstructorSessionNull() {
MockQueueSession session = new MockQueueSession();
try {
new QueueRequestor(session, null);
fail();
} catch (JMSException ex) {
// success
}
session.verify();
}
public void testConstructorSessionQueue() {
MockQueue queue = new MockQueue();
MockQueueReceiver receiver = new MockQueueReceiver();
MockQueueSender sender = new MockQueueSender();
MockQueueSession session = new MockQueueSession();
MockTemporaryQueue tempQueue = new MockTemporaryQueue();
session.setupReceiver(receiver);
session.setupSender(sender);
session.setupTemporaryQueue(tempQueue);
try {
new QueueRequestor(session, queue);
// success
} catch (JMSException ex) {
fail();
}
queue.verify();
receiver.verify();
sender.verify();
session.verify();
tempQueue.verify();
}
public void testRequestNull() {
MockQueue queue = new MockQueue();
MockQueueReceiver receiver = new MockQueueReceiver();
MockQueueSender sender = new MockQueueSender();
MockQueueSession session = new MockQueueSession();
MockTemporaryQueue tempQueue = new MockTemporaryQueue();
session.setupReceiver(receiver);
session.setupSender(sender);
session.setupTemporaryQueue(tempQueue);
try {
QueueRequestor requestor = new QueueRequestor(session, queue);
requestor.request(null);
fail();
} catch (JMSException ex) {
fail("JMSException should not have been thrown.");
} catch (NullPointerException ex) {
// success
}
queue.verify();
receiver.verify();
sender.verify();
session.verify();
tempQueue.verify();
}
public void testRequestMessage() {
MockMessage reply = new MockTextMessage();
MockMessage request = new MockTextMessage();
MockQueue queue = new MockQueue();
MockQueueReceiver receiver = new MockQueueReceiver();
MockQueueSender sender = new MockQueueSender();
MockQueueSession session = new MockQueueSession();
MockTemporaryQueue tempQueue = new MockTemporaryQueue();
request.setExpectedJMSReplyTo(tempQueue);
receiver.setExpectedReceiveCalls(1);
receiver.setupReceivedMessage(reply);
sender.setExpectedSendCalls(1);
session.setupReceiver(receiver);
session.setupSender(sender);
session.setupTemporaryQueue(tempQueue);
try {
QueueRequestor requestor = new QueueRequestor(session, queue);
Message jmsReply = requestor.request(request);
assertEquals(jmsReply, reply);
} catch (JMSException ex) {
fail("JMSException should not have been thrown.");
}
reply.verify();
request.verify();
queue.verify();
receiver.verify();
sender.verify();
session.verify();
tempQueue.verify();
}
public void testClose() {
MockQueue queue = new MockQueue();
MockQueueReceiver receiver = new MockQueueReceiver();
MockQueueSender sender = new MockQueueSender();
MockQueueSession session = new MockQueueSession();
MockTemporaryQueue tempQueue = new MockTemporaryQueue();
session.setExpectedCloseCalls(1);
session.setupReceiver(receiver);
session.setupSender(sender);
session.setupTemporaryQueue(tempQueue);
tempQueue.setExpectedDeleteCalls(1);
try {
QueueRequestor requestor = new QueueRequestor(session, queue);
requestor.close();
} catch (JMSException ex) {
fail();
}
queue.verify();
receiver.verify();
sender.verify();
session.verify();
tempQueue.verify();
}
}