X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=support%2Fcdi%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fcdi%2FSimpleInjectorTest.java;h=7c4bd11297225477778b773942c1d80007c10325;hb=d76c1c5b113e82739f8e0ae92288ba120d747111;hp=44c2eda222aa1ef8aec671f52c59dbbdbacdfcc8;hpb=9677f89d382a116a118178f86228231417d90891;p=utils diff --git a/support/cdi/src/test/java/org/wamblee/cdi/SimpleInjectorTest.java b/support/cdi/src/test/java/org/wamblee/cdi/SimpleInjectorTest.java index 44c2eda2..7c4bd112 100644 --- a/support/cdi/src/test/java/org/wamblee/cdi/SimpleInjectorTest.java +++ b/support/cdi/src/test/java/org/wamblee/cdi/SimpleInjectorTest.java @@ -18,36 +18,46 @@ package org.wamblee.cdi; import static junit.framework.Assert.*; import static org.mockito.Mockito.*; +import javax.enterprise.context.RequestScoped; +import javax.inject.Inject; import javax.naming.InitialContext; import org.junit.After; import org.junit.Before; import org.junit.Test; -import org.wamblee.support.jndi.StubInitialContextFactory; +import org.wamblee.inject.Injector; +import org.wamblee.inject.InjectorFactory; +import org.wamblee.inject.InjectorBuilder; +import org.wamblee.inject.SimpleInjector; +import org.wamblee.test.jndi.StubInitialContextFactory; -public class SimpleInjectorTest { +public class SimpleInjectorTest extends BaseTestFixture { private BeanManagerSetup setup; @Before public void setUp() throws Exception { + super.setUp(); setup = new BeanManagerSetup(); setup.initialize(); StubInitialContextFactory.register(); InitialContext ctx = new InitialContext(); ctx.bind(BeanManagerLookup.BEAN_MANAGER_JNDI, setup.getBeanManager()); + MySingleton.reset(); } @After - public void tearDown() { + public void tearDown() throws Exception { StubInitialContextFactory.unregister(); setup.shutdown(); + super.tearDown(); } @Test public void testGetSingleton() { MyPojo pojo = new MyPojo(); - SimpleInjector injector = new SimpleInjector(); + SimpleInjector injector = new SimpleInjector(new CdiInjectorFactory( + BeanManagerLookup.lookup())); injector.inject(pojo); MySingleton obj = pojo.getSingleton(); @@ -73,12 +83,38 @@ public class SimpleInjectorTest { @Override public void inject(Object aComponent) { MyPojo pojo2 = (MyPojo) aComponent; - pojo2.setSingleton(singleton); + pojo2.setSingleton(singleton); } }); - + injector.inject(pojo); - // verify the custom injector was called. + // verify the custom injector was called. assertSame(singleton, pojo.getSingleton()); } + + @RequestScoped + public static class Y { + + } + + public static class X { + @Inject + private Y y; + + } + + @Test + public void testInjectStorage() throws Exception { + X x = new X(); + InjectorBuilder.setInjectorFactory(null); + InjectorBuilder.getInjector().inject(x); + } + + @Test + public void testInjectStorage2() { + X x = new X(); + InjectorBuilder.setInjectorFactory(null); + InjectorBuilder.getInjector().inject(x); + } + }