package io.searchbox.indices.aliases;
import java.util.Map;
import org.elasticsearch.common.collect.MapBuilder;
import org.json.JSONException;
import org.junit.Test;
import org.skyscreamer.jsonassert.JSONAssert;
import com.google.gson.Gson;
/**
* @author cihat keser
*/
public class RemoveAliasMappingTest {
public static final Map<String, Object> USER_FILTER_JSON = new MapBuilder<String, Object>()
.put("term", MapBuilder.newMapBuilder()
.put("user", "kimchy")
.immutableMap())
.immutableMap();
@Test
public void testBasicGetDataForJson() throws JSONException {
RemoveAliasMapping addAliasMapping = new RemoveAliasMapping
.Builder("tIndex", "tAlias")
.build();
String actualJson = new Gson().toJson(addAliasMapping.getData()).toString();
String expectedJson = "[{\"remove\":{\"index\":\"tIndex\",\"alias\":\"tAlias\"}}]";
JSONAssert.assertEquals(expectedJson, actualJson, false);
}
@Test
public void testGetDataForJsonWithFilter() throws JSONException {
RemoveAliasMapping addAliasMapping = new RemoveAliasMapping
.Builder("tIndex", "tAlias")
.setFilter(USER_FILTER_JSON)
.build();
String actualJson = new Gson().toJson(addAliasMapping.getData()).toString();
String expectedJson = "[{\"remove\":{\"index\":\"tIndex\",\"alias\":\"tAlias\",\"filter\":{\"term\":{\"user\":\"kimchy\"}}}}]";
JSONAssert.assertEquals(expectedJson, actualJson, false);
}
@Test
public void testGetDataForJsonWithFilterAndRouting() throws JSONException {
RemoveAliasMapping addAliasMapping = new RemoveAliasMapping
.Builder("tIndex", "tAlias")
.setFilter(USER_FILTER_JSON)
.addRouting("1")
.build();
String actualJson = new Gson().toJson(addAliasMapping.getData()).toString();
String expectedJson = "[{\"remove\":{\"index\":\"tIndex\",\"alias\":\"tAlias\",\"filter\":{\"term\":{\"user\":\"kimchy\"}},\"search_routing\":\"1\",\"index_routing\":\"1\"}}]";
JSONAssert.assertEquals(expectedJson, actualJson, false);
}
}