diff --git a/src/test/java/edu/harvard/iq/dataverse/export/DDIExporterTest.java b/src/test/java/edu/harvard/iq/dataverse/export/DDIExporterTest.java index 8ce823eb600..c9446d7c414 100644 --- a/src/test/java/edu/harvard/iq/dataverse/export/DDIExporterTest.java +++ b/src/test/java/edu/harvard/iq/dataverse/export/DDIExporterTest.java @@ -1,6 +1,10 @@ package edu.harvard.iq.dataverse.export; import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; import edu.harvard.iq.dataverse.ControlledVocabularyValue; import edu.harvard.iq.dataverse.DatasetFieldType; import edu.harvard.iq.dataverse.DatasetFieldType.FieldType; @@ -17,10 +21,15 @@ import java.io.File; import java.io.IOException; import java.io.StringReader; +import java.lang.reflect.Type; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; +import java.time.Instant; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.ZoneId; import java.util.Arrays; import java.util.HashSet; import java.util.Set; @@ -42,7 +51,10 @@ public class DDIExporterTest { private static final SettingsServiceBean settingsService = Mockito.mock(SettingsServiceBean.class); private static final LicenseServiceBean licenseService = Mockito.mock(LicenseServiceBean.class); private static final MockDatasetFieldSvc datasetFieldTypeSvc = new MockDatasetFieldSvc(); - private static final Gson gson = new Gson(); + private static final Gson gson = new GsonBuilder().registerTypeAdapter(LocalDate.class, (JsonDeserializer) (JsonElement json, Type type, JsonDeserializationContext jsonDeserializationContext) -> { + Instant instant = Instant.ofEpochMilli(json.getAsJsonPrimitive().getAsLong()); + return LocalDateTime.ofInstant(instant, ZoneId.systemDefault()); + }).create(); /* * Setup and teardown mocks for BrandingUtil for atomicity.