|
19 | 19 | import org.elasticsearch.logsdb.datageneration.DataGeneratorSpecification; |
20 | 20 | import org.elasticsearch.logsdb.datageneration.DocumentGenerator; |
21 | 21 | import org.elasticsearch.logsdb.datageneration.FieldType; |
| 22 | +import org.elasticsearch.logsdb.datageneration.Mapping; |
22 | 23 | import org.elasticsearch.logsdb.datageneration.MappingGenerator; |
23 | 24 | import org.elasticsearch.logsdb.datageneration.Template; |
24 | 25 | import org.elasticsearch.logsdb.datageneration.datasource.DataSourceHandler; |
@@ -112,6 +113,20 @@ private void runTest(Template template, String fieldName) throws IOException { |
112 | 113 | assertEquals(expected, blockLoaderResult); |
113 | 114 | } |
114 | 115 |
|
| 116 | + public void testSynth() throws IOException { |
| 117 | + Map<String, Object> raw = Map.of("type", "keyword", "doc_values", false, "store", false); |
| 118 | + var mapping = new Mapping(Map.of("_doc", Map.of("properties", Map.of(fieldName, raw))), Map.of(fieldName, raw)); |
| 119 | + var mappingXContent = XContentBuilder.builder(XContentType.JSON.xContent()).map(mapping.raw()); |
| 120 | + |
| 121 | + var mapperService = createSytheticSourceMapperService(mappingXContent); |
| 122 | + |
| 123 | + var fieldValue = generator.generateValue(); |
| 124 | + |
| 125 | + Object blockLoaderResult = setupAndInvokeBlockLoader(mapperService, fieldValue); |
| 126 | + Object expected = expected(mapping.lookup().get(fieldName), fieldValue, true); |
| 127 | + assertEquals(expected, blockLoaderResult); |
| 128 | + } |
| 129 | + |
115 | 130 | protected abstract Object expected(Map<String, Object> fieldMapping, Object value, boolean syntheticSource); |
116 | 131 |
|
117 | 132 | private Object getFieldValue(Map<String, Object> document, String fieldName) { |
|
0 commit comments