package com.hortonworks.registries.storage.impl.jdbc.phoenix;
import com.hortonworks.registries.common.test.HBaseIntegrationTest;
import com.hortonworks.registries.storage.impl.jdbc.JdbcStorageManagerIntegrationTest;
import com.hortonworks.registries.storage.impl.jdbc.config.ExecutionConfig;
import com.hortonworks.registries.storage.impl.jdbc.connection.HikariCPConnectionBuilder;
import com.hortonworks.registries.storage.impl.jdbc.provider.phoenix.JdbcClient;
import com.hortonworks.registries.storage.impl.jdbc.provider.phoenix.factory.PhoenixExecutor;
import com.zaxxer.hikari.HikariConfig;
import org.junit.After;
import org.junit.Before;
import org.junit.experimental.categories.Category;
/**
* Phoenix storage integration tests without using cache.
*
*/
@Category(HBaseIntegrationTest.class)
public abstract class PhoenixStorageManagerNoCacheIntegrationTest extends JdbcStorageManagerIntegrationTest {
public PhoenixStorageManagerNoCacheIntegrationTest() {
// setConnectionBuilder();
jdbcStorageManager = createJdbcStorageManager(new PhoenixExecutor(new ExecutionConfig(-1), connectionBuilder));
}
@Before
public void setUp() throws Exception {
JdbcClient jdbcClient = new JdbcClient();
jdbcClient.runScript("phoenix/create_tables.sql");
}
@After
public void tearDown() throws Exception {
JdbcClient jdbcClient = new JdbcClient();
jdbcClient.runScript("phoenix/drop_tables.sql");
jdbcStorageManager.cleanup();
}
protected static void setConnectionBuilder() {
HikariConfig hikariConfig = new HikariConfig();
try {
Class.forName("org.apache.phoenix.jdbc.PhoenixDriver");
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
hikariConfig.setJdbcUrl("jdbc:phoenix:localhost:2181");
connectionBuilder = new HikariCPConnectionBuilder(hikariConfig);
}
}