Skip to content

Commit

Permalink
[TEST] Added tests for alias filter that is valid json but not a vali…
Browse files Browse the repository at this point in the history
…d filter
  • Loading branch information
javanna committed Feb 19, 2014
1 parent d3ed795 commit 1d54343
Showing 1 changed file with 37 additions and 9 deletions.
46 changes: 37 additions & 9 deletions src/test/java/org/elasticsearch/aliases/IndexAliasesTests.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,10 @@
import org.elasticsearch.ElasticsearchIllegalArgumentException;
import org.elasticsearch.action.ActionRequestValidationException;
import org.elasticsearch.action.admin.indices.alias.Alias;
import org.elasticsearch.action.admin.indices.alias.IndicesAliasesRequestBuilder;
import org.elasticsearch.action.admin.indices.alias.exists.AliasesExistResponse;
import org.elasticsearch.action.admin.indices.alias.get.GetAliasesResponse;
import org.elasticsearch.action.admin.indices.create.CreateIndexRequestBuilder;
import org.elasticsearch.action.index.IndexResponse;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.cluster.ClusterState;
Expand Down Expand Up @@ -100,12 +102,22 @@ public void testFailedFilter() throws Exception {

ensureGreen();

//invalid filter, invalid json
IndicesAliasesRequestBuilder indicesAliasesRequestBuilder = admin().indices().prepareAliases().addAlias("test", "alias1", "abcde");
try {
logger.info("--> aliasing index [test] with [alias1] and filter [t]");
admin().indices().prepareAliases().addAlias("test", "alias1", "{ t }").get();
fail();
} catch (Exception e) {
// all is well
indicesAliasesRequestBuilder.get();
fail("put alias should have been failed due to invalid filter");
} catch (ElasticsearchIllegalArgumentException e) {
assertThat(e.getMessage(), equalTo("failed to parse filter for alias [alias1]"));
}

//valid json , invalid filter
indicesAliasesRequestBuilder = admin().indices().prepareAliases().addAlias("test", "alias1", "{ \"test\": {} }");
try {
indicesAliasesRequestBuilder.get();
fail("put alias should have been failed due to invalid filter");
} catch (ElasticsearchIllegalArgumentException e) {
assertThat(e.getMessage(), equalTo("failed to parse filter for alias [alias1]"));
}
}

Expand Down Expand Up @@ -855,11 +867,27 @@ public void testCreateIndexWithAliasesSource() throws Exception {
checkAliases();
}

@Test (expected = ElasticsearchIllegalArgumentException.class)
@Test
public void testCreateIndexWithAliasesFilterNotValid() {
prepareCreate("test").addAlias(new Alias("alias1"))
.addAlias(new Alias("alias2").filter("f"))
.addAlias(new Alias("alias3").indexRouting("index").searchRouting("search")).get();
//non valid filter, invalid json
CreateIndexRequestBuilder createIndexRequestBuilder = prepareCreate("test").addAlias(new Alias("alias2").filter("f"));

try {
createIndexRequestBuilder.get();
fail("create index should have failed due to invalid alias filter");
} catch (ElasticsearchIllegalArgumentException e) {
assertThat(e.getMessage(), equalTo("failed to parse filter for alias [alias2]"));
}

//valid json but non valid filter
createIndexRequestBuilder = prepareCreate("test").addAlias(new Alias("alias2").filter("{ \"test\": {} }"));

try {
createIndexRequestBuilder.get();
fail("create index should have failed due to invalid alias filter");
} catch (ElasticsearchIllegalArgumentException e) {
assertThat(e.getMessage(), equalTo("failed to parse filter for alias [alias2]"));
}
}

private void checkAliases() {
Expand Down

0 comments on commit 1d54343

Please sign in to comment.