From 94e7cfd94bfbca3cf0c792354b67ba3385da8a1d Mon Sep 17 00:00:00 2001 From: pivovarit Date: Mon, 15 May 2017 22:17:20 +0300 Subject: [PATCH] Refactor ElasticSearchUnitTest --- .../elasticsearch/ElasticSearchUnitTest.java | 123 ++++++++++++------ 1 file changed, 86 insertions(+), 37 deletions(-) diff --git a/spring-data-elasticsearch/src/test/java/com/baeldung/elasticsearch/ElasticSearchUnitTest.java b/spring-data-elasticsearch/src/test/java/com/baeldung/elasticsearch/ElasticSearchUnitTest.java index 410b000e29..552fa8a01c 100644 --- a/spring-data-elasticsearch/src/test/java/com/baeldung/elasticsearch/ElasticSearchUnitTest.java +++ b/spring-data-elasticsearch/src/test/java/com/baeldung/elasticsearch/ElasticSearchUnitTest.java @@ -1,14 +1,6 @@ package com.baeldung.elasticsearch; -import static org.elasticsearch.node.NodeBuilder.*; -import static org.junit.Assert.*; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.List; - +import com.alibaba.fastjson.JSON; import org.elasticsearch.action.delete.DeleteResponse; import org.elasticsearch.action.index.IndexResponse; import org.elasticsearch.action.search.SearchResponse; @@ -22,12 +14,19 @@ import org.elasticsearch.search.SearchHit; import org.junit.Before; import org.junit.Test; -import com.alibaba.fastjson.JSON; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +import static org.elasticsearch.node.NodeBuilder.nodeBuilder; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; public class ElasticSearchUnitTest { private List listOfPersons = new ArrayList(); - String jsonString = null; - Client client = null; + private Client client = null; @Before public void setUp() { @@ -35,15 +34,20 @@ public class ElasticSearchUnitTest { Person person2 = new Person(25, "Janette Doe", new Date()); listOfPersons.add(person1); listOfPersons.add(person2); - jsonString = JSON.toJSONString(listOfPersons); - Node node = nodeBuilder().clusterName("elasticsearch").client(true).node(); + Node node = nodeBuilder() + .clusterName("elasticsearch") + .client(true) + .node(); client = node.client(); } @Test public void givenJsonString_whenJavaObject_thenIndexDocument() { String jsonObject = "{\"age\":20,\"dateOfBirth\":1471466076564,\"fullName\":\"John Doe\"}"; - IndexResponse response = client.prepareIndex("people", "Doe").setSource(jsonObject).get(); + IndexResponse response = client + .prepareIndex("people", "Doe") + .setSource(jsonObject) + .get(); String index = response.getIndex(); String type = response.getType(); assertTrue(response.isCreated()); @@ -54,17 +58,27 @@ public class ElasticSearchUnitTest { @Test public void givenDocumentId_whenJavaObject_thenDeleteDocument() { String jsonObject = "{\"age\":10,\"dateOfBirth\":1471455886564,\"fullName\":\"Johan Doe\"}"; - IndexResponse response = client.prepareIndex("people", "Doe").setSource(jsonObject).get(); + IndexResponse response = client + .prepareIndex("people", "Doe") + .setSource(jsonObject) + .get(); String id = response.getId(); - DeleteResponse deleteResponse = client.prepareDelete("people", "Doe", id).get(); + DeleteResponse deleteResponse = client + .prepareDelete("people", "Doe", id) + .get(); assertTrue(deleteResponse.isFound()); } @Test public void givenSearchRequest_whenMatchAll_thenReturnAllResults() { - SearchResponse response = client.prepareSearch().execute().actionGet(); - SearchHit[] searchHits = response.getHits().getHits(); - List results = new ArrayList(); + SearchResponse response = client + .prepareSearch() + .execute() + .actionGet(); + SearchHit[] searchHits = response + .getHits() + .getHits(); + List results = new ArrayList<>(); for (SearchHit hit : searchHits) { String sourceAsString = hit.getSourceAsString(); Person person = JSON.parseObject(sourceAsString, Person.class); @@ -73,29 +87,64 @@ public class ElasticSearchUnitTest { } @Test - public void givenSearchParamters_thenReturnResults() { - boolean isExecutedSuccessfully = true; - SearchResponse response = client.prepareSearch().setTypes().setSearchType(SearchType.DFS_QUERY_THEN_FETCH).setPostFilter(QueryBuilders.rangeQuery("age").from(5).to(15)).setFrom(0).setSize(60).setExplain(true).execute().actionGet(); + public void givenSearchParameters_thenReturnResults() { + SearchResponse response = client + .prepareSearch() + .setTypes() + .setSearchType(SearchType.DFS_QUERY_THEN_FETCH) + .setPostFilter(QueryBuilders + .rangeQuery("age") + .from(5) + .to(15)) + .setFrom(0) + .setSize(60) + .setExplain(true) + .execute() + .actionGet(); - SearchResponse response2 = client.prepareSearch().setTypes().setSearchType(SearchType.DFS_QUERY_THEN_FETCH).setPostFilter(QueryBuilders.simpleQueryStringQuery("+John -Doe OR Janette")).setFrom(0).setSize(60).setExplain(true).execute().actionGet(); + SearchResponse response2 = client + .prepareSearch() + .setTypes() + .setSearchType(SearchType.DFS_QUERY_THEN_FETCH) + .setPostFilter(QueryBuilders.simpleQueryStringQuery("+John -Doe OR Janette")) + .setFrom(0) + .setSize(60) + .setExplain(true) + .execute() + .actionGet(); - SearchResponse response3 = client.prepareSearch().setTypes().setSearchType(SearchType.DFS_QUERY_THEN_FETCH).setPostFilter(QueryBuilders.matchQuery("John", "Name*")).setFrom(0).setSize(60).setExplain(true).execute().actionGet(); - try { - response2.getHits(); - response3.getHits(); - List searchHits = Arrays.asList(response.getHits().getHits()); - final List results = new ArrayList(); - searchHits.forEach(hit -> results.add(JSON.parseObject(hit.getSourceAsString(), Person.class))); - } catch (Exception e) { - isExecutedSuccessfully = false; - } - assertTrue(isExecutedSuccessfully); + SearchResponse response3 = client + .prepareSearch() + .setTypes() + .setSearchType(SearchType.DFS_QUERY_THEN_FETCH) + .setPostFilter(QueryBuilders.matchQuery("John", "Name*")) + .setFrom(0) + .setSize(60) + .setExplain(true) + .execute() + .actionGet(); + response2.getHits(); + response3.getHits(); + List searchHits = Arrays.asList(response + .getHits() + .getHits()); + final List results = new ArrayList<>(); + searchHits.forEach(hit -> results.add(JSON.parseObject(hit.getSourceAsString(), Person.class))); } @Test public void givenContentBuilder_whenHelpers_thanIndexJson() throws IOException { - XContentBuilder builder = XContentFactory.jsonBuilder().startObject().field("fullName", "Test").field("salary", "11500").field("age", "10").endObject(); - IndexResponse response = client.prepareIndex("people", "Doe").setSource(builder).get(); + XContentBuilder builder = XContentFactory + .jsonBuilder() + .startObject() + .field("fullName", "Test") + .field("salary", "11500") + .field("age", "10") + .endObject(); + IndexResponse response = client + .prepareIndex("people", "Doe") + .setSource(builder) + .get(); assertTrue(response.isCreated()); } }