@BeforeMethod(groups = "slow") public void setUp() throws Exception { final IDBI dbi = helper.getDBI(); accountTagSqlDao = dbi.onDemand(BusinessAccountTagSqlDao.class); final BusinessInvoiceTagSqlDao invoiceTagSqlDao = dbi.onDemand(BusinessInvoiceTagSqlDao.class); final BusinessInvoicePaymentTagSqlDao invoicePaymentTagSqlDao = dbi.onDemand(BusinessInvoicePaymentTagSqlDao.class); subscriptionTransitionTagSqlDao = dbi.onDemand(BusinessSubscriptionTransitionTagSqlDao.class); eventBus = new InMemoryBus(); final AccountDao accountDao = new AuditedAccountDao(dbi, eventBus); final AccountEmailDao accountEmailDao = new AuditedAccountEmailDao(dbi); final DefaultClock clock = new DefaultClock(); callContextFactory = new DefaultCallContextFactory(clock); accountUserApi = new DefaultAccountUserApi(callContextFactory, accountDao, accountEmailDao); final CatalogService catalogService = new DefaultCatalogService( Mockito.mock(CatalogConfig.class), Mockito.mock(VersionedCatalogLoader.class)); final AddonUtils addonUtils = new AddonUtils(catalogService); final DefaultNotificationQueueService notificationQueueService = new DefaultNotificationQueueService(dbi, clock); final EntitlementDao entitlementDao = new AuditedEntitlementDao( dbi, clock, addonUtils, notificationQueueService, eventBus, catalogService); final PlanAligner planAligner = new PlanAligner(catalogService); final DefaultSubscriptionApiService apiService = new DefaultSubscriptionApiService(clock, entitlementDao, catalogService, planAligner); final DefaultSubscriptionFactory subscriptionFactory = new DefaultSubscriptionFactory(apiService, clock, catalogService); entitlementUserApi = new DefaultEntitlementUserApi( clock, entitlementDao, catalogService, apiService, subscriptionFactory, addonUtils); tagRecorder = new BusinessTagRecorder( accountTagSqlDao, invoicePaymentTagSqlDao, invoiceTagSqlDao, subscriptionTransitionTagSqlDao, accountUserApi, entitlementUserApi); eventBus.start(); }
@AfterMethod(groups = "slow") public void tearDown() throws Exception { eventBus.stop(); }