package io.searchbox.core;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
/**
* @author Dogukan Sonmez
*/
public class DeleteByQueryTest {
@Test
public void getURIWithoutIndexAndType() {
assertEquals("_all/_delete_by_query", new DeleteByQuery.Builder(null).build().getURI());
}
@Test
public void getURIWithOnlyOneIndex() {
assertEquals("twitter/_delete_by_query", new DeleteByQuery.Builder(null).addIndex("twitter").build().getURI());
}
@Test
public void getURIWithOnlyMultipleType() {
assertEquals("_all/tweet%2Cjest/_delete_by_query", new DeleteByQuery.Builder(null).addType("tweet").addType("jest").build().getURI());
}
@Test
public void getURIWithOneIndexAndOneType() {
assertEquals("twitter/tweet/_delete_by_query", new DeleteByQuery.Builder(null).addIndex("twitter").addType("tweet").build().getURI());
}
@Test
public void getURIWithOnlyMultipleIndex() {
assertEquals("twitter%2Csearchbox/_delete_by_query",
new DeleteByQuery.Builder(null).addIndex("twitter").addIndex("searchbox").build().getURI());
}
@Test
public void getURIWithMultipleIndexAndTypes() {
assertEquals("twitter%2Csearchbox/tweet%2Cjest/_delete_by_query", new DeleteByQuery.Builder(null)
.addIndex("twitter")
.addIndex("searchbox")
.addType("tweet")
.addType("jest")
.build()
.getURI());
}
@Test
public void equals() {
DeleteByQuery deleteUserKramer = new DeleteByQuery.Builder("{\"user\":\"kramer\"}")
.addIndex("twitter")
.addIndex("searchbox")
.addType("tweet")
.addType("jest")
.build();
DeleteByQuery deleteUserKramerDuplicate = new DeleteByQuery.Builder("{\"user\":\"kramer\"}")
.addIndex("twitter")
.addIndex("searchbox")
.addType("tweet")
.addType("jest")
.build();
assertEquals(deleteUserKramer, deleteUserKramerDuplicate);
}
@Test
public void equalsReturnsFalseForDifferentQueries() {
DeleteByQuery deleteUserKramer = new DeleteByQuery.Builder("{\"user\":\"kramer\"}")
.addIndex("twitter")
.addIndex("searchbox")
.addType("tweet")
.addType("jest")
.build();
DeleteByQuery deleteUserJerry = new DeleteByQuery.Builder("{\"user\":\"jerry\"}")
.addIndex("twitter")
.addIndex("searchbox")
.addType("tweet")
.addType("jest")
.build();
assertNotEquals(deleteUserKramer, deleteUserJerry);
}
}