|
20 | 20 | package org.elasticsearch.index.query;
|
21 | 21 |
|
22 | 22 | import org.apache.lucene.search.Query;
|
23 |
| -import org.elasticsearch.index.query.ScriptQueryBuilder.ScriptQuery; |
| 23 | +import org.elasticsearch.common.ParsingException; |
24 | 24 | import org.elasticsearch.script.MockScriptEngine;
|
25 | 25 | import org.elasticsearch.script.Script;
|
26 | 26 | import org.elasticsearch.script.ScriptType;
|
|
32 | 32 | import java.util.Map;
|
33 | 33 | import java.util.Set;
|
34 | 34 |
|
| 35 | +import static org.hamcrest.Matchers.containsString; |
35 | 36 | import static org.hamcrest.Matchers.instanceOf;
|
36 | 37 |
|
37 | 38 | public class ScriptQueryBuilderTests extends AbstractQueryTestCase<ScriptQueryBuilder> {
|
@@ -89,6 +90,25 @@ public void testFromJson() throws IOException {
|
89 | 90 | assertEquals(json, "5", parsed.script().getIdOrCode());
|
90 | 91 | }
|
91 | 92 |
|
| 93 | + public void testArrayOfScriptsException() { |
| 94 | + String json = |
| 95 | + "{\n" + |
| 96 | + " \"script\" : {\n" + |
| 97 | + " \"script\" : [ {\n" + |
| 98 | + " \"source\" : \"5\",\n" + |
| 99 | + " \"lang\" : \"mockscript\"\n" + |
| 100 | + " },\n" + |
| 101 | + " {\n" + |
| 102 | + " \"source\" : \"6\",\n" + |
| 103 | + " \"lang\" : \"mockscript\"\n" + |
| 104 | + " }\n ]" + |
| 105 | + " }\n" + |
| 106 | + "}"; |
| 107 | + |
| 108 | + ParsingException e = expectThrows(ParsingException.class, () -> parseQuery(json)); |
| 109 | + assertThat(e.getMessage(), containsString("does not support an array of scripts")); |
| 110 | + } |
| 111 | + |
92 | 112 | @Override
|
93 | 113 | protected Set<String> getObjectsHoldingArbitraryContent() {
|
94 | 114 | //script_score.script.params can contain arbitrary parameters. no error is expected when
|
|
0 commit comments