Skip to content

Commit fb9647d

Browse files
Don't mock script factory in ScriptProcessorTests
1 parent 89874c9 commit fb9647d

File tree

1 file changed

+21
-20
lines changed

1 file changed

+21
-20
lines changed

modules/ingest-common/src/test/java/org/elasticsearch/ingest/common/ScriptProcessorTests.java

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -19,50 +19,51 @@
1919

2020
package org.elasticsearch.ingest.common;
2121

22+
import java.util.Collections;
2223
import java.util.HashMap;
2324
import java.util.Map;
2425

26+
import org.elasticsearch.common.settings.Settings;
2527
import org.elasticsearch.ingest.IngestDocument;
2628
import org.elasticsearch.ingest.RandomDocumentPicks;
27-
import org.elasticsearch.script.IngestScript;
29+
import org.elasticsearch.script.MockScriptEngine;
2830
import org.elasticsearch.script.Script;
31+
import org.elasticsearch.script.ScriptModule;
2932
import org.elasticsearch.script.ScriptService;
33+
import org.elasticsearch.script.ScriptType;
3034
import org.elasticsearch.test.ESTestCase;
3135

3236
import static org.hamcrest.Matchers.hasKey;
3337
import static org.hamcrest.core.Is.is;
34-
import static org.mockito.Matchers.anyMapOf;
35-
import static org.mockito.Mockito.any;
36-
import static org.mockito.Mockito.doAnswer;
37-
import static org.mockito.Mockito.mock;
38-
import static org.mockito.Mockito.when;
3938

4039
public class ScriptProcessorTests extends ESTestCase {
4140

4241
public void testScripting() throws Exception {
4342
int randomBytesIn = randomInt();
4443
int randomBytesOut = randomInt();
4544
int randomBytesTotal = randomBytesIn + randomBytesOut;
46-
47-
ScriptService scriptService = mock(ScriptService.class);
48-
Script script = mockScript("_script");
49-
IngestScript.Factory factory = mock(IngestScript.Factory.class);
50-
IngestScript executableScript = mock(IngestScript.class);
51-
when(scriptService.compile(script, IngestScript.CONTEXT)).thenReturn(factory);
52-
when(factory.newInstance(any())).thenReturn(executableScript);
45+
String scriptName = "script";
46+
ScriptService scriptService = new ScriptService(Settings.builder().build(),
47+
Collections.singletonMap(
48+
Script.DEFAULT_SCRIPT_LANG, new MockScriptEngine(
49+
Script.DEFAULT_SCRIPT_LANG,
50+
Collections.singletonMap(
51+
scriptName, ctx -> {
52+
ctx.put("bytes_total", randomBytesTotal);
53+
return null;
54+
}
55+
)
56+
)
57+
),
58+
new HashMap<>(ScriptModule.CORE_CONTEXTS)
59+
);
60+
Script script = new Script(ScriptType.INLINE, Script.DEFAULT_SCRIPT_LANG, scriptName, Collections.emptyMap());
5361

5462
Map<String, Object> document = new HashMap<>();
5563
document.put("bytes_in", randomInt());
5664
document.put("bytes_out", randomInt());
5765
IngestDocument ingestDocument = RandomDocumentPicks.randomIngestDocument(random(), document);
5866

59-
doAnswer(invocationOnMock -> {
60-
@SuppressWarnings("unchecked")
61-
Map<String, Object> ctx = (Map<String, Object>) invocationOnMock.getArguments()[0];
62-
ctx.put("bytes_total", randomBytesTotal);
63-
return null;
64-
}).when(executableScript).execute(anyMapOf(String.class, Object.class));
65-
6667
ScriptProcessor processor = new ScriptProcessor(randomAlphaOfLength(10), script, scriptService);
6768

6869
processor.execute(ingestDocument);

0 commit comments

Comments
 (0)