killbill-uncached
Changes
beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationWithAutoInvoiceOffTag.java 14(+13 -1)
Details
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationWithAutoInvoiceOffTag.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationWithAutoInvoiceOffTag.java
index 217cb1b..e3be801 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationWithAutoInvoiceOffTag.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationWithAutoInvoiceOffTag.java
@@ -64,7 +64,7 @@ public class TestIntegrationWithAutoInvoiceOffTag extends TestIntegrationBase {
private String planSetName;
@BeforeMethod(groups = {"slow"})
- public void setupOverdue() throws Exception {
+ public void setupBeforeTest() throws Exception {
account = createAccountWithPaymentMethod(getAccountData(25));
assertNotNull(account);
@@ -105,6 +105,12 @@ public class TestIntegrationWithAutoInvoiceOffTag extends TestIntegrationBase {
invoices = invoiceApi.getInvoicesByAccount(account.getId());
assertEquals(invoices.size(), 0);
+ busHandler.pushExpectedEvents(NextEvent.INVOICE);
+ remove_AUTO_INVOICING_OFF_Tag(account.getId(), ObjectType.ACCOUNT);
+ assertTrue(busHandler.isCompleted(DELAY));
+
+ invoices = invoiceApi.getInvoicesByAccount(account.getId());
+ assertEquals(invoices.size(), 1);
}
@Test(groups = {"slow"}, enabled = true)
@@ -173,4 +179,10 @@ public class TestIntegrationWithAutoInvoiceOffTag extends TestIntegrationBase {
final Map<String, Tag> tags = tagApi.getTags(id, type);
assertNotNull(tags.get(ControlTagType.AUTO_INVOICING_OFF.name()));
}
+
+
+ private void remove_AUTO_INVOICING_OFF_Tag(final UUID id, final ObjectType type) throws TagDefinitionApiException, TagApiException {
+ final TagDefinition def = tagApi.getTagDefinition(ControlTagType.AUTO_INVOICING_OFF.name());
+ tagApi.removeTag(id, type, def, context);
+ }
}
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationWithAutoPayOff.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationWithAutoPayOff.java
index b988c7a..e6ab9d1 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationWithAutoPayOff.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationWithAutoPayOff.java
@@ -71,8 +71,9 @@ public class TestIntegrationWithAutoPayOff extends TestIntegrationBase {
private BillingPeriod term;
private String planSetName;
+
@BeforeMethod(groups = {"slow"})
- public void setupOverdue() throws Exception {
+ public void setupBeforeTest() throws Exception {
account = createAccountWithPaymentMethod(getAccountData(25));
assertNotNull(account);
diff --git a/invoice/src/main/java/com/ning/billing/invoice/api/DefaultInvoiceService.java b/invoice/src/main/java/com/ning/billing/invoice/api/DefaultInvoiceService.java
index f0c3d0c..75eee24 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/api/DefaultInvoiceService.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/api/DefaultInvoiceService.java
@@ -18,6 +18,7 @@ package com.ning.billing.invoice.api;
import com.google.inject.Inject;
import com.ning.billing.invoice.InvoiceListener;
+import com.ning.billing.invoice.TagHandler;
import com.ning.billing.invoice.notification.NextBillingDateNotifier;
import com.ning.billing.lifecycle.LifecycleHandlerType;
import com.ning.billing.lifecycle.LifecycleHandlerType.LifecycleLevel;
@@ -30,11 +31,13 @@ public class DefaultInvoiceService implements InvoiceService {
public static final String INVOICE_SERVICE_NAME = "invoice-service";
private final NextBillingDateNotifier dateNotifier;
private final InvoiceListener invoiceListener;
+ private final TagHandler tagHandler;
private final Bus eventBus;
@Inject
- public DefaultInvoiceService(final InvoiceListener invoiceListener, final Bus eventBus, final NextBillingDateNotifier dateNotifier) {
+ public DefaultInvoiceService(final InvoiceListener invoiceListener, final TagHandler tagHandler, final Bus eventBus, final NextBillingDateNotifier dateNotifier) {
this.invoiceListener = invoiceListener;
+ this.tagHandler = tagHandler;
this.eventBus = eventBus;
this.dateNotifier = dateNotifier;
}
@@ -59,6 +62,7 @@ public class DefaultInvoiceService implements InvoiceService {
public void registerForNotifications() {
try {
eventBus.register(invoiceListener);
+ eventBus.register(tagHandler);
} catch (Bus.EventBusException e) {
throw new RuntimeException("Unable to register to the EventBus!", e);
}
@@ -68,6 +72,7 @@ public class DefaultInvoiceService implements InvoiceService {
public void unregisterForNotifications() {
try {
eventBus.unregister(invoiceListener);
+ eventBus.unregister(tagHandler);
} catch (Bus.EventBusException e) {
throw new RuntimeException("Unable to unregister to the EventBus!", e);
}
diff --git a/invoice/src/main/java/com/ning/billing/invoice/glue/DefaultInvoiceModule.java b/invoice/src/main/java/com/ning/billing/invoice/glue/DefaultInvoiceModule.java
index 1f2507b..693f68f 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/glue/DefaultInvoiceModule.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/glue/DefaultInvoiceModule.java
@@ -22,6 +22,7 @@ import com.google.inject.AbstractModule;
import com.ning.billing.config.InvoiceConfig;
import com.ning.billing.glue.InvoiceModule;
import com.ning.billing.invoice.InvoiceListener;
+import com.ning.billing.invoice.TagHandler;
import com.ning.billing.invoice.api.DefaultInvoiceService;
import com.ning.billing.invoice.api.InvoiceMigrationApi;
import com.ning.billing.invoice.api.InvoiceNotifier;
@@ -95,6 +96,11 @@ public class DefaultInvoiceModule extends AbstractModule implements InvoiceModul
bind(InvoiceListener.class).asEagerSingleton();
}
+ protected void installTagHandler() {
+ bind(TagHandler.class).asEagerSingleton();
+ }
+
+
protected void installInvoiceGenerator() {
bind(InvoiceGenerator.class).to(DefaultInvoiceGenerator.class).asEagerSingleton();
}
@@ -107,6 +113,7 @@ public class DefaultInvoiceModule extends AbstractModule implements InvoiceModul
installInvoiceNotifier();
installNotifiers();
installInvoiceListener();
+ installTagHandler();
installInvoiceGenerator();
installInvoiceDao();
installInvoiceUserApi();