Fix error message for a put index template request without index_patterns (#27102)

Just correct the error message from "Validation Failed: 1: pattern is
missing;" to "Validation Failed: 1: index_patterns is missing;".

Closes #27100
This commit is contained in:
Nhat 2017-10-25 18:54:40 -04:00 committed by GitHub
parent 981b7f4d39
commit adc195e30c
3 changed files with 33 additions and 1 deletions

View File

@ -104,7 +104,7 @@ public class PutIndexTemplateRequest extends MasterNodeRequest<PutIndexTemplateR
validationException = addValidationError("name is missing", validationException); validationException = addValidationError("name is missing", validationException);
} }
if (indexPatterns == null || indexPatterns.size() == 0) { if (indexPatterns == null || indexPatterns.size() == 0) {
validationException = addValidationError("pattern is missing", validationException); validationException = addValidationError("index patterns are missing", validationException);
} }
return validationException; return validationException;
} }

View File

@ -19,6 +19,7 @@
package org.elasticsearch.action.admin.indices.template.put; package org.elasticsearch.action.admin.indices.template.put;
import org.elasticsearch.Version; import org.elasticsearch.Version;
import org.elasticsearch.action.ActionRequestValidationException;
import org.elasticsearch.common.bytes.BytesArray; import org.elasticsearch.common.bytes.BytesArray;
import org.elasticsearch.common.io.stream.BytesStreamOutput; import org.elasticsearch.common.io.stream.BytesStreamOutput;
import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamInput;
@ -32,6 +33,11 @@ import java.util.Arrays;
import java.util.Base64; import java.util.Base64;
import java.util.Collections; import java.util.Collections;
import static org.hamcrest.Matchers.containsString;
import static org.hamcrest.Matchers.hasSize;
import static org.hamcrest.Matchers.nullValue;
import static org.hamcrest.core.Is.is;
public class PutIndexTemplateRequestTests extends ESTestCase { public class PutIndexTemplateRequestTests extends ESTestCase {
// bwc for #21009 // bwc for #21009
@ -107,4 +113,21 @@ public class PutIndexTemplateRequestTests extends ESTestCase {
assertEquals("template", request.patterns().get(0)); assertEquals("template", request.patterns().get(0));
} }
} }
public void testValidateErrorMessage() throws Exception {
PutIndexTemplateRequest request = new PutIndexTemplateRequest();
ActionRequestValidationException withoutNameAndPattern = request.validate();
assertThat(withoutNameAndPattern.getMessage(), containsString("name is missing"));
assertThat(withoutNameAndPattern.getMessage(), containsString("index patterns are missing"));
request.name("foo");
ActionRequestValidationException withoutIndexPatterns = request.validate();
assertThat(withoutIndexPatterns.validationErrors(), hasSize(1));
assertThat(withoutIndexPatterns.getMessage(), containsString("index patterns are missing"));
request.patterns(Collections.singletonList("test-*"));
ActionRequestValidationException noError = request.validate();
assertThat(noError, is(nullValue()));
}
} }

View File

@ -210,3 +210,12 @@
catch: missing catch: missing
indices.get_template: indices.get_template:
name: "my_template" name: "my_template"
---
"Put index template without index_patterns":
- do:
catch: /index patterns are missing/
indices.put_template:
name: test
body: {}