Skip to content
This repository was archived by the owner on Dec 15, 2021. It is now read-only.

Commit 1f4ae69

Browse files
author
folomeev
committed
Fix date/time parse issue
1 parent 4b9b192 commit 1f4ae69

2 files changed

Lines changed: 40 additions & 25 deletions

File tree

libai/src/test/java/ai/api/model/AIResponseTest.java

Lines changed: 36 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,15 @@
66

77
import org.junit.Test;
88

9+
import java.text.DateFormat;
910
import java.text.SimpleDateFormat;
1011
import java.util.Calendar;
1112
import java.util.Date;
1213
import java.util.Locale;
1314
import java.util.Map.Entry;
1415

1516
import ai.api.GsonFactory;
17+
import ai.api.util.ParametersConverter;
1618

1719
import static org.junit.Assert.assertEquals;
1820
import static org.junit.Assert.assertFalse;
@@ -21,33 +23,43 @@
2123

2224
public class AIResponseTest {
2325

24-
public static final String TEST_JSON = "{\n" +
25-
" \"id\": \"d872e7d9-d2ee-4ebd-aaff-655bfc8fbf33\",\n" +
26-
" \"timestamp\": \"2015-03-18T09:54:36.216Z\",\n" +
27-
" \"lang\":\"en\",\n" +
28-
" \"result\": {\n" +
29-
" \"resolvedQuery\": \"remind feed cat tomorrow 7 am\",\n" +
30-
" \"action\": \"task_create\",\n" +
31-
" \"parameters\": {\n" +
32-
" \"date\": \"\",\n" +
33-
" \"date-time\": \"2016-12-21T07:00:00"+(new SimpleDateFormat("Z", Locale.US).format(Calendar.getInstance().getTime()))+"\",\n" +
34-
" \"time\": \"\",\n" +
35-
" \"text\": \"feed cat\",\n" +
36-
" \"priority\": \"\",\n" +
37-
" \"remind\": \"remind\",\n" +
38-
" \"complex_param\": {\"nested_key\": \"nested_value\"}\n" +
39-
" },\n" +
40-
" \"score\":0.875\n" +
41-
" },\n" +
42-
" \"status\": {\n" +
43-
" \"code\": 200,\n" +
44-
" \"errorType\": \"success\"\n" +
45-
" },\n" +
46-
" \"sessionId\":\"0123456789\"\n" +
47-
"}";
26+
public static final String TEST_JSON;
4827

4928
final static Gson gson = GsonFactory.getDefaultFactory().getGson();
5029

30+
static {
31+
Calendar testTime = Calendar.getInstance(Locale.US);
32+
testTime.set(2016, Calendar.DECEMBER, 21, 7, 0, 0);
33+
34+
DateFormat DATE_TIME_FORMAT =
35+
new SimpleDateFormat(ParametersConverter.PROTOCOL_DATE_TIME_FORMAT, Locale.US);
36+
37+
TEST_JSON = "{\n" +
38+
" \"id\": \"d872e7d9-d2ee-4ebd-aaff-655bfc8fbf33\",\n" +
39+
" \"timestamp\": \"2015-03-18T09:54:36.216Z\",\n" +
40+
" \"lang\":\"en\",\n" +
41+
" \"result\": {\n" +
42+
" \"resolvedQuery\": \"remind feed cat tomorrow 7 am\",\n" +
43+
" \"action\": \"task_create\",\n" +
44+
" \"parameters\": {\n" +
45+
" \"date\": \"\",\n" +
46+
" \"date-time\": \""+DATE_TIME_FORMAT.format(testTime.getTime())+"\",\n" +
47+
" \"time\": \"\",\n" +
48+
" \"text\": \"feed cat\",\n" +
49+
" \"priority\": \"\",\n" +
50+
" \"remind\": \"remind\",\n" +
51+
" \"complex_param\": {\"nested_key\": \"nested_value\"}\n" +
52+
" },\n" +
53+
" \"score\":0.875\n" +
54+
" },\n" +
55+
" \"status\": {\n" +
56+
" \"code\": 200,\n" +
57+
" \"errorType\": \"success\"\n" +
58+
" },\n" +
59+
" \"sessionId\":\"0123456789\"\n" +
60+
"}";
61+
}
62+
5163
@Test
5264
public void trimParametersTest() {
5365
final AIResponse aiResponse = gson.fromJson(TEST_JSON, AIResponse.class);

libai/src/test/java/ai/api/util/ParametersConverterTest.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,10 @@ public void parseNullDateTestTime() throws ParseException {
4949

5050
@Test
5151
public void parseDateTimeTest() throws ParseException {
52-
final String input = "2016-12-21T07:00:00" + new SimpleDateFormat("Z").format(new Date());
52+
Calendar src = Calendar.getInstance();
53+
src.set(2016, Calendar.DECEMBER, 21, 7, 0, 0);
54+
final String input =
55+
new SimpleDateFormat(ParametersConverter.PROTOCOL_DATE_TIME_FORMAT).format(src.getTime());
5356

5457
final Calendar date = Calendar.getInstance();
5558
date.setTime(ParametersConverter.parseDateTime(input));

0 commit comments

Comments
 (0)