package org.rakam.analysis; import com.google.common.eventbus.EventBus; import org.rakam.TestingEnvironment; import org.rakam.analysis.datasource.CustomDataSourceService; import org.rakam.analysis.metadata.Metastore; import org.rakam.collection.FieldDependencyBuilder; import org.rakam.config.ProjectConfig; import org.rakam.postgresql.analysis.PostgresqlMaterializedViewService; import org.rakam.postgresql.analysis.PostgresqlMetastore; import org.rakam.postgresql.report.PostgresqlPseudoContinuousQueryService; import org.rakam.postgresql.report.PostgresqlQueryExecutor; import org.rakam.report.QueryExecutorService; import org.testng.annotations.BeforeSuite; import java.time.Clock; public class TestPostgresqlContinuousQueryService extends TestContinuousQueryService { private TestingEnvironment testingPostgresqlServer; private PostgresqlPseudoContinuousQueryService continuousQueryService; private PostgresqlMetastore metastore; @BeforeSuite public void setUp() throws Exception { testingPostgresqlServer = new TestingEnvironment(); InMemoryQueryMetadataStore queryMetadataStore = new InMemoryQueryMetadataStore(); JDBCPoolDataSource dataSource = JDBCPoolDataSource.getOrCreateDataSource(testingPostgresqlServer.getPostgresqlConfig()); metastore = new PostgresqlMetastore(dataSource, new EventBus()); PostgresqlQueryExecutor queryExecutor = new PostgresqlQueryExecutor(new ProjectConfig(), dataSource, metastore, new CustomDataSourceService(dataSource), false); QueryExecutorService executorService = new QueryExecutorService(queryExecutor, metastore, new PostgresqlMaterializedViewService(new ProjectConfig(), queryExecutor, queryMetadataStore), Clock.systemUTC(), '"'); continuousQueryService = new PostgresqlPseudoContinuousQueryService(queryMetadataStore, executorService, queryExecutor); } @Override public ContinuousQueryService getContinuousQueryService() { return continuousQueryService; } @Override public Metastore getMetastore() { return metastore; } }