package org.skyscreamer.nevado.jms.facilities; import org.junit.Assert; import org.junit.Test; import org.skyscreamer.nevado.jms.AbstractJMSTest; import org.skyscreamer.nevado.jms.NevadoConnectionFactory; import javax.jms.*; /** * Tests for Client ID (JMS 1.1, Sec. 4.3.2) * * @author Carter Page <carter@skyscreamer.org> */ public class ClientIDTest extends AbstractJMSTest { private static final String TEST_CLIENT_ID = "testClientID"; @Test public void testClientID1() throws JMSException { Connection conn = createConnection(getConnectionFactory()); Assert.assertNull(conn.getClientID()); conn.setClientID(TEST_CLIENT_ID); Assert.assertEquals(TEST_CLIENT_ID, conn.getClientID()); } @Test(expected = javax.jms.IllegalStateException.class) public void testClientID2() throws JMSException { Connection conn = createConnection(getConnectionFactory()); Assert.assertNull(conn.getClientID()); conn.setClientID(TEST_CLIENT_ID); conn.setClientID("somethingelse"); } @Test public void testClientID3() throws JMSException { NevadoConnectionFactory connectionFactory = new NevadoConnectionFactory(_sqsConnectorFactory); connectionFactory.setClientID(TEST_CLIENT_ID); Connection conn = createConnection(connectionFactory); Assert.assertEquals(TEST_CLIENT_ID, conn.getClientID()); } @Test public void testClientID4() throws JMSException { Connection conn1 = createConnection(getConnectionFactory()); Connection conn2 = createConnection(getConnectionFactory()); conn1.setClientID(TEST_CLIENT_ID); conn1.close(); conn2.setClientID(TEST_CLIENT_ID); } @Test(expected = javax.jms.IllegalStateException.class) public void testClientID5() throws JMSException { Connection conn = createConnection(getConnectionFactory()); Assert.assertNull(conn.getClientID()); conn.createSession(false, Session.AUTO_ACKNOWLEDGE); conn.setClientID(TEST_CLIENT_ID); } @Test(expected = InvalidClientIDException.class) public void testBadClientID() throws JMSException { Connection conn = createConnection(getConnectionFactory()); conn.setClientID("[here's a bad id]"); } }