killbill-memoizeit
Changes
entitlement/src/main/java/com/ning/billing/entitlement/engine/core/ApiEventProcessorBase.java 2(+1 -1)
entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCancelMemory.java 3(+2 -1)
entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlanMemory.java 3(+2 -1)
entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlanSql.java 3(+2 -1)
entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCreateMemory.java 3(+2 -1)
entitlement/src/test/java/com/ning/billing/entitlement/engine/core/ApiEventProcessorMemoryMock.java 2(+1 -1)
entitlement/src/test/java/com/ning/billing/entitlement/engine/dao/EntitlementDaoMemoryMock.java 4(+1 -3)
Details
diff --git a/api/src/main/java/com/ning/billing/config/ICatalogConfig.java b/api/src/main/java/com/ning/billing/config/ICatalogConfig.java
index 88fbefb..29699fe 100644
--- a/api/src/main/java/com/ning/billing/config/ICatalogConfig.java
+++ b/api/src/main/java/com/ning/billing/config/ICatalogConfig.java
@@ -17,10 +17,12 @@
package com.ning.billing.config;
import org.skife.config.Config;
+import org.skife.config.Default;
-public interface ICatalogConfig extends IKillbillConfig {
+public interface ICatalogConfig {
@Config("killbill.catalog.uri")
+ @Default("jar:///com/ning/billing/irs/catalog/NingCatalog.xml")
String getCatalogURI();
-
+
}
diff --git a/api/src/main/java/com/ning/billing/entitlement/IEntitlementSystem.java b/api/src/main/java/com/ning/billing/entitlement/IEntitlementSystem.java
index e6528b8..27881f5 100644
--- a/api/src/main/java/com/ning/billing/entitlement/IEntitlementSystem.java
+++ b/api/src/main/java/com/ning/billing/entitlement/IEntitlementSystem.java
@@ -16,13 +16,8 @@
package com.ning.billing.entitlement;
-import java.io.InputStream;
+import com.ning.billing.lifecycle.IService;
-public interface IEntitlementSystem {
+public interface IEntitlementSystem extends IService {
- public void initialize();
-
- public void start();
-
- public void stop();
}
diff --git a/api/src/main/java/com/ning/billing/lifecycle/IService.java b/api/src/main/java/com/ning/billing/lifecycle/IService.java
index 83c67db..2e4a27f 100644
--- a/api/src/main/java/com/ning/billing/lifecycle/IService.java
+++ b/api/src/main/java/com/ning/billing/lifecycle/IService.java
@@ -16,9 +16,6 @@
package com.ning.billing.lifecycle;
-import com.ning.billing.config.IBusinessConfig;
-import com.ning.billing.config.IKillbillConfig;
-
public interface IService {
public static class ServiceException extends Exception {
@@ -44,13 +41,17 @@ public interface IService {
/**
*
- * @param businessConfig business configuration
- * @param killbillConfig service detail configuration
+ * @return the name of the service
+ */
+ public String getName();
+
+ /**
+ *
* @throws ServiceException
*
* Initialize the service prior to start
*/
- public void initialize(IBusinessConfig businessConfig, IKillbillConfig killbillConfig)
+ public void initialize()
throws ServiceException;
/**
diff --git a/catalog/src/main/java/com/ning/billing/catalog/CatalogService.java b/catalog/src/main/java/com/ning/billing/catalog/CatalogService.java
index ef64c0e..28b9725 100644
--- a/catalog/src/main/java/com/ning/billing/catalog/CatalogService.java
+++ b/catalog/src/main/java/com/ning/billing/catalog/CatalogService.java
@@ -16,61 +16,74 @@
package com.ning.billing.catalog;
+import java.io.File;
import java.net.URI;
+import com.google.inject.Inject;
import com.google.inject.Provider;
import com.ning.billing.catalog.api.ICatalog;
import com.ning.billing.catalog.api.ICatalogService;
import com.ning.billing.catalog.io.CatalogLoader;
-import com.ning.billing.config.IBusinessConfig;
import com.ning.billing.config.ICatalogConfig;
-import com.ning.billing.config.IKillbillConfig;
import com.ning.billing.lifecycle.IService;
public class CatalogService implements IService, Provider<ICatalog>, ICatalogService {
-
- private static ICatalog catalog;
-
- @Override
- public void initialize(IBusinessConfig businessConfig,
- IKillbillConfig killbillConfig) throws ServiceException {
- if(killbillConfig instanceof ICatalogConfig) {
- ICatalogConfig catalogConfig = (ICatalogConfig) killbillConfig;
- try {
- catalog = CatalogLoader.getCatalogFromURI(new URI(catalogConfig.getCatalogURI()));
- } catch (Exception e) {
- throw new ServiceException(e);
- }
- } else {
- throw new ServiceException("Configuration does not include catalog configuration.");
- }
- }
-
- @Override
- public void start() throws ServiceException {
- // Intentionally blank
-
- }
-
- @Override
- public void stop() throws ServiceException {
- // Intentionally blank
-
- }
-
- /* (non-Javadoc)
- * @see com.ning.billing.catalog.ICatlogService#getCatalog()
- */
- @Override
- public ICatalog getCatalog() {
- return catalog;
- }
-
-
- // Should be able to use bind(ICatalog.class).toProvider(CatalogService.class);
- @Override
- public ICatalog get() {
- return catalog;
- }
+
+
+ private static final String CATALOG_SERVICE_NAME = "catalog-service";
+
+ private final ICatalogConfig config;
+
+ private static ICatalog catalog;
+
+
+ @Inject
+ public CatalogService(ICatalogConfig config) {
+ this.config = config;
+ System.out.println(config.getCatalogURI());
+ }
+
+ @Override
+ public void initialize() throws ServiceException {
+ try {
+ catalog = CatalogLoader.getCatalogFromProperty(config.getCatalogURI());
+ } catch (Exception e) {
+ throw new ServiceException(e);
+ }
+ }
+
+ @Override
+ public String getName() {
+ return CATALOG_SERVICE_NAME;
+ }
+
+
+ @Override
+ public void start() throws ServiceException {
+ // Intentionally blank
+
+ }
+
+ @Override
+ public void stop() throws ServiceException {
+ // Intentionally blank
+
+ }
+
+ /* (non-Javadoc)
+ * @see com.ning.billing.catalog.ICatlogService#getCatalog()
+ */
+ @Override
+ public ICatalog getCatalog() {
+ return catalog;
+ }
+
+
+ // Should be able to use bind(ICatalog.class).toProvider(CatalogService.class);
+ @Override
+ public ICatalog get() {
+ return catalog;
+ }
+
}
diff --git a/catalog/src/main/java/com/ning/billing/catalog/CatalogUserApi.java b/catalog/src/main/java/com/ning/billing/catalog/CatalogUserApi.java
index fc61853..a2ff0b0 100644
--- a/catalog/src/main/java/com/ning/billing/catalog/CatalogUserApi.java
+++ b/catalog/src/main/java/com/ning/billing/catalog/CatalogUserApi.java
@@ -26,7 +26,7 @@ public class CatalogUserApi implements ICatalogUserApi {
@Override
public ICatalog getCatalog(final String catalogName) {
- String name = catalogName;
+ String name = catalogName;
try {
return CatalogLoader.getCatalogFromURI(new File(name).toURI());
} catch (Exception e) {
diff --git a/catalog/src/main/java/com/ning/billing/catalog/io/CatalogLoader.java b/catalog/src/main/java/com/ning/billing/catalog/io/CatalogLoader.java
index 30ca5e7..f612413 100644
--- a/catalog/src/main/java/com/ning/billing/catalog/io/CatalogLoader.java
+++ b/catalog/src/main/java/com/ning/billing/catalog/io/CatalogLoader.java
@@ -16,9 +16,11 @@
package com.ning.billing.catalog.io;
+import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
+import java.net.URISyntaxException;
import java.net.URL;
import javax.xml.XMLConstants;
@@ -41,15 +43,29 @@ public class CatalogLoader {
private static final String URI_SCHEME_FOR_CLASSPATH = "jar";
public static Logger log = LoggerFactory.getLogger(CatalogLoader.class);
- public static Catalog getCatalogFromURI(URI uri) throws SAXException, InvalidConfigException, JAXBException, IOException, TransformerException {
- String scheme = uri.getScheme();
+
+
+ public static Catalog getCatalogFromProperty(String property) throws Exception {
+ if (property == null) {
+ return null;
+ }
+ URI uri = (property.startsWith(URI_SCHEME_FOR_CLASSPATH)) ?
+ new URI(property) :
+ new File("src/test/resources/testInput.xml").toURI();
+ return getCatalogFromURI(uri);
+ }
+
+
+ public static Catalog getCatalogFromURI(URI uri) throws SAXException, InvalidConfigException, JAXBException, IOException, TransformerException {
+
+ String scheme = uri.getScheme();
if (scheme.equals(URI_SCHEME_FOR_CLASSPATH)) {
InputStream resourceStream = CatalogLoader.class.getResourceAsStream(uri.getPath());
return getCatalogStream(resourceStream);
}
return getCatalogFromURL(uri.toURL());
}
-
+
public static Catalog getCatalogFromURL(URL url) throws SAXException, InvalidConfigException, JAXBException, IOException, TransformerException {
Object o = unmarshaller().unmarshal(url);
if (o instanceof Catalog) {
@@ -74,13 +90,13 @@ public class CatalogLoader {
}
}
-
+
public static void validate(Catalog c) {
c.initialize(c);
ValidationErrors errs = c.validate();
- System.out.println("Errors: " + errs.size() + " for " + c.getCatalogURL());
+ System.out.println("Errors: " + errs.size() + " for " + c.getCatalogURL());
}
-
+
public static Unmarshaller unmarshaller() throws JAXBException, SAXException, IOException, TransformerException {
JAXBContext context =JAXBContext.newInstance(Catalog.class);
@@ -89,8 +105,8 @@ public class CatalogLoader {
Schema schema = factory.newSchema(XMLSchemaGenerator.xmlSchema());
um.setSchema(schema);
-
+
return um;
}
-
+
}
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/engine/core/ApiEventProcessor.java b/entitlement/src/main/java/com/ning/billing/entitlement/engine/core/ApiEventProcessor.java
index 437f21c..9389969 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/engine/core/ApiEventProcessor.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/engine/core/ApiEventProcessor.java
@@ -19,9 +19,9 @@ package com.ning.billing.entitlement.engine.core;
import java.util.List;
import com.google.inject.Inject;
+import com.ning.billing.config.IEntitlementConfig;
import com.ning.billing.entitlement.engine.dao.IEntitlementDao;
import com.ning.billing.entitlement.events.IEvent;
-import com.ning.billing.entitlement.glue.IEntitlementConfig;
import com.ning.billing.util.clock.IClock;
public class ApiEventProcessor extends ApiEventProcessorBase {
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/engine/core/ApiEventProcessorBase.java b/entitlement/src/main/java/com/ning/billing/entitlement/engine/core/ApiEventProcessorBase.java
index b83b0be..cf20530 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/engine/core/ApiEventProcessorBase.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/engine/core/ApiEventProcessorBase.java
@@ -29,9 +29,9 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.google.inject.Inject;
+import com.ning.billing.config.IEntitlementConfig;
import com.ning.billing.entitlement.engine.dao.IEntitlementDao;
import com.ning.billing.entitlement.events.IEvent;
-import com.ning.billing.entitlement.glue.IEntitlementConfig;
import com.ning.billing.util.clock.IClock;
public abstract class ApiEventProcessorBase implements IApiEventProcessor {
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/engine/core/Engine.java b/entitlement/src/main/java/com/ning/billing/entitlement/engine/core/Engine.java
index d0e1b02..b71f669 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/engine/core/Engine.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/engine/core/Engine.java
@@ -25,60 +25,68 @@ import org.slf4j.LoggerFactory;
import com.google.inject.Inject;
import com.ning.billing.catalog.api.ICatalog;
+import com.ning.billing.catalog.api.ICatalogService;
import com.ning.billing.catalog.api.ICatalogUserApi;
import com.ning.billing.catalog.api.IPlan;
+import com.ning.billing.config.IEntitlementConfig;
import com.ning.billing.entitlement.IEntitlementSystem;
import com.ning.billing.entitlement.alignment.IPlanAligner;
import com.ning.billing.entitlement.alignment.IPlanAligner.TimedPhase;
import com.ning.billing.entitlement.alignment.PlanAligner;
import com.ning.billing.entitlement.api.user.IApiListener;
-import com.ning.billing.entitlement.api.user.ISubscription;
import com.ning.billing.entitlement.api.user.Subscription;
import com.ning.billing.entitlement.engine.dao.IEntitlementDao;
import com.ning.billing.entitlement.events.IEvent;
import com.ning.billing.entitlement.events.IEvent.EventType;
import com.ning.billing.entitlement.events.phase.IPhaseEvent;
import com.ning.billing.entitlement.events.phase.PhaseEvent;
-import com.ning.billing.entitlement.events.user.ApiEventType;
import com.ning.billing.entitlement.events.user.IUserEvent;
-import com.ning.billing.entitlement.glue.IEntitlementConfig;
import com.ning.billing.util.clock.IClock;
public class Engine implements IEventListener, IEntitlementSystem {
+ private static final String ENTITLEMENT_SERVICE_NAME = "entitlement-service";
+
private final static Logger log = LoggerFactory.getLogger(Engine.class);
private static Engine instance = null;
private final IClock clock;
- private final ICatalog catalog;
+
private final IEntitlementDao dao;
private final IApiEventProcessor apiEventProcessor;
- private final ICatalogUserApi catalogApi;
+ private final ICatalogService catalogService;
private final IPlanAligner planAligner;
private List<IApiListener> observers;
+ private ICatalog catalog;
+
@Inject
- public Engine(IClock clock, IEntitlementDao dao, IApiEventProcessor apiEventProcessor, ICatalogUserApi catalogApi,
+ public Engine(IClock clock, IEntitlementDao dao, IApiEventProcessor apiEventProcessor, ICatalogService catalogService,
IPlanAligner planAligner, IEntitlementConfig config) {
super();
this.clock = clock;
- this.catalogApi = catalogApi;
this.dao = dao;
this.apiEventProcessor = apiEventProcessor;
this.planAligner = planAligner;
- this.catalog = readCatalogFromConfig(config.getCatalogConfigFileName());
+ this.catalogService = catalogService;
this.observers = null;
instance = this;
- // STEPH yack
- ((PlanAligner) planAligner).init(catalog);
}
@Override
+ public String getName() {
+ return ENTITLEMENT_SERVICE_NAME;
+ }
+
+
+ @Override
public void initialize() {
- // TODO Auto-generated method stub
+ this.catalog = catalogService.getCatalog();
+ // STEPH yack
+ ((PlanAligner) planAligner).init(catalog);
}
@@ -152,10 +160,6 @@ public class Engine implements IEventListener, IEntitlementSystem {
}
- private ICatalog readCatalogFromConfig(String configFile) {
- return catalogApi.getCatalog(configFile);
- }
-
//
// STEPH would be nice to have those go away..
//
@@ -182,4 +186,5 @@ public class Engine implements IEventListener, IEntitlementSystem {
}
+
}
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/EntitlementDao.java b/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/EntitlementDao.java
index 8dfc34a..db4e375 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/EntitlementDao.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/EntitlementDao.java
@@ -33,6 +33,7 @@ import org.slf4j.LoggerFactory;
import com.google.common.collect.Lists;
import com.google.inject.Inject;
import com.ning.billing.catalog.api.ProductCategory;
+import com.ning.billing.config.IEntitlementConfig;
import com.ning.billing.entitlement.api.user.ISubscription;
import com.ning.billing.entitlement.api.user.ISubscriptionBundle;
import com.ning.billing.entitlement.api.user.Subscription;
@@ -42,7 +43,6 @@ import com.ning.billing.entitlement.events.IEvent.EventType;
import com.ning.billing.entitlement.events.user.ApiEventType;
import com.ning.billing.entitlement.events.user.IUserEvent;
import com.ning.billing.entitlement.exceptions.EntitlementError;
-import com.ning.billing.entitlement.glue.IEntitlementConfig;
import com.ning.billing.util.Hostname;
import com.ning.billing.util.clock.IClock;
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/glue/EntitlementModule.java b/entitlement/src/main/java/com/ning/billing/entitlement/glue/EntitlementModule.java
index fd27374..d57a0d8 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/glue/EntitlementModule.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/glue/EntitlementModule.java
@@ -21,6 +21,7 @@ import org.skife.config.ConfigurationObjectFactory;
import com.google.inject.AbstractModule;
import com.ning.billing.catalog.CatalogUserApi;
import com.ning.billing.catalog.api.ICatalogUserApi;
+import com.ning.billing.config.IEntitlementConfig;
import com.ning.billing.entitlement.IEntitlementSystem;
import com.ning.billing.entitlement.alignment.IPlanAligner;
import com.ning.billing.entitlement.alignment.PlanAligner;
@@ -44,10 +45,6 @@ public class EntitlementModule extends AbstractModule {
bind(ICatalogUserApi.class).to(CatalogUserApi.class).asEagerSingleton();
}
- protected void installAccount() {
-// bind(IAccount.class).to(CatalogUserApi.class);
- }
-
protected void installClock() {
bind(IClock.class).to(Clock.class).asEagerSingleton();
}
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiBase.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiBase.java
index 0f9806d..8de2d8e 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiBase.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiBase.java
@@ -45,9 +45,11 @@ import com.ning.billing.account.api.IAccount;
import com.ning.billing.catalog.api.BillingPeriod;
import com.ning.billing.catalog.api.Currency;
import com.ning.billing.catalog.api.ICatalog;
+import com.ning.billing.catalog.api.ICatalogService;
import com.ning.billing.catalog.api.ICatalogUserApi;
import com.ning.billing.catalog.api.IDuration;
import com.ning.billing.catalog.api.TimeUnit;
+import com.ning.billing.config.IEntitlementConfig;
import com.ning.billing.entitlement.IEntitlementSystem;
import com.ning.billing.entitlement.api.ApiTestListener;
import com.ning.billing.entitlement.api.ApiTestListener.NextEvent;
@@ -59,7 +61,7 @@ import com.ning.billing.entitlement.events.IEvent;
import com.ning.billing.entitlement.events.phase.IPhaseEvent;
import com.ning.billing.entitlement.events.user.ApiEventType;
import com.ning.billing.entitlement.events.user.IUserEvent;
-import com.ning.billing.entitlement.glue.IEntitlementConfig;
+import com.ning.billing.lifecycle.IService.ServiceException;
import com.ning.billing.util.clock.ClockMock;
import com.ning.billing.util.clock.IClock;
@@ -69,11 +71,11 @@ public abstract class TestUserApiBase {
protected static final long DAY_IN_MS = (24 * 3600 * 1000);
- protected IEntitlementSystem service;
- protected Engine engine;
+ protected IEntitlementSystem entitlementService;
+ //protected Engine engine;
protected IEntitlementUserApi entitlementApi;
protected IEntitlementBillingApi billingApi;
- protected ICatalogUserApi catalogApi;
+ protected ICatalogService catalogService;
protected IEntitlementConfig config;
protected IEntitlementDao dao;
protected ClockMock clock;
@@ -110,20 +112,24 @@ public abstract class TestUserApiBase {
loadSystemPropertiesFromClasspath("/entitlement.properties");
final Injector g = getInjector();
- service = g.getInstance(IEntitlementSystem.class);
- engine = g.getInstance(Engine.class);
+ entitlementService = g.getInstance(IEntitlementSystem.class);
+ //engine = g.getInstance(Engine.class);
entitlementApi = g.getInstance(IEntitlementUserApi.class);
- catalogApi = g.getInstance(ICatalogUserApi.class);
+ catalogService = g.getInstance(ICatalogService.class);
billingApi = g.getInstance(IEntitlementBillingApi.class);
config = g.getInstance(IEntitlementConfig.class);
dao = g.getInstance(IEntitlementDao.class);
clock = (ClockMock) g.getInstance(IClock.class);
try {
- service.initialize();
+ catalogService.initialize();
+ entitlementService.initialize();
init();
} catch (EntitlementUserApiException e) {
Assert.fail(e.getMessage());
+ } catch (ServiceException e) {
+ e.printStackTrace();
+ Assert.fail(e.getMessage());
}
}
@@ -133,7 +139,7 @@ public abstract class TestUserApiBase {
account = getAccount();
assertNotNull(account);
- catalog = catalogApi.getCatalog(config.getCatalogConfigFileName());
+ catalog = catalogService.getCatalog();
assertNotNull(catalog);
testListener = new ApiTestListener();
@@ -145,25 +151,33 @@ public abstract class TestUserApiBase {
@BeforeMethod(groups={"setup"})
public void setupTest() {
- log.warn("\n");
- log.warn("RESET TEST FRAMEWORK\n\n");
-
- testListener.reset();
- clock.resetDeltaFromReality();
- ((IEntitlementDaoMock) dao).reset();
try {
- bundle = entitlementApi.createBundleForAccount(account, "myDefaultBundle");
- } catch (EntitlementUserApiException e) {
+ log.warn("\n");
+ log.warn("RESET TEST FRAMEWORK\n\n");
+
+ testListener.reset();
+ clock.resetDeltaFromReality();
+ ((IEntitlementDaoMock) dao).reset();
+ try {
+ bundle = entitlementApi.createBundleForAccount(account, "myDefaultBundle");
+ } catch (EntitlementUserApiException e) {
+ Assert.fail(e.getMessage());
+ }
+ assertNotNull(bundle);
+ entitlementService.start();
+ } catch (ServiceException e) {
Assert.fail(e.getMessage());
}
- assertNotNull(bundle);
- service.start();
}
@AfterMethod(groups={"setup"})
public void cleanupTest() {
- service.stop();
- log.warn("DONE WITH TEST\n");
+ try {
+ entitlementService.stop();
+ log.warn("DONE WITH TEST\n");
+ } catch (ServiceException e) {
+ Assert.fail(e.getMessage());
+ }
}
// Glue magic to invoke the real test
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCancelMemory.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCancelMemory.java
index 05fe153..896c592 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCancelMemory.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCancelMemory.java
@@ -22,6 +22,7 @@ import org.testng.annotations.Test;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Stage;
+import com.ning.billing.entitlement.glue.CatalogModuleMock;
import com.ning.billing.entitlement.glue.EngineModuleMemoryMock;
public class TestUserApiCancelMemory extends TestUserApiCancel {
@@ -29,7 +30,7 @@ public class TestUserApiCancelMemory extends TestUserApiCancel {
@Override
protected Injector getInjector() {
- return Guice.createInjector(Stage.DEVELOPMENT, new EngineModuleMemoryMock());
+ return Guice.createInjector(Stage.DEVELOPMENT, new EngineModuleMemoryMock(), new CatalogModuleMock());
}
@Test(enabled=true, groups={"fast"})
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCancelSql.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCancelSql.java
index 84f11e2..58e8891 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCancelSql.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCancelSql.java
@@ -21,6 +21,7 @@ import org.testng.annotations.Test;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Stage;
+import com.ning.billing.entitlement.glue.CatalogModuleMock;
import com.ning.billing.entitlement.glue.EngineModuleSqlMock;
public class TestUserApiCancelSql extends TestUserApiCancel {
@@ -30,7 +31,7 @@ public class TestUserApiCancelSql extends TestUserApiCancel {
@Override
public Injector getInjector() {
- return Guice.createInjector(Stage.DEVELOPMENT, new EngineModuleSqlMock());
+ return Guice.createInjector(Stage.DEVELOPMENT, new EngineModuleSqlMock(), new CatalogModuleMock());
}
@Test(enabled= true, groups={"stress"})
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlanMemory.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlanMemory.java
index 56c1a74..acb5e69 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlanMemory.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlanMemory.java
@@ -21,13 +21,14 @@ import org.testng.annotations.Test;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Stage;
+import com.ning.billing.entitlement.glue.CatalogModuleMock;
import com.ning.billing.entitlement.glue.EngineModuleMemoryMock;
public class TestUserApiChangePlanMemory extends TestUserApiChangePlan {
@Override
protected Injector getInjector() {
- return Guice.createInjector(Stage.DEVELOPMENT, new EngineModuleMemoryMock());
+ return Guice.createInjector(Stage.DEVELOPMENT, new EngineModuleMemoryMock(), new CatalogModuleMock());
}
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlanSql.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlanSql.java
index 30ace87..174b85e 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlanSql.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlanSql.java
@@ -21,6 +21,7 @@ import org.testng.annotations.Test;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Stage;
+import com.ning.billing.entitlement.glue.CatalogModuleMock;
import com.ning.billing.entitlement.glue.EngineModuleSqlMock;
public class TestUserApiChangePlanSql extends TestUserApiChangePlan {
@@ -29,7 +30,7 @@ public class TestUserApiChangePlanSql extends TestUserApiChangePlan {
@Override
public Injector getInjector() {
- return Guice.createInjector(Stage.DEVELOPMENT, new EngineModuleSqlMock());
+ return Guice.createInjector(Stage.DEVELOPMENT, new EngineModuleSqlMock(), new CatalogModuleMock());
}
@Test(enabled= true, groups={"stress"})
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCreateMemory.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCreateMemory.java
index 8ec02d7..1c119f8 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCreateMemory.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCreateMemory.java
@@ -21,6 +21,7 @@ import org.testng.annotations.Test;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Stage;
+import com.ning.billing.entitlement.glue.CatalogModuleMock;
import com.ning.billing.entitlement.glue.EngineModuleMemoryMock;
public class TestUserApiCreateMemory extends TestUserApiCreate {
@@ -28,7 +29,7 @@ public class TestUserApiCreateMemory extends TestUserApiCreate {
@Override
protected Injector getInjector() {
- return Guice.createInjector(Stage.DEVELOPMENT, new EngineModuleMemoryMock());
+ return Guice.createInjector(Stage.DEVELOPMENT, new EngineModuleMemoryMock(), new CatalogModuleMock());
}
@Test(enabled=true, groups={"fast"})
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCreateSql.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCreateSql.java
index 58fa52b..328976f 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCreateSql.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCreateSql.java
@@ -21,13 +21,14 @@ import org.testng.annotations.Test;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Stage;
+import com.ning.billing.entitlement.glue.CatalogModuleMock;
import com.ning.billing.entitlement.glue.EngineModuleSqlMock;
public class TestUserApiCreateSql extends TestUserApiCreate {
@Override
protected Injector getInjector() {
- return Guice.createInjector(Stage.DEVELOPMENT, new EngineModuleSqlMock());
+ return Guice.createInjector(Stage.DEVELOPMENT, new EngineModuleSqlMock(), new CatalogModuleMock());
}
@Test(enabled=true, groups={"sql"})
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/engine/core/ApiEventProcessorMemoryMock.java b/entitlement/src/test/java/com/ning/billing/entitlement/engine/core/ApiEventProcessorMemoryMock.java
index 4089936..38aed83 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/engine/core/ApiEventProcessorMemoryMock.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/engine/core/ApiEventProcessorMemoryMock.java
@@ -19,9 +19,9 @@ package com.ning.billing.entitlement.engine.core;
import java.util.List;
import com.google.inject.Inject;
+import com.ning.billing.config.IEntitlementConfig;
import com.ning.billing.entitlement.engine.dao.IEntitlementDao;
import com.ning.billing.entitlement.events.IEvent;
-import com.ning.billing.entitlement.glue.IEntitlementConfig;
import com.ning.billing.util.clock.IClock;
public class ApiEventProcessorMemoryMock extends ApiEventProcessorBase {
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/engine/dao/EntitlementDaoMemoryMock.java b/entitlement/src/test/java/com/ning/billing/entitlement/engine/dao/EntitlementDaoMemoryMock.java
index 143b069..cc574ee 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/engine/dao/EntitlementDaoMemoryMock.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/engine/dao/EntitlementDaoMemoryMock.java
@@ -31,6 +31,7 @@ import org.slf4j.LoggerFactory;
import com.google.inject.Inject;
import com.ning.billing.catalog.api.ProductCategory;
import com.ning.billing.catalog.api.TimeUnit;
+import com.ning.billing.config.IEntitlementConfig;
import com.ning.billing.entitlement.api.user.ISubscription;
import com.ning.billing.entitlement.api.user.ISubscriptionBundle;
import com.ning.billing.entitlement.api.user.Subscription;
@@ -38,11 +39,8 @@ import com.ning.billing.entitlement.api.user.SubscriptionBundle;
import com.ning.billing.entitlement.events.IEvent;
import com.ning.billing.entitlement.events.IEvent.EventType;
import com.ning.billing.entitlement.events.IEventLyfecycle.IEventLyfecycleState;
-import com.ning.billing.entitlement.events.phase.IPhaseEvent;
-import com.ning.billing.entitlement.events.phase.PhaseEvent;
import com.ning.billing.entitlement.events.user.ApiEventType;
import com.ning.billing.entitlement.events.user.IUserEvent;
-import com.ning.billing.entitlement.glue.IEntitlementConfig;
import com.ning.billing.util.clock.IClock;
public class EntitlementDaoMemoryMock implements IEntitlementDao, IEntitlementDaoMock {
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/engine/dao/EntitlementDaoSqlMock.java b/entitlement/src/test/java/com/ning/billing/entitlement/engine/dao/EntitlementDaoSqlMock.java
index 114021e..24d6bff 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/engine/dao/EntitlementDaoSqlMock.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/engine/dao/EntitlementDaoSqlMock.java
@@ -24,7 +24,7 @@ import org.skife.jdbi.v2.sqlobject.mixins.CloseMe;
import org.skife.jdbi.v2.sqlobject.mixins.Transactional;
import com.google.inject.Inject;
-import com.ning.billing.entitlement.glue.IEntitlementConfig;
+import com.ning.billing.config.IEntitlementConfig;
import com.ning.billing.util.clock.IClock;
public class EntitlementDaoSqlMock extends EntitlementDao implements IEntitlementDaoMock {
diff --git a/entitlement/src/test/resources/entitlement.properties b/entitlement/src/test/resources/entitlement.properties
index 372ce23..fb7a7c5 100644
--- a/entitlement/src/test/resources/entitlement.properties
+++ b/entitlement/src/test/resources/entitlement.properties
@@ -1,4 +1,4 @@
-killbill.entitlement.catalog.config.file=src/test/resources/testInput.xml
+killbill.catalog.uri=src/test/resources/testInput.xml
killbill.entitlement.dao.claim.time=60000
killbill.entitlement.dao.ready.max=1
killbill.entitlement.engine.notifications.sleep=500