killbill-aplcache

Details

diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/TestApiBase.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/TestApiBase.java
index c798678..155e1ed 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/TestApiBase.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/TestApiBase.java
@@ -33,13 +33,13 @@ import org.joda.time.DateTime;
 import org.joda.time.DateTimeZone;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.testng.Assert;
 import org.testng.annotations.AfterClass;
 import org.testng.annotations.AfterMethod;
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.BeforeMethod;
 
 import com.google.inject.Injector;
+import com.google.inject.Key;
 import com.ning.billing.account.api.AccountData;
 import com.ning.billing.catalog.DefaultCatalogService;
 import com.ning.billing.catalog.api.BillingPeriod;
@@ -69,13 +69,13 @@ import com.ning.billing.entitlement.events.EntitlementEvent;
 import com.ning.billing.entitlement.events.phase.PhaseEvent;
 import com.ning.billing.entitlement.events.user.ApiEvent;
 import com.ning.billing.entitlement.events.user.ApiEventType;
-import com.ning.billing.util.bus.Bus.EventBusException;
 import com.ning.billing.util.bus.BusService;
 import com.ning.billing.util.bus.DefaultBusService;
 import com.ning.billing.util.callcontext.CallContext;
 import com.ning.billing.util.callcontext.TestCallContext;
 import com.ning.billing.util.clock.Clock;
 import com.ning.billing.util.clock.ClockMock;
+import com.ning.billing.util.glue.RealImplementation;
 
 
 public abstract class TestApiBase {
@@ -135,7 +135,8 @@ public abstract class TestApiBase {
         final Injector g = getInjector();
 
         entitlementService = g.getInstance(EntitlementService.class);
-        entitlementApi = g.getInstance(EntitlementUserApi.class);
+        EntitlementUserApi entApi = (EntitlementUserApi)g.getInstance(Key.get(EntitlementUserApi.class, RealImplementation.class));
+        entitlementApi = entApi;
         billingApi = g.getInstance(ChargeThruApi.class);
         migrationApi = g.getInstance(EntitlementMigrationApi.class);
         catalogService = g.getInstance(CatalogService.class);
diff --git a/junction/src/main/java/com/ning/billing/junction/glue/JunctionModule.java b/junction/src/main/java/com/ning/billing/junction/glue/JunctionModule.java
index 82a3295..a44e757 100644
--- a/junction/src/main/java/com/ning/billing/junction/glue/JunctionModule.java
+++ b/junction/src/main/java/com/ning/billing/junction/glue/JunctionModule.java
@@ -26,6 +26,8 @@ import com.ning.billing.entitlement.api.user.EntitlementUserApi;
 import com.ning.billing.junction.api.BillingApi;
 import com.ning.billing.junction.api.BlockingApi;
 import com.ning.billing.junction.api.blocking.DefaultBlockingApi;
+import com.ning.billing.junction.block.BlockingChecker;
+import com.ning.billing.junction.block.DefaultBlockingChecker;
 import com.ning.billing.junction.dao.BlockingStateDao;
 import com.ning.billing.junction.dao.BlockingStateSqlDao;
 import com.ning.billing.junction.plumbing.api.BlockingAccountUserApi;
@@ -42,12 +44,18 @@ public class JunctionModule extends AbstractModule {
         installAccountUserApi();
         installBillingApi();
         installEntitlementUserApi();
+        installBlockingChecker();
         
         // Internal
         installBlockingCalculator();
         installBlockingStateDao();
      }
 
+    protected void installBlockingChecker() {
+        bind(BlockingChecker.class).to(DefaultBlockingChecker.class).asEagerSingleton();
+        
+    }
+
     protected void installBillingApi() {
         bind(BillingApi.class).to(DefaultBillingApi.class).asEagerSingleton();
     }
diff --git a/junction/src/test/java/com/ning/billing/junction/api/blocking/TestBlockingApi.java b/junction/src/test/java/com/ning/billing/junction/api/blocking/TestBlockingApi.java
index 2870af4..e26d4a5 100644
--- a/junction/src/test/java/com/ning/billing/junction/api/blocking/TestBlockingApi.java
+++ b/junction/src/test/java/com/ning/billing/junction/api/blocking/TestBlockingApi.java
@@ -42,9 +42,10 @@ import com.ning.billing.junction.api.BlockingState;
 import com.ning.billing.junction.dao.TestBlockingDao;
 import com.ning.billing.mock.BrainDeadProxyFactory;
 import com.ning.billing.mock.BrainDeadProxyFactory.ZombieControl;
+import com.ning.billing.mock.glue.MockEntitlementModule;
 import com.ning.billing.util.clock.ClockMock;
 
-@Guice(modules = { MockModule.class })
+@Guice(modules = { MockModule.class, MockEntitlementModule.class })
 public class TestBlockingApi {
     private Logger log = LoggerFactory.getLogger(TestBlockingDao.class);
     
diff --git a/junction/src/test/java/com/ning/billing/junction/dao/TestBlockingDao.java b/junction/src/test/java/com/ning/billing/junction/dao/TestBlockingDao.java
index b9be954..6652fc4 100644
--- a/junction/src/test/java/com/ning/billing/junction/dao/TestBlockingDao.java
+++ b/junction/src/test/java/com/ning/billing/junction/dao/TestBlockingDao.java
@@ -38,9 +38,10 @@ import com.ning.billing.junction.api.BlockingState;
 import com.ning.billing.junction.api.blocking.DefaultBlockingState;
 import com.ning.billing.mock.BrainDeadProxyFactory;
 import com.ning.billing.mock.BrainDeadProxyFactory.ZombieControl;
+import com.ning.billing.mock.glue.MockEntitlementModule;
 import com.ning.billing.util.clock.ClockMock;
 
-@Guice(modules = {MockModule.class})
+@Guice(modules = {MockModule.class, MockEntitlementModule.class})
 public class TestBlockingDao {
     private Logger log = LoggerFactory.getLogger(TestBlockingDao.class);
     
diff --git a/junction/src/test/java/com/ning/billing/junction/MockModule.java b/junction/src/test/java/com/ning/billing/junction/MockModule.java
index 1b95389..3054f1f 100644
--- a/junction/src/test/java/com/ning/billing/junction/MockModule.java
+++ b/junction/src/test/java/com/ning/billing/junction/MockModule.java
@@ -19,14 +19,11 @@ package com.ning.billing.junction;
 import org.skife.config.ConfigurationObjectFactory;
 import org.skife.jdbi.v2.IDBI;
 
-import com.google.inject.AbstractModule;
 import com.ning.billing.catalog.glue.CatalogModule;
 import com.ning.billing.dbi.DBIProvider;
 import com.ning.billing.dbi.DbiConfig;
 import com.ning.billing.dbi.MysqlTestingHelper;
-import com.ning.billing.junction.api.BillingApi;
 import com.ning.billing.junction.glue.JunctionModule;
-import com.ning.billing.junction.plumbing.billing.DefaultBillingApi;
 import com.ning.billing.util.callcontext.CallContextFactory;
 import com.ning.billing.util.callcontext.DefaultCallContextFactory;
 import com.ning.billing.util.clock.Clock;
@@ -67,4 +64,7 @@ public class MockModule extends JunctionModule {
         
     }
 
+    
+    
+
 }
diff --git a/util/src/main/java/com/ning/billing/util/glue/RealImplementation.java b/util/src/main/java/com/ning/billing/util/glue/RealImplementation.java
index 773a9ea..4ccd871 100644
--- a/util/src/main/java/com/ning/billing/util/glue/RealImplementation.java
+++ b/util/src/main/java/com/ning/billing/util/glue/RealImplementation.java
@@ -22,6 +22,7 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
 import static java.lang.annotation.ElementType.PARAMETER;
 import static java.lang.annotation.ElementType.FIELD;
 import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.LOCAL_VARIABLE;
 
 import com.google.inject.BindingAnnotation;
 
@@ -32,7 +33,7 @@ import com.google.inject.BindingAnnotation;
  * is let unannotated.
  *
  */
-@BindingAnnotation @Target({ FIELD, PARAMETER, METHOD }) @Retention(RUNTIME)
+@BindingAnnotation @Target({ FIELD, PARAMETER, METHOD,LOCAL_VARIABLE }) @Retention(RUNTIME)
 public @interface RealImplementation {
 
 }