@BeforeClass(groups = "slow")
public void beforeClass() throws Exception {
loadSystemPropertiesFromClasspath("/queue.properties");
clock = new ClockMock();
embeddedDB = new MySQLEmbeddedDB("killbillq", "killbillq", "killbillq");
embeddedDB.initialize();
embeddedDB.start();
final String ddl = toString(Resources.getResource("com/ning/billing/queue/ddl.sql").openStream());
embeddedDB.executeScript(ddl);
dbi = new DBI(embeddedDB.getDataSource());
dbi.registerArgumentFactory(new UUIDArgumentFactory());
dbi.registerArgumentFactory(new DateTimeZoneArgumentFactory());
dbi.registerArgumentFactory(new DateTimeArgumentFactory());
dbi.registerArgumentFactory(new LocalDateArgumentFactory());
dbi.registerArgumentFactory(new EnumArgumentFactory());
dbi.registerMapper(new UUIDMapper());
final ConfigSource configSource = new SimplePropertyConfigSource(System.getProperties());
persistentBusConfig = new ConfigurationObjectFactory(configSource).buildWithReplacements(PersistentBusConfig.class,
ImmutableMap.<String, String>of("instanceName", "main"));
notificationQueueConfig = new ConfigurationObjectFactory(configSource).buildWithReplacements(NotificationQueueConfig.class,
ImmutableMap.<String, String>of("instanceName", "main"));
}