Skip to content

Commit 53fdd68

Browse files
test: add two more tests
1 parent 9a80a93 commit 53fdd68

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

modules/data-streams/src/test/java/org/elasticsearch/datastreams/mapper/DataStreamTimestampFieldMapperTests.java

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,53 @@ public void testFieldTypeWithDocValuesSkipper_LogsDBMode() throws IOException {
279279
}
280280
}
281281

282+
public void testFieldTypeWithDocValuesSkipper_LogsDBModeNoTimestampMapping() throws IOException {
283+
final Settings settings = Settings.builder()
284+
.put(IndexSettings.MODE.getKey(), IndexMode.LOGSDB.name())
285+
.put(IndexSortConfig.INDEX_SORT_FIELD_SETTING.getKey(), DataStreamTimestampFieldMapper.DEFAULT_PATH)
286+
.build();
287+
final MapperService mapperService = createMapperService(settings, timestampMapping(true, b -> {}));
288+
289+
final DateFieldMapper timestampMapper = (DateFieldMapper) mapperService.documentMapper()
290+
.mappers()
291+
.getMapper(DataStreamTimestampFieldMapper.DEFAULT_PATH);
292+
assertTrue(timestampMapper.fieldType().hasDocValues());
293+
if (IndexSettings.USE_DOC_VALUES_SKIPPER.get(settings)) {
294+
assertFalse(timestampMapper.fieldType().isIndexed());
295+
assertTrue(timestampMapper.fieldType().hasDocValuesSkipper());
296+
} else {
297+
assertTrue(timestampMapper.fieldType().isIndexed());
298+
assertFalse(timestampMapper.fieldType().hasDocValuesSkipper());
299+
}
300+
}
301+
302+
public void testFieldTypeWithDocValuesSkipper_LogsDBModeTimestampDateNanos() throws IOException {
303+
final Settings settings = Settings.builder()
304+
.put(IndexSettings.MODE.getKey(), IndexMode.LOGSDB.name())
305+
.put(IndexSortConfig.INDEX_SORT_FIELD_SETTING.getKey(), DataStreamTimestampFieldMapper.DEFAULT_PATH)
306+
.build();
307+
final MapperService mapperService = withMapping(
308+
new TestMapperServiceBuilder().settings(settings).applyDefaultMapping(false).build(),
309+
timestampMapping(true, b -> {
310+
b.startObject(DataStreamTimestampFieldMapper.DEFAULT_PATH);
311+
b.field("type", "date_nanos");
312+
b.endObject();
313+
})
314+
);
315+
316+
final DateFieldMapper timestampMapper = (DateFieldMapper) mapperService.documentMapper()
317+
.mappers()
318+
.getMapper(DataStreamTimestampFieldMapper.DEFAULT_PATH);
319+
assertTrue(timestampMapper.fieldType().hasDocValues());
320+
if (IndexSettings.USE_DOC_VALUES_SKIPPER.get(settings)) {
321+
assertFalse(timestampMapper.fieldType().isIndexed());
322+
assertTrue(timestampMapper.fieldType().hasDocValuesSkipper());
323+
} else {
324+
assertTrue(timestampMapper.fieldType().isIndexed());
325+
assertFalse(timestampMapper.fieldType().hasDocValuesSkipper());
326+
}
327+
}
328+
282329
public void testFieldTypeWithDocValuesSkipper_LogsDBModeExplicitTimestampIndexEnabledDocValuesSkipper() throws IOException {
283330
final Settings settings = Settings.builder()
284331
.put(IndexSettings.MODE.getKey(), IndexMode.LOGSDB.name())

0 commit comments

Comments
 (0)