package org.stagemonitor.tracing.prof.elasticsearch;
import org.elasticsearch.action.search.SearchType;
import org.elasticsearch.index.query.QueryBuilders;
import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.Test;
import org.stagemonitor.AbstractElasticsearchTest;
import org.stagemonitor.core.Stagemonitor;
import org.stagemonitor.tracing.profiler.CallStackElement;
import org.stagemonitor.tracing.profiler.Profiler;
public class ElasticsearchSearchQueryTransformerTest extends AbstractElasticsearchTest {
@BeforeClass
public static void attachProfiler() {
Stagemonitor.init();
}
@Test
public void testCollectElasticsearchQueries() throws Exception {
CallStackElement total = Profiler.activateProfiling("total");
client.prepareSearch().setQuery(QueryBuilders.matchAllQuery()).get();
client.prepareSearch().setQuery(QueryBuilders.matchAllQuery()).setSearchType(SearchType.DFS_QUERY_THEN_FETCH).get();
Profiler.stop();
Assert.assertEquals(total.toString(), "POST /_search\n" +
"{\n" +
" \"query\" : {\n" +
" \"match_all\" : {\n" +
" \"boost\" : 1.0\n" +
" }\n" +
" },\n" +
" \"ext\" : { }\n" +
"} ", total.getChildren().get(0).getSignature());
Assert.assertEquals(total.toString(), "POST /_search?search_type=dfs_query_then_fetch\n" +
"{\n" +
" \"query\" : {\n" +
" \"match_all\" : {\n" +
" \"boost\" : 1.0\n" +
" }\n" +
" },\n" +
" \"ext\" : { }\n" +
"} ", total.getChildren().get(1).getSignature());
}
}