X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=support%2Fcdi%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fcdi%2FSimpleInjectorTest.java;h=7c61b2ffa6d70500325d658fdc69cd122e69a8ba;hb=9b768a517d7fffa74b978431ee7a5947ec078798;hp=61a124a0a577a073a52accf5bb3158e89b9dc0ab;hpb=efe818bf40c144c19d25c4df283996667de84cf4;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 61a124a0..7c61b2ff 100644 --- a/support/cdi/src/test/java/org/wamblee/cdi/SimpleInjectorTest.java +++ b/support/cdi/src/test/java/org/wamblee/cdi/SimpleInjectorTest.java @@ -18,19 +18,27 @@ 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.cdi.BeanManagerSetup; +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(); @@ -40,15 +48,17 @@ public class SimpleInjectorTest { } @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(); @@ -74,12 +84,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); + } + }