package alien4cloud.component.dao; import java.util.concurrent.ExecutionException; import javax.annotation.Resource; import org.elasticsearch.client.Client; import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.mapping.ElasticSearchClient; import org.junit.After; import org.junit.Before; import alien4cloud.dao.ElasticSearchDAO; import alien4cloud.model.application.Application; import org.alien4cloud.tosca.model.templates.Topology; public abstract class AbstractDAOTest { @Resource protected ElasticSearchClient esclient; protected Client nodeClient; @Before public void before() throws Exception { nodeClient = esclient.getClient(); clean(); } private void refresh(String indexName) { nodeClient.admin().indices().prepareRefresh(indexName).execute().actionGet(); } private void clearIndex(String indexName) throws InterruptedException, ExecutionException { nodeClient.prepareDeleteByQuery(indexName).setQuery(QueryBuilders.matchAllQuery()).execute().get(); } public void refresh() { refresh(Application.class.getSimpleName().toLowerCase()); refresh(ElasticSearchDAO.TOSCA_ELEMENT_INDEX); refresh(Topology.class.getSimpleName().toLowerCase()); } @After public void clean() throws Exception { clearIndex(Application.class.getSimpleName().toLowerCase()); clearIndex(ElasticSearchDAO.TOSCA_ELEMENT_INDEX); clearIndex(Topology.class.getSimpleName().toLowerCase()); refresh(); } }