DATAES-847 - Add missing DateFormat values.

Original PR: #469
This commit is contained in:
Tim te Beek 2020-05-29 18:52:54 +02:00 committed by GitHub
parent cb750e03a9
commit fa317014a7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 27 additions and 4 deletions

View File

@ -17,6 +17,7 @@ package org.springframework.data.elasticsearch.annotations;
/**
* @author Jakub Vavrik
* @author Tim te Beek
* Values based on reference doc - https://www.elastic.co/guide/reference/mapping/date-format/
*/
public enum DateFormat {
@ -24,8 +25,8 @@ public enum DateFormat {
basic_ordinal_date_time_no_millis, basic_time, basic_time_no_millis, basic_t_time, basic_t_time_no_millis,
basic_week_date, basic_week_date_time, basic_week_date_time_no_millis, date, date_hour, date_hour_minute,
date_hour_minute_second, date_hour_minute_second_fraction, date_hour_minute_second_millis, date_optional_time,
date_time, date_time_no_millis, hour, hour_minute, hour_minute_second, hour_minute_second_fraction,
hour_minute_second_millis, ordinal_date, ordinal_date_time, ordinal_date_time_no_millis, time, time_no_millis,
t_time, t_time_no_millis, week_date, week_date_time, weekDateTimeNoMillis, week_year, weekyearWeek,
weekyearWeekDay, year, year_month, year_month_day
date_time, date_time_no_millis, epoch_millis, epoch_second, hour, hour_minute, hour_minute_second,
hour_minute_second_fraction, hour_minute_second_millis, ordinal_date, ordinal_date_time,
ordinal_date_time_no_millis, time, time_no_millis, t_time, t_time_no_millis, week_date, week_date_time,
week_date_time_no_millis, weekyear, weekyear_week, weekyear_week_day, year, year_month, year_month_day
}

View File

@ -2,6 +2,7 @@ package org.springframework.data.elasticsearch.core.convert;
import static org.assertj.core.api.Assertions.*;
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
@ -16,6 +17,7 @@ import org.springframework.data.elasticsearch.annotations.DateFormat;
/**
* @author Peter-Josef Meisch
* @author Tim te Beek
*/
class ElasticsearchDateConverterTests {
@ -76,4 +78,24 @@ class ElasticsearchDateConverterTests {
assertThat(parsed).isEqualTo(legacyDate);
}
@Test
void shouldParseEpochMillisString() {
Instant instant = Instant.ofEpochMilli(1234568901234L);
ElasticsearchDateConverter converter = ElasticsearchDateConverter.of(DateFormat.epoch_millis);
Date parsed = converter.parse("1234568901234");
assertThat(parsed.toInstant()).isEqualTo(instant);
}
@Test
void shouldConvertInstantToString() {
Instant instant = Instant.ofEpochMilli(1234568901234L);
ElasticsearchDateConverter converter = ElasticsearchDateConverter.of(DateFormat.epoch_millis);
String formatted = converter.format(instant);
assertThat(formatted).isEqualTo("1234568901234");
}
}