Skip to content

Fix a RemoveProcessor test that never ran #126464

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Apr 8, 2025
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Conserve precious characters
  • Loading branch information
joegallo committed Apr 8, 2025
commit ab8f3132bcc27dba45350db48b1e4977767934dd
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,12 @@
import org.elasticsearch.script.TemplateScript;
import org.elasticsearch.test.ESTestCase;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import static org.elasticsearch.ingest.common.RemoveProcessor.shouldKeep;
import static org.hamcrest.Matchers.containsString;
import static org.hamcrest.Matchers.is;

Expand Down Expand Up @@ -124,12 +125,7 @@ public void testKeepFields() throws Exception {

IngestDocument document = RandomDocumentPicks.randomIngestDocument(random(), source);

List<TemplateScript.Factory> fieldsToKeep = List.of(
new TestTemplateService.MockTemplateScript.Factory("name"),
new TestTemplateService.MockTemplateScript.Factory("address.street")
);

Processor processor = new RemoveProcessor(randomAlphaOfLength(10), null, new ArrayList<>(), fieldsToKeep, false);
Processor processor = new RemoveProcessor(null, null, List.of(), templates("name", "address.street"), false);
processor.execute(document);
assertTrue(document.hasField("name"));
assertTrue(document.hasField("address"));
Expand All @@ -153,37 +149,26 @@ public void testShouldKeep(String a, String b) {

IngestDocument document = RandomDocumentPicks.randomIngestDocument(random(), source);

assertTrue(RemoveProcessor.shouldKeep("name", List.of(new TestTemplateService.MockTemplateScript.Factory("name")), document));
assertTrue(shouldKeep("name", templates("name"), document));

assertTrue(RemoveProcessor.shouldKeep("age", List.of(new TestTemplateService.MockTemplateScript.Factory("age")), document));
assertTrue(shouldKeep("age", templates("age"), document));

assertFalse(RemoveProcessor.shouldKeep("name", List.of(new TestTemplateService.MockTemplateScript.Factory("age")), document));
assertFalse(shouldKeep("name", templates("age"), document));

assertTrue(
RemoveProcessor.shouldKeep("address", List.of(new TestTemplateService.MockTemplateScript.Factory("address.street")), document)
);
assertTrue(shouldKeep("address", templates("address.street"), document));

assertTrue(
RemoveProcessor.shouldKeep("address", List.of(new TestTemplateService.MockTemplateScript.Factory("address.number")), document)
);
assertTrue(shouldKeep("address", templates("address.number"), document));

assertTrue(
RemoveProcessor.shouldKeep("address.street", List.of(new TestTemplateService.MockTemplateScript.Factory("address")), document)
);
assertTrue(shouldKeep("address.street", templates("address"), document));

assertTrue(
RemoveProcessor.shouldKeep("address.number", List.of(new TestTemplateService.MockTemplateScript.Factory("address")), document)
);
assertTrue(shouldKeep("address.number", templates("address"), document));

assertTrue(RemoveProcessor.shouldKeep("address", List.of(new TestTemplateService.MockTemplateScript.Factory("address")), document));
assertTrue(shouldKeep("address", templates("address"), document));

assertFalse(
RemoveProcessor.shouldKeep(
"address.street",
List.of(new TestTemplateService.MockTemplateScript.Factory("address.number")),
document
)
);
assertFalse(shouldKeep("address.street", templates("address.number"), document));
}

private static List<TemplateScript.Factory> templates(String... fields) {
return Arrays.stream(fields).map(f -> (TemplateScript.Factory) new TestTemplateService.MockTemplateScript.Factory(f)).toList();
}
}