diff --git a/analytics-tests/src/test/java/com/segment/analytics/BatchPayloadWriterTest.java b/analytics-tests/src/test/java/com/segment/analytics/BatchPayloadWriterTest.java index 9c192fc58..46affff94 100644 --- a/analytics-tests/src/test/java/com/segment/analytics/BatchPayloadWriterTest.java +++ b/analytics-tests/src/test/java/com/segment/analytics/BatchPayloadWriterTest.java @@ -51,9 +51,12 @@ public class BatchPayloadWriterTest { .endObject() .close(); + // todo: inject a fake clock. for now we'll compare a lower precision. + String date = toISO8601Date(new Date()); + String expectedDate = date.substring(0, date.length() - 8); + assertThat(byteArrayOutputStream.toString()) // - .isEqualTo("{\"batch\":[qaz],\"sentAt\":\"" + toISO8601Date(new Date()) + "\"}") - .overridingErrorMessage("its ok if this failed close to midnight!"); + .contains("{\"batch\":[qaz],\"sentAt\":\"" + expectedDate); } @Test public void batchPayloadWriterFailsForNoItem() throws IOException { diff --git a/analytics/src/main/java/com/segment/analytics/internal/Utils.java b/analytics/src/main/java/com/segment/analytics/internal/Utils.java index bee72fc86..ae2513e37 100644 --- a/analytics/src/main/java/com/segment/analytics/internal/Utils.java +++ b/analytics/src/main/java/com/segment/analytics/internal/Utils.java @@ -81,7 +81,7 @@ public final class Utils { private static final ThreadLocal ISO_8601_DATE_FORMAT = new ThreadLocal() { @Override protected DateFormat initialValue() { - return new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ", Locale.US); + return new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ", Locale.US); } };