Skip to content

Commit 6409abe

Browse files
committed
Fix tests
1 parent a83baab commit 6409abe

File tree

2 files changed

+26
-19
lines changed

2 files changed

+26
-19
lines changed

server/src/test/java/org/elasticsearch/index/mapper/DateFieldMapperTests.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import org.elasticsearch.index.mapper.MapperService.MergeReason;
3737
import org.elasticsearch.index.termvectors.TermVectorsService;
3838
import org.elasticsearch.plugins.Plugin;
39+
import org.elasticsearch.search.DocValueFormat;
3940
import org.elasticsearch.test.ESSingleNodeTestCase;
4041
import org.elasticsearch.test.InternalSettingsPlugin;
4142
import org.junit.Before;
@@ -494,17 +495,19 @@ public void testFetchValuesNanos() throws IOException {
494495
}
495496

496497
public void testFetchDocValuesMillis() throws IOException {
497-
DateFieldMapper mapper = createMapper(Resolution.MILLISECONDS, "strict_date_time");
498+
DateFieldMapper mapper = createMapper(Resolution.MILLISECONDS, "strict_date_time||epoch_millis");
499+
DocValueFormat format = mapper.mappedFieldType.docValueFormat(null, null);
498500
String date = "2020-05-15T21:33:02.123Z";
499-
assertEquals(List.of(date), fetchFromDocValues(mapper, null, date));
500-
assertEquals(List.of(date), fetchFromDocValues(mapper, null, 1589578382123L));
501+
assertEquals(List.of(date), fetchFromDocValues(mapper, format, date));
502+
assertEquals(List.of(date), fetchFromDocValues(mapper, format, 1589578382123L));
501503
}
502504

503505
public void testFetchDocValuesNanos() throws IOException {
504-
DateFieldMapper mapper = createMapper(Resolution.NANOSECONDS, "strict_date_time");
506+
DateFieldMapper mapper = createMapper(Resolution.NANOSECONDS, "strict_date_time||epoch_millis");
507+
DocValueFormat format = DocValueFormat.withNanosecondResolution(mapper.mappedFieldType.docValueFormat(null, null));
505508
String date = "2020-05-15T21:33:02.123456789Z";
506-
assertEquals(List.of(date), fetchFromDocValues(mapper, null, date));
507-
assertEquals(List.of("2020-05-15T21:33:02.123Z"), fetchFromDocValues(mapper, null, 1589578382123L));
509+
assertEquals(List.of(date), fetchFromDocValues(mapper, format, date));
510+
assertEquals(List.of("2020-05-15T21:33:02.123Z"), fetchFromDocValues(mapper, format, 1589578382123L));
508511
}
509512

510513
private DateFieldMapper createMapper(Resolution resolution, String format) {

test/framework/src/main/java/org/elasticsearch/test/ESSingleNodeTestCase.java

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
import org.apache.lucene.search.Scorable;
3131
import org.apache.lucene.search.ScoreMode;
3232
import org.apache.lucene.store.Directory;
33-
import org.apache.lucene.util.BytesRef;
3433
import org.apache.lucene.util.SetOnce;
3534
import org.elasticsearch.action.admin.cluster.health.ClusterHealthResponse;
3635
import org.elasticsearch.action.admin.indices.create.CreateIndexRequestBuilder;
@@ -45,8 +44,7 @@
4544
import org.elasticsearch.cluster.routing.allocation.DiskThresholdSettings;
4645
import org.elasticsearch.common.Priority;
4746
import org.elasticsearch.common.Strings;
48-
import org.elasticsearch.common.bytes.BytesArray;
49-
import org.elasticsearch.common.lucene.BytesRefs;
47+
import org.elasticsearch.common.bytes.BytesReference;
5048
import org.elasticsearch.common.settings.Settings;
5149
import org.elasticsearch.common.unit.TimeValue;
5250
import org.elasticsearch.common.util.BigArrays;
@@ -55,6 +53,8 @@
5553
import org.elasticsearch.common.xcontent.NamedXContentRegistry;
5654
import org.elasticsearch.common.xcontent.XContentBuilder;
5755
import org.elasticsearch.common.xcontent.XContentParser;
56+
import org.elasticsearch.common.xcontent.XContentParser.Token;
57+
import org.elasticsearch.common.xcontent.XContentParserUtils;
5858
import org.elasticsearch.common.xcontent.XContentType;
5959
import org.elasticsearch.common.xcontent.json.JsonXContent;
6060
import org.elasticsearch.core.internal.io.IOUtils;
@@ -444,36 +444,40 @@ public void collect(int doc) throws IOException {
444444
/**
445445
* Use a {@linkplain FieldMapper} to extract values from doc values.
446446
*/
447-
protected static List<?> fetchFromDocValues(FieldMapper mapper, String format, Object sourceValue) throws IOException {
447+
protected static List<?> fetchFromDocValues(FieldMapper mapper, DocValueFormat format, Object sourceValue) throws IOException {
448448
MapperService mapperService = mock(MapperService.class);
449449
when(mapperService.fieldType(any())).thenReturn(mapper.fieldType());
450450
Function<MappedFieldType, IndexFieldData<?>> fieldDataLookup = mft -> mft.fielddataBuilder("test", () -> {
451451
throw new UnsupportedOperationException();
452452
}).build(new IndexFieldDataCache.None(), new NoneCircuitBreakerService(), mapperService);
453453
try (Directory directory = newDirectory(); RandomIndexWriter iw = new RandomIndexWriter(random(), directory)) {
454-
BytesRef source = BytesRefs.toBytesRef(
454+
BytesReference source = BytesReference.bytes(
455455
JsonXContent.contentBuilder().startObject().field(mapper.name(), sourceValue).endObject()
456456
);
457-
ParseContext.Document doc = new ParseContext.Document();
458-
ParseContext context = mock(ParseContext.class);
459-
when(context.doc()).thenReturn(doc);
460-
when(context.sourceToParse()).thenReturn(new SourceToParse("test", "id", new BytesArray(source), XContentType.JSON));
461457
try (
462458
XContentParser parser = JsonXContent.jsonXContent.createParser(
463459
NamedXContentRegistry.EMPTY,
464460
DeprecationHandler.THROW_UNSUPPORTED_OPERATION,
465-
source.utf8ToString()
461+
source.streamInput()
466462
)
467463
) {
464+
ParseContext.Document doc = new ParseContext.Document();
465+
ParseContext context = mock(ParseContext.class);
466+
when(context.doc()).thenReturn(doc);
467+
when(context.sourceToParse()).thenReturn(new SourceToParse("test", "id", source, XContentType.JSON));
468+
when(context.parser()).thenReturn(parser);
468469
parser.nextToken();
470+
XContentParserUtils.ensureExpectedToken(Token.START_OBJECT, parser.currentToken(), parser::getTokenLocation);
471+
XContentParserUtils.ensureFieldName(parser, parser.nextToken(), mapper.name());
469472
parser.nextToken();
470473
mapper.parse(context);
474+
parser.nextToken();
475+
XContentParserUtils.ensureExpectedToken(Token.END_OBJECT, parser.currentToken(), parser::getTokenLocation);
476+
iw.addDocument(doc);
471477
}
472-
iw.addDocument(doc);
473478
try (DirectoryReader reader = iw.getReader()) {
474479
IndexSearcher indexSearcher = newSearcher(reader);
475480
SearchLookup lookup = new SearchLookup(mapperService, fieldDataLookup);
476-
DocValueFormat dvFormat = mapper.fieldType().docValueFormat(format, null);
477481
IndexFieldData<?> ifd = lookup.doc().getForField(mapper.fieldType());
478482
SetOnce<List<?>> result = new SetOnce<>();
479483
indexSearcher.search(new MatchAllDocsQuery(), new Collector() {
@@ -484,7 +488,7 @@ public ScoreMode scoreMode() {
484488

485489
@Override
486490
public LeafCollector getLeafCollector(LeafReaderContext context) throws IOException {
487-
LeafValueFetcher lvf = ifd.load(context).buildFetcher(dvFormat);
491+
LeafValueFetcher lvf = ifd.load(context).buildFetcher(format);
488492
return new LeafCollector() {
489493
@Override
490494
public void setScorer(Scorable scorer) throws IOException {}

0 commit comments

Comments
 (0)