Author: jlmonteiro Date: Mon May 26 11:22:32 2014 New Revision: 1597563 URL: http://svn.apache.org/r1597563 Log: allowing to reuse Mockito integration with our JUnit rules without advanced hack
Modified: tomee/tomee/trunk/container/openejb-junit/src/main/java/org/apache/openejb/junit/jee/EJBContainerRule.java tomee/tomee/trunk/container/openejb-junit/src/main/java/org/apache/openejb/junit/jee/statement/InjectStatement.java Modified: tomee/tomee/trunk/container/openejb-junit/src/main/java/org/apache/openejb/junit/jee/EJBContainerRule.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-junit/src/main/java/org/apache/openejb/junit/jee/EJBContainerRule.java?rev=1597563&r1=1597562&r2=1597563&view=diff ============================================================================== --- tomee/tomee/trunk/container/openejb-junit/src/main/java/org/apache/openejb/junit/jee/EJBContainerRule.java (original) +++ tomee/tomee/trunk/container/openejb-junit/src/main/java/org/apache/openejb/junit/jee/EJBContainerRule.java Mon May 26 11:22:32 2014 @@ -52,7 +52,8 @@ public class EJBContainerRule implements } else { startingStatement = new StartingStatement(new Statement() { @Override // this class avoids a dependency loop issue, we have it actually but that's just to make a nicer API - public void evaluate() throws Throwable { + public void evaluate() throws Throwable + { // don't use testClass since it can be another instance that the test one new InjectStatement(base, test.getClass(), test, startingStatement).evaluate(); } @@ -75,7 +76,8 @@ public class EJBContainerRule implements try { return type.cast( SystemInstance.get().getComponent(ContainerSystem.class) - .getJNDIContext().lookup("java:" + Assembler.OPENEJB_RESOURCE_JNDI_PREFIX + name)); + .getJNDIContext().lookup("java:" + Assembler.OPENEJB_RESOURCE_JNDI_PREFIX + name) + ); } catch (final NamingException e) { throw new OpenEJBRuntimeException(e); } Modified: tomee/tomee/trunk/container/openejb-junit/src/main/java/org/apache/openejb/junit/jee/statement/InjectStatement.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-junit/src/main/java/org/apache/openejb/junit/jee/statement/InjectStatement.java?rev=1597563&r1=1597562&r2=1597563&view=diff ============================================================================== --- tomee/tomee/trunk/container/openejb-junit/src/main/java/org/apache/openejb/junit/jee/statement/InjectStatement.java (original) +++ tomee/tomee/trunk/container/openejb-junit/src/main/java/org/apache/openejb/junit/jee/statement/InjectStatement.java Mon May 26 11:22:32 2014 @@ -18,7 +18,10 @@ package org.apache.openejb.junit.jee.sta import org.apache.openejb.Injector; import org.apache.openejb.OpenEJBException; +import org.apache.openejb.injection.FallbackPropertyInjector; import org.apache.openejb.junit.jee.resources.TestResource; +import org.apache.openejb.loader.SystemInstance; +import org.apache.openejb.testing.TestInstance; import org.junit.runners.model.Statement; import javax.ejb.embeddable.EJBContainer; @@ -66,6 +69,8 @@ public class InjectStatement extends Sta } } if (test != null) { + SystemInstance.get().setComponent(TestInstance.class, new TestInstance(test.getClass(), test)); + SystemInstance.get().getComponent(FallbackPropertyInjector.class); // force eager init (MockitoInjector initialize eveything in its constructor) Injector.inject(test); } if (statement != null) {