Details
diff --git a/account/src/test/java/com/ning/billing/account/dao/AccountDaoTestBase.java b/account/src/test/java/com/ning/billing/account/dao/AccountDaoTestBase.java
index 71985e0..a97a630 100644
--- a/account/src/test/java/com/ning/billing/account/dao/AccountDaoTestBase.java
+++ b/account/src/test/java/com/ning/billing/account/dao/AccountDaoTestBase.java
@@ -40,14 +40,17 @@ import com.ning.billing.util.callcontext.UserType;
import com.ning.billing.util.callcontext.DefaultCallContextFactory;
import com.ning.billing.util.clock.Clock;
import com.ning.billing.util.clock.ClockMock;
+import com.ning.billing.util.tag.api.user.TagEventBuilder;
public abstract class AccountDaoTestBase {
private final MysqlTestingHelper helper = new MysqlTestingHelper();
+ protected final TagEventBuilder tagEventBuilder = new TagEventBuilder();
+
protected AccountDao accountDao;
protected AccountEmailDao accountEmailDao;
protected IDBI dbi;
-
+ protected Bus bus;
protected CallContext context;
@BeforeClass(alwaysRun = true)
@@ -63,7 +66,7 @@ public abstract class AccountDaoTestBase {
dbi = helper.getDBI();
- Bus bus = new InMemoryBus();
+ bus = new InMemoryBus();
BusService busService = new DefaultBusService(bus);
((DefaultBusService) busService).startBus();
diff --git a/account/src/test/java/com/ning/billing/account/dao/TestAccountDao.java b/account/src/test/java/com/ning/billing/account/dao/TestAccountDao.java
index ba1d3f6..e846a42 100644
--- a/account/src/test/java/com/ning/billing/account/dao/TestAccountDao.java
+++ b/account/src/test/java/com/ning/billing/account/dao/TestAccountDao.java
@@ -152,7 +152,7 @@ public class TestAccountDao extends AccountDaoTestBase {
TagDefinitionSqlDao tagDescriptionDao = dbi.onDemand(TagDefinitionSqlDao.class);
tagDescriptionDao.create(definition, context);
- TagDao tagDao = new AuditedTagDao(dbi);
+ TagDao tagDao = new AuditedTagDao(dbi, tagEventBuilder, bus);
tagDao.insertTag(account.getId(), ObjectType.ACCOUNT, definition, context);
Map<String, Tag> tagMap = tagDao.loadEntities(account.getId(), ObjectType.ACCOUNT);
diff --git a/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceDaoTestBase.java b/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceDaoTestBase.java
index 70ca921..4c4677e 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceDaoTestBase.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceDaoTestBase.java
@@ -24,11 +24,13 @@ import com.ning.billing.dbi.MysqlTestingHelper;
import com.ning.billing.invoice.notification.MockNextBillingDatePoster;
import com.ning.billing.invoice.notification.NextBillingDatePoster;
import com.ning.billing.util.api.TagUserApi;
+import com.ning.billing.util.bus.Bus;
+import com.ning.billing.util.bus.InMemoryBus;
import com.ning.billing.util.callcontext.TestCallContext;
import com.ning.billing.util.clock.ClockMock;
import com.ning.billing.util.tag.api.DefaultTagUserApi;
+import com.ning.billing.util.tag.api.user.TagEventBuilder;
import com.ning.billing.util.tag.dao.AuditedTagDao;
-import com.ning.billing.util.tag.dao.MockTagDao;
import com.ning.billing.util.tag.dao.MockTagDefinitionDao;
import com.ning.billing.util.tag.dao.TagDao;
import org.apache.commons.io.IOUtils;
@@ -49,6 +51,8 @@ import com.ning.billing.util.clock.Clock;
import com.ning.billing.util.tag.dao.TagDefinitionDao;
public abstract class InvoiceDaoTestBase extends InvoicingTestBase {
+ protected final TagEventBuilder tagEventBuilder = new TagEventBuilder();
+
protected IDBI dbi;
private MysqlTestingHelper mysqlTestingHelper;
protected InvoiceDao invoiceDao;
@@ -59,6 +63,7 @@ public abstract class InvoiceDaoTestBase extends InvoicingTestBase {
protected Clock clock;
protected CallContext context;
protected InvoiceGenerator generator;
+ protected Bus bus;
private final InvoiceConfig invoiceConfig = new InvoiceConfig() {
@Override
@@ -83,7 +88,7 @@ public abstract class InvoiceDaoTestBase extends InvoicingTestBase {
NextBillingDatePoster nextBillingDatePoster = new MockNextBillingDatePoster();
final TagDefinitionDao tagDefinitionDao = new MockTagDefinitionDao();
- final TagDao tagDao = new AuditedTagDao(dbi);
+ final TagDao tagDao = new AuditedTagDao(dbi, tagEventBuilder, bus);
final TagUserApi tagUserApi = new DefaultTagUserApi(tagDefinitionDao, tagDao);
invoiceDao = new DefaultInvoiceDao(dbi, nextBillingDatePoster, tagUserApi);
invoiceDao.test();
@@ -96,6 +101,8 @@ public abstract class InvoiceDaoTestBase extends InvoicingTestBase {
clock = new ClockMock();
context = new TestCallContext("Invoice Dao Tests");
generator = new DefaultInvoiceGenerator(clock, invoiceConfig);
+ bus = new InMemoryBus();
+ bus.start();
assertTrue(true);
}
@@ -119,6 +126,7 @@ public abstract class InvoiceDaoTestBase extends InvoicingTestBase {
@AfterClass(alwaysRun = true)
protected void tearDown() {
+ bus.stop();
mysqlTestingHelper.stopMysql();
assertTrue(true);
}
diff --git a/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceDaoTests.java b/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceDaoTests.java
index 97d7532..e4ab210 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceDaoTests.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceDaoTests.java
@@ -656,7 +656,7 @@ public class InvoiceDaoTests extends InvoiceDaoTestBase {
invoiceDao.create(invoice, context);
invoiceDao.setWrittenOff(invoice.getId(), context);
- TagDao tagDao = new AuditedTagDao(dbi);
+ TagDao tagDao = new AuditedTagDao(dbi, tagEventBuilder, bus);
Map<String, Tag> tags = tagDao.loadEntities(invoice.getId(), ObjectType.INVOICE);
assertEquals(tags.size(), 1);
assertTrue(tags.containsKey(ControlTagType.WRITTEN_OFF.toString()));
@@ -687,7 +687,7 @@ public class InvoiceDaoTests extends InvoiceDaoTestBase {
invoiceDao.create(invoice, context);
invoiceDao.setWrittenOff(invoice.getId(), context);
- TagDao tagDao = new AuditedTagDao(dbi);
+ TagDao tagDao = new AuditedTagDao(dbi, tagEventBuilder, bus);
Map<String, Tag> tags = tagDao.loadEntities(invoice.getId(), ObjectType.INVOICE);
assertEquals(tags.size(), 1);
assertTrue(tags.containsKey(ControlTagType.WRITTEN_OFF.toString()));
diff --git a/util/src/main/java/com/ning/billing/util/tag/dao/AuditedTagDao.java b/util/src/main/java/com/ning/billing/util/tag/dao/AuditedTagDao.java
index cf40ee2..c34985f 100644
--- a/util/src/main/java/com/ning/billing/util/tag/dao/AuditedTagDao.java
+++ b/util/src/main/java/com/ning/billing/util/tag/dao/AuditedTagDao.java
@@ -31,6 +31,7 @@ import com.google.inject.Inject;
import com.ning.billing.ErrorCode;
import com.ning.billing.invoice.api.InvoiceApiException;
import com.ning.billing.util.ChangeType;
+import com.ning.billing.util.bus.Bus;
import com.ning.billing.util.callcontext.CallContext;
import com.ning.billing.util.dao.AuditedCollectionDaoBase;
import com.ning.billing.util.dao.EntityAudit;
@@ -44,12 +45,17 @@ import com.ning.billing.util.tag.DefaultControlTag;
import com.ning.billing.util.tag.DescriptiveTag;
import com.ning.billing.util.tag.Tag;
import com.ning.billing.util.tag.TagDefinition;
+import com.ning.billing.util.tag.api.user.TagEventBuilder;
public class AuditedTagDao extends AuditedCollectionDaoBase<Tag, Tag> implements TagDao {
private final TagSqlDao tagSqlDao;
+ private final TagEventBuilder tagEventBuilder;
+ private final Bus bus;
@Inject
- public AuditedTagDao(final IDBI dbi) {
+ public AuditedTagDao(final IDBI dbi, final TagEventBuilder tagEventBuilder, final Bus bus) {
+ this.tagEventBuilder = tagEventBuilder;
+ this.bus = bus;
this.tagSqlDao = dbi.onDemand(TagSqlDao.class);
}
diff --git a/util/src/main/java/com/ning/billing/util/tag/dao/DefaultTagDefinitionDao.java b/util/src/main/java/com/ning/billing/util/tag/dao/DefaultTagDefinitionDao.java
index 53dbd90..afad118 100644
--- a/util/src/main/java/com/ning/billing/util/tag/dao/DefaultTagDefinitionDao.java
+++ b/util/src/main/java/com/ning/billing/util/tag/dao/DefaultTagDefinitionDao.java
@@ -24,16 +24,22 @@ import org.skife.jdbi.v2.IDBI;
import com.google.inject.Inject;
import com.ning.billing.ErrorCode;
import com.ning.billing.util.api.TagDefinitionApiException;
+import com.ning.billing.util.bus.Bus;
import com.ning.billing.util.callcontext.CallContext;
import com.ning.billing.util.tag.ControlTagType;
import com.ning.billing.util.tag.DefaultTagDefinition;
import com.ning.billing.util.tag.TagDefinition;
+import com.ning.billing.util.tag.api.user.TagEventBuilder;
public class DefaultTagDefinitionDao implements TagDefinitionDao {
private final TagDefinitionSqlDao dao;
+ private final TagEventBuilder tagEventBuilder;
+ private final Bus bus;
@Inject
- public DefaultTagDefinitionDao(final IDBI dbi) {
+ public DefaultTagDefinitionDao(final IDBI dbi, final TagEventBuilder tagEventBuilder, final Bus bus) {
+ this.tagEventBuilder = tagEventBuilder;
+ this.bus = bus;
this.dao = dbi.onDemand(TagDefinitionSqlDao.class);
}
diff --git a/util/src/test/java/com/ning/billing/util/tag/MockTagStoreModuleSql.java b/util/src/test/java/com/ning/billing/util/tag/MockTagStoreModuleSql.java
index 213e012..d7a704b 100644
--- a/util/src/test/java/com/ning/billing/util/tag/MockTagStoreModuleSql.java
+++ b/util/src/test/java/com/ning/billing/util/tag/MockTagStoreModuleSql.java
@@ -23,6 +23,8 @@ import org.skife.jdbi.v2.tweak.HandleCallback;
import com.ning.billing.dbi.MysqlTestingHelper;
import com.ning.billing.mock.glue.MockClockModule;
+import com.ning.billing.util.bus.Bus;
+import com.ning.billing.util.bus.InMemoryBus;
import com.ning.billing.util.glue.TagStoreModule;
public class MockTagStoreModuleSql extends TagStoreModule {
@@ -34,6 +36,7 @@ public class MockTagStoreModuleSql extends TagStoreModule {
bind(IDBI.class).toInstance(helper.getDBI());
bind(MysqlTestingHelper.class).toInstance(helper);
install(new MockClockModule());
+ bind(Bus.class).toInstance(new InMemoryBus());
super.configure();
}
diff --git a/util/src/test/java/com/ning/billing/util/tag/TestTagStore.java b/util/src/test/java/com/ning/billing/util/tag/TestTagStore.java
index 8507834..bea5065 100644
--- a/util/src/test/java/com/ning/billing/util/tag/TestTagStore.java
+++ b/util/src/test/java/com/ning/billing/util/tag/TestTagStore.java
@@ -39,6 +39,7 @@ import com.google.inject.Inject;
import com.ning.billing.dbi.MysqlTestingHelper;
import com.ning.billing.invoice.api.InvoiceApiException;
import com.ning.billing.util.api.TagDefinitionApiException;
+import com.ning.billing.util.bus.Bus;
import com.ning.billing.util.callcontext.CallContext;
import com.ning.billing.util.callcontext.CallOrigin;
import com.ning.billing.util.callcontext.DefaultCallContextFactory;
@@ -72,6 +73,9 @@ public class TestTagStore {
@Inject
private Clock clock;
+ @Inject
+ private Bus bus;
+
private TagDefinition testTag;
private final Logger log = LoggerFactory.getLogger(TestTagStore.class);
@@ -87,6 +91,7 @@ public class TestTagStore {
helper.initDb(utilDdl);
context = new DefaultCallContextFactory(clock).createCallContext("Tag store test", CallOrigin.TEST, UserType.TEST);
+ bus.start();
cleanupTags();
tagDefinitionDao.create("tag1", "First tag", context);
@@ -99,6 +104,7 @@ public class TestTagStore {
@AfterClass(groups = "slow")
public void stopMysql() {
+ bus.stop();
if (helper != null) {
helper.stopMysql();
}