blob: f35ac5563742333cf67d2c8c548a13f32c2322a9 [file] [log] [blame]
package org.apache.struts2.cdi;
import org.jboss.weld.environment.se.StartMain;
import static org.junit.Assert.*;
import org.jboss.weld.environment.se.WeldContainer;
import org.junit.Before;
import org.junit.Test;
import org.springframework.mock.jndi.SimpleNamingContextBuilder;
import javax.enterprise.inject.spi.InjectionTarget;
/**
* CdiObjectFactoryTest.
*/
public class CdiObjectFactoryTest {
@Before
public void setUp() throws Exception {
SimpleNamingContextBuilder builder = new SimpleNamingContextBuilder();
builder.activate();
StartMain sm = new StartMain(new String[0]);
WeldContainer weldContainer = sm.go();
builder.bind(CdiObjectFactory.CDI_JNDIKEY_BEANMANAGER_COMP, weldContainer.getBeanManager());
}
@Test
public void testFindBeanManager() throws Exception {
assertNotNull(new CdiObjectFactory().findBeanManager());
}
@Test
public void testGetBean() throws Exception {
final CdiObjectFactory cdiObjectFactory = new CdiObjectFactory();
FooConsumer fooConsumer = (FooConsumer) cdiObjectFactory.buildBean(FooConsumer.class.getCanonicalName(), null, false);
assertNotNull(fooConsumer);
assertNotNull(fooConsumer.fooService);
}
@Test public void testGetInjectionTarget() throws Exception {
final CdiObjectFactory cdiObjectFactory = new CdiObjectFactory();
final InjectionTarget<?> injectionTarget = cdiObjectFactory.getInjectionTarget(FooConsumer.class);
assertNotNull(injectionTarget);
assertTrue(cdiObjectFactory.injectionTargetCache.containsKey(FooConsumer.class));
assertSame(cdiObjectFactory.getInjectionTarget(FooConsumer.class), injectionTarget);
}
}