From f8ca4d041d61a3f769439b4a6fc805c3ec74d108 Mon Sep 17 00:00:00 2001 From: AgentSchmecker Date: Mon, 20 May 2024 11:10:03 +0000 Subject: [PATCH] Changes DateTime types of Model.java to OffsetDatetime Fixes #48 --- .../ollama4j/core/models/Model.java | 5 ++- .../TestModelRequestSerialization.java | 42 +++++++++++++++++++ 2 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 src/test/java/io/github/amithkoujalgi/ollama4j/unittests/jackson/TestModelRequestSerialization.java diff --git a/src/main/java/io/github/amithkoujalgi/ollama4j/core/models/Model.java b/src/main/java/io/github/amithkoujalgi/ollama4j/core/models/Model.java index 79c2458..15efd70 100644 --- a/src/main/java/io/github/amithkoujalgi/ollama4j/core/models/Model.java +++ b/src/main/java/io/github/amithkoujalgi/ollama4j/core/models/Model.java @@ -1,6 +1,7 @@ package io.github.amithkoujalgi.ollama4j.core.models; import java.time.LocalDateTime; +import java.time.OffsetDateTime; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; @@ -13,9 +14,9 @@ public class Model { private String name; private String model; @JsonProperty("modified_at") - private LocalDateTime modifiedAt; + private OffsetDateTime modifiedAt; @JsonProperty("expires_at") - private LocalDateTime expiresAt; + private OffsetDateTime expiresAt; private String digest; private long size; @JsonProperty("details") diff --git a/src/test/java/io/github/amithkoujalgi/ollama4j/unittests/jackson/TestModelRequestSerialization.java b/src/test/java/io/github/amithkoujalgi/ollama4j/unittests/jackson/TestModelRequestSerialization.java new file mode 100644 index 0000000..712e507 --- /dev/null +++ b/src/test/java/io/github/amithkoujalgi/ollama4j/unittests/jackson/TestModelRequestSerialization.java @@ -0,0 +1,42 @@ +package io.github.amithkoujalgi.ollama4j.unittests.jackson; + +import io.github.amithkoujalgi.ollama4j.core.models.Model; +import org.junit.jupiter.api.Test; + +public class TestModelRequestSerialization extends AbstractSerializationTest { + + @Test + public void testDeserializationOfModelResponseWithOffsetTime(){ + String serializedTestStringWithOffsetTime = "{\n" + + "\"name\": \"codellama:13b\",\n" + + "\"modified_at\": \"2023-11-04T14:56:49.277302595-07:00\",\n" + + "\"size\": 7365960935,\n" + + "\"digest\": \"9f438cb9cd581fc025612d27f7c1a6669ff83a8bb0ed86c94fcf4c5440555697\",\n" + + "\"details\": {\n" + + "\"format\": \"gguf\",\n" + + "\"family\": \"llama\",\n" + + "\"families\": null,\n" + + "\"parameter_size\": \"13B\",\n" + + "\"quantization_level\": \"Q4_0\"\n" + + "}}"; + deserialize(serializedTestStringWithOffsetTime,Model.class); + } + + @Test + public void testDeserializationOfModelResponseWithZuluTime(){ + String serializedTestStringWithZuluTimezone = "{\n" + + "\"name\": \"codellama:13b\",\n" + + "\"modified_at\": \"2023-11-04T14:56:49.277302595Z\",\n" + + "\"size\": 7365960935,\n" + + "\"digest\": \"9f438cb9cd581fc025612d27f7c1a6669ff83a8bb0ed86c94fcf4c5440555697\",\n" + + "\"details\": {\n" + + "\"format\": \"gguf\",\n" + + "\"family\": \"llama\",\n" + + "\"families\": null,\n" + + "\"parameter_size\": \"13B\",\n" + + "\"quantization_level\": \"Q4_0\"\n" + + "}}"; + deserialize(serializedTestStringWithZuluTimezone,Model.class); + } + +}