package com.mcafee;
import static org.junit.Assert.*;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
/**
*
* @author Gursev Singh Kalra @ McAfee, Inc.
*
*/
public class JmsInitialContextFactoryTest {
private JmsInitialContextFactory contextFactory;
@Before
public void setUp() throws Exception {
//TODO: right now this is hard tied to ActiveMQ. But will be modified to
//run generic tests when the tool adds support for multiple providers
contextFactory = new JmsInitialContextFactory("org.apache.activemq.jndi.ActiveMQInitialContextFactory", "tcp://localhost:61616");
}
@After
public void tearDown() throws Exception {
}
@Test
public void testJmsInitialContextFactoryExists() throws JmsDiggerException {
// make sure that ActiveMQ instance is running
InitialContext ctx = contextFactory.getInitialContext();
assertNotNull(ctx);
}
@Test (expected=JmsDiggerException.class)
public void testJmsInitialContextFactoryDoesNotExist() throws JmsDiggerException {
contextFactory = new JmsInitialContextFactory("org.apache.activemq.jndi.ActiveMQInitialContextFactoryyyyy", "tcp://localhost:61616");
contextFactory.getInitialContext();
}
@Test
public void testAddQueueWhenEditableIsFalse() throws JmsDiggerException {
InitialContext ctx = contextFactory.getInitialContext();
contextFactory.addQueue("bangbang", "bang");
try {
assertFalse(ctx.getEnvironment().containsKey("bangbang"));
} catch (NamingException e) {
e.printStackTrace();
}
}
@Test
public void testAddRawPropertyToEnv() throws JmsDiggerException {
contextFactory.addRawPropertyToEnv("bangbang", "bang");
InitialContext ctx = contextFactory.getInitialContext();
try {
assertNotNull(ctx.getEnvironment().containsKey("bangbang"));
} catch (NamingException e) {
e.printStackTrace();
}
}
}