/* * Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com * The software in this package is published under the terms of the CPAL v1.0 * license, a copy of which has been included with this distribution in the * LICENSE.txt file. */ package org.mule.tck.core.util.queue; import static junit.framework.Assert.assertNotSame; import static org.junit.Assert.assertEquals; import org.mule.runtime.core.util.queue.Queue; import org.mule.runtime.core.util.queue.QueueManager; import org.mule.runtime.core.util.queue.QueueSession; public class QueueTestComponent { public void testDisposal(QueueManager mgr, boolean transactional) throws Exception { final String queueName = "myQueue"; mgr.start(); QueueSession session = mgr.getQueueSession(); if (transactional) { session.begin(); } Queue queue = mgr.getQueueSession().getQueue(queueName); this.assertQueueDisposal(mgr, queue, transactional ? session : null, queueName); } private void assertQueueDisposal(QueueManager mgr, Queue queue, QueueSession session, String queueName) throws Exception { queue.put("some value"); assertEquals(1, queue.size()); if (session != null) { session.commit(); } queue.dispose(); Queue queue2 = mgr.getQueueSession().getQueue(queueName); assertNotSame(queue, queue2); assertEquals(0, queue2.size()); } }