package io.searchbox.indices; import com.google.gson.Gson; import org.elasticsearch.common.settings.Settings; import org.junit.Test; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals; /** * @author Dogukan Sonmez */ public class CreateIndexTest { @Test public void createIndexWithoutSettings() { CreateIndex createIndex = new CreateIndex.Builder("tweet").build(); assertEquals("tweet", createIndex.getURI()); assertEquals("PUT", createIndex.getRestMethodName()); String settings = new Gson().toJson(createIndex.getData(new Gson())); assertEquals("\"{}\"", settings); } @Test public void equalsReturnsTrueForSameSettings() { final Settings.Builder indexerSettings = Settings.builder(); indexerSettings.put("analysis.analyzer.events.type", "custom"); indexerSettings.put("analysis.analyzer.events.tokenizer", "standard"); indexerSettings.put("analysis.analyzer.events.filter", "snowball, standard, lowercase"); CreateIndex createIndex1 = new CreateIndex.Builder("tweet").settings(indexerSettings.build().getAsMap()).build(); CreateIndex createIndex1Duplicate = new CreateIndex.Builder("tweet").settings(indexerSettings.build().getAsMap()).build(); assertEquals(createIndex1, createIndex1Duplicate); } @Test public void equalsReturnsFalseForDifferentSettings() { final Settings.Builder indexerSettings = Settings.builder(); indexerSettings.put("analysis.analyzer.events.type", "custom"); indexerSettings.put("analysis.analyzer.events.tokenizer", "standard"); CreateIndex createIndex1 = new CreateIndex.Builder("tweet").settings(indexerSettings.build().getAsMap()).build(); indexerSettings.put("analysis.analyzer.events.filter", "snowball, standard, lowercase"); CreateIndex createIndex2 = new CreateIndex.Builder("tweet").settings(indexerSettings.build().getAsMap()).build(); assertNotEquals(createIndex1, createIndex2); } }