@Override void clearData() throws Exception { store.clearData(); } }
Set<String> prevTenants = getTenantsUsedByProvisioner(conn, provisionerId); Set<String> tenantsToDelete = Sets.difference(prevTenants, tenants); if (!tenantsToDelete.isEmpty()) {
@Override public void writeProvisioner(Provisioner provisioner) throws IOException { Connection conn = null; try { conn = dbConnectionPool.getConnection(false); try { DBPut provisionerPut = new ProvisionerDBPut(provisioner, dbQueryExecutor.toBytes(provisioner, Provisioner.class)); provisionerPut.executePut(conn); writeProvisionerWorkers(conn, provisioner); conn.commit(); } finally { conn.close(); } } catch (SQLException e) { LOG.error("Exception writing provisioner, will attempt to rollback.", e); if (conn != null) { try { conn.rollback(); } catch (SQLException e1) { LOG.error("Exception rolling back failed provisioner write", e); } } throw new IOException("Exception writing cluster " + provisioner.getId(), e); } }
@BeforeClass public static void setupTestClass() throws Exception { Configuration sqlConf = BaseTest.createTestConf(); Injector injector = Guice.createInjector( new ConfigurationModule(sqlConf), new TestStoreModule(), new CodecModules().getModule() ); store = injector.getInstance(SQLProvisionerStore.class); store.startAndWait(); }
@Before public void setupProvisionerHandlerTest() throws SQLException { // base tests write a provisioner, need to clear it. injector.getInstance(SQLProvisionerStore.class).clearData(); }
@Before public void setupSuperadminHandlerTest() throws SQLException, IOException { // base tests will write some tenants that we don't want. ((SQLTenantStore) tenantStore).clearData(); ((SQLProvisionerStore) provisionerStore).clearData(); ((SQLEntityStoreService) entityStoreService).clearData(); tenantProvisionerService.writeProvisioner( new Provisioner("p1", "host", 12345, 100, ImmutableMap.<String, Integer>of(), ImmutableMap.<String, Integer>of()) ); }
@After public void cleanupBaseTest() throws Exception { if (shouldClearDataBetweenTests()) { sqlTenantStore.clearData(); sqlClusterStoreService.clearData(); sqlProvisionerStore.clearData(); sqlMetaStoreService.clearData(); sqlUserStore.clearData(); pluginStore.clearData(); credentialStore.wipe(); } }