From 9c6a55f7b0bd0f9f805f3546368752c4a46448f9 Mon Sep 17 00:00:00 2001 From: AgentSchmecker Date: Mon, 20 May 2024 11:08:49 +0000 Subject: [PATCH] Generalizes Abstract Serialization Test Class Removes the "Request" naming context as this base class technically serves for general serialization purposes. --- ...st.java => AbstractSerializationTest.java} | 16 +++++----- .../jackson/TestChatRequestSerialization.java | 32 +++++++++---------- .../TestEmbeddingsRequestSerialization.java | 10 +++--- .../TestGenerateRequestSerialization.java | 12 +++---- 4 files changed, 35 insertions(+), 35 deletions(-) rename src/test/java/io/github/amithkoujalgi/ollama4j/unittests/jackson/{AbstractRequestSerializationTest.java => AbstractSerializationTest.java} (64%) diff --git a/src/test/java/io/github/amithkoujalgi/ollama4j/unittests/jackson/AbstractRequestSerializationTest.java b/src/test/java/io/github/amithkoujalgi/ollama4j/unittests/jackson/AbstractSerializationTest.java similarity index 64% rename from src/test/java/io/github/amithkoujalgi/ollama4j/unittests/jackson/AbstractRequestSerializationTest.java rename to src/test/java/io/github/amithkoujalgi/ollama4j/unittests/jackson/AbstractSerializationTest.java index c6b2ff5..d0ffc2c 100644 --- a/src/test/java/io/github/amithkoujalgi/ollama4j/unittests/jackson/AbstractRequestSerializationTest.java +++ b/src/test/java/io/github/amithkoujalgi/ollama4j/unittests/jackson/AbstractSerializationTest.java @@ -6,30 +6,30 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import io.github.amithkoujalgi.ollama4j.core.utils.Utils; -public abstract class AbstractRequestSerializationTest { +public abstract class AbstractSerializationTest { protected ObjectMapper mapper = Utils.getObjectMapper(); - protected String serializeRequest(T req) { + protected String serialize(T obj) { try { - return mapper.writeValueAsString(req); + return mapper.writeValueAsString(obj); } catch (JsonProcessingException e) { fail("Could not serialize request!", e); return null; } } - protected T deserializeRequest(String jsonRequest, Class requestClass) { + protected T deserialize(String jsonObject, Class deserializationClass) { try { - return mapper.readValue(jsonRequest, requestClass); + return mapper.readValue(jsonObject, deserializationClass); } catch (JsonProcessingException e) { - fail("Could not deserialize jsonRequest!", e); + fail("Could not deserialize jsonObject!", e); return null; } } - protected void assertEqualsAfterUnmarshalling(T unmarshalledRequest, + protected void assertEqualsAfterUnmarshalling(T unmarshalledObject, T req) { - assertEquals(req, unmarshalledRequest); + assertEquals(req, unmarshalledObject); } } diff --git a/src/test/java/io/github/amithkoujalgi/ollama4j/unittests/jackson/TestChatRequestSerialization.java b/src/test/java/io/github/amithkoujalgi/ollama4j/unittests/jackson/TestChatRequestSerialization.java index e4655bf..3ad049c 100644 --- a/src/test/java/io/github/amithkoujalgi/ollama4j/unittests/jackson/TestChatRequestSerialization.java +++ b/src/test/java/io/github/amithkoujalgi/ollama4j/unittests/jackson/TestChatRequestSerialization.java @@ -14,7 +14,7 @@ import io.github.amithkoujalgi.ollama4j.core.models.chat.OllamaChatRequestBuilde import io.github.amithkoujalgi.ollama4j.core.models.chat.OllamaChatRequestModel; import io.github.amithkoujalgi.ollama4j.core.utils.OptionsBuilder; -public class TestChatRequestSerialization extends AbstractRequestSerializationTest{ +public class TestChatRequestSerialization extends AbstractSerializationTest { private OllamaChatRequestBuilder builder; @@ -26,8 +26,8 @@ public class TestChatRequestSerialization extends AbstractRequestSerializationTe @Test public void testRequestOnlyMandatoryFields() { OllamaChatRequestModel req = builder.withMessage(OllamaChatMessageRole.USER, "Some prompt").build(); - String jsonRequest = serializeRequest(req); - assertEqualsAfterUnmarshalling(deserializeRequest(jsonRequest,OllamaChatRequestModel.class), req); + String jsonRequest = serialize(req); + assertEqualsAfterUnmarshalling(deserialize(jsonRequest,OllamaChatRequestModel.class), req); } @Test @@ -35,16 +35,16 @@ public class TestChatRequestSerialization extends AbstractRequestSerializationTe OllamaChatRequestModel req = builder.withMessage(OllamaChatMessageRole.SYSTEM, "System prompt") .withMessage(OllamaChatMessageRole.USER, "Some prompt") .build(); - String jsonRequest = serializeRequest(req); - assertEqualsAfterUnmarshalling(deserializeRequest(jsonRequest,OllamaChatRequestModel.class), req); + String jsonRequest = serialize(req); + assertEqualsAfterUnmarshalling(deserialize(jsonRequest,OllamaChatRequestModel.class), req); } @Test public void testRequestWithMessageAndImage() { OllamaChatRequestModel req = builder.withMessage(OllamaChatMessageRole.USER, "Some prompt", List.of(new File("src/test/resources/dog-on-a-boat.jpg"))).build(); - String jsonRequest = serializeRequest(req); - assertEqualsAfterUnmarshalling(deserializeRequest(jsonRequest,OllamaChatRequestModel.class), req); + String jsonRequest = serialize(req); + assertEqualsAfterUnmarshalling(deserialize(jsonRequest,OllamaChatRequestModel.class), req); } @Test @@ -61,8 +61,8 @@ public class TestChatRequestSerialization extends AbstractRequestSerializationTe .withOptions(b.setTopP(1).build()) .build(); - String jsonRequest = serializeRequest(req); - OllamaChatRequestModel deserializeRequest = deserializeRequest(jsonRequest, OllamaChatRequestModel.class); + String jsonRequest = serialize(req); + OllamaChatRequestModel deserializeRequest = deserialize(jsonRequest, OllamaChatRequestModel.class); assertEqualsAfterUnmarshalling(deserializeRequest, req); assertEquals(1, deserializeRequest.getOptions().get("mirostat")); assertEquals(1.0, deserializeRequest.getOptions().get("temperature")); @@ -79,7 +79,7 @@ public class TestChatRequestSerialization extends AbstractRequestSerializationTe OllamaChatRequestModel req = builder.withMessage(OllamaChatMessageRole.USER, "Some prompt") .withGetJsonResponse().build(); - String jsonRequest = serializeRequest(req); + String jsonRequest = serialize(req); // no jackson deserialization as format property is not boolean ==> omit as deserialization // of request is never used in real code anyways JSONObject jsonObject = new JSONObject(jsonRequest); @@ -91,15 +91,15 @@ public class TestChatRequestSerialization extends AbstractRequestSerializationTe public void testWithTemplate() { OllamaChatRequestModel req = builder.withTemplate("System Template") .build(); - String jsonRequest = serializeRequest(req); - assertEqualsAfterUnmarshalling(deserializeRequest(jsonRequest, OllamaChatRequestModel.class), req); + String jsonRequest = serialize(req); + assertEqualsAfterUnmarshalling(deserialize(jsonRequest, OllamaChatRequestModel.class), req); } @Test public void testWithStreaming() { OllamaChatRequestModel req = builder.withStreaming().build(); - String jsonRequest = serializeRequest(req); - assertEquals(deserializeRequest(jsonRequest, OllamaChatRequestModel.class).isStream(), true); + String jsonRequest = serialize(req); + assertEquals(deserialize(jsonRequest, OllamaChatRequestModel.class).isStream(), true); } @Test @@ -107,7 +107,7 @@ public class TestChatRequestSerialization extends AbstractRequestSerializationTe String expectedKeepAlive = "5m"; OllamaChatRequestModel req = builder.withKeepAlive(expectedKeepAlive) .build(); - String jsonRequest = serializeRequest(req); - assertEquals(deserializeRequest(jsonRequest, OllamaChatRequestModel.class).getKeepAlive(), expectedKeepAlive); + String jsonRequest = serialize(req); + assertEquals(deserialize(jsonRequest, OllamaChatRequestModel.class).getKeepAlive(), expectedKeepAlive); } } diff --git a/src/test/java/io/github/amithkoujalgi/ollama4j/unittests/jackson/TestEmbeddingsRequestSerialization.java b/src/test/java/io/github/amithkoujalgi/ollama4j/unittests/jackson/TestEmbeddingsRequestSerialization.java index ff1e308..a546d6d 100644 --- a/src/test/java/io/github/amithkoujalgi/ollama4j/unittests/jackson/TestEmbeddingsRequestSerialization.java +++ b/src/test/java/io/github/amithkoujalgi/ollama4j/unittests/jackson/TestEmbeddingsRequestSerialization.java @@ -7,7 +7,7 @@ import io.github.amithkoujalgi.ollama4j.core.models.embeddings.OllamaEmbeddingsR import io.github.amithkoujalgi.ollama4j.core.models.embeddings.OllamaEmbeddingsRequestBuilder; import io.github.amithkoujalgi.ollama4j.core.utils.OptionsBuilder; -public class TestEmbeddingsRequestSerialization extends AbstractRequestSerializationTest{ +public class TestEmbeddingsRequestSerialization extends AbstractSerializationTest { private OllamaEmbeddingsRequestBuilder builder; @@ -19,8 +19,8 @@ public class TestEmbeddingsRequestSerialization extends AbstractRequestSerializa @Test public void testRequestOnlyMandatoryFields() { OllamaEmbeddingsRequestModel req = builder.build(); - String jsonRequest = serializeRequest(req); - assertEqualsAfterUnmarshalling(deserializeRequest(jsonRequest,OllamaEmbeddingsRequestModel.class), req); + String jsonRequest = serialize(req); + assertEqualsAfterUnmarshalling(deserialize(jsonRequest,OllamaEmbeddingsRequestModel.class), req); } @Test @@ -29,8 +29,8 @@ public class TestEmbeddingsRequestSerialization extends AbstractRequestSerializa OllamaEmbeddingsRequestModel req = builder .withOptions(b.setMirostat(1).build()).build(); - String jsonRequest = serializeRequest(req); - OllamaEmbeddingsRequestModel deserializeRequest = deserializeRequest(jsonRequest,OllamaEmbeddingsRequestModel.class); + String jsonRequest = serialize(req); + OllamaEmbeddingsRequestModel deserializeRequest = deserialize(jsonRequest,OllamaEmbeddingsRequestModel.class); assertEqualsAfterUnmarshalling(deserializeRequest, req); assertEquals(1, deserializeRequest.getOptions().get("mirostat")); } diff --git a/src/test/java/io/github/amithkoujalgi/ollama4j/unittests/jackson/TestGenerateRequestSerialization.java b/src/test/java/io/github/amithkoujalgi/ollama4j/unittests/jackson/TestGenerateRequestSerialization.java index 03610f7..8e95288 100644 --- a/src/test/java/io/github/amithkoujalgi/ollama4j/unittests/jackson/TestGenerateRequestSerialization.java +++ b/src/test/java/io/github/amithkoujalgi/ollama4j/unittests/jackson/TestGenerateRequestSerialization.java @@ -11,7 +11,7 @@ import io.github.amithkoujalgi.ollama4j.core.models.generate.OllamaGenerateReque import io.github.amithkoujalgi.ollama4j.core.models.generate.OllamaGenerateRequestModel; import io.github.amithkoujalgi.ollama4j.core.utils.OptionsBuilder; -public class TestGenerateRequestSerialization extends AbstractRequestSerializationTest{ +public class TestGenerateRequestSerialization extends AbstractSerializationTest { private OllamaGenerateRequestBuilder builder; @@ -24,8 +24,8 @@ public class TestGenerateRequestSerialization extends AbstractRequestSerializati public void testRequestOnlyMandatoryFields() { OllamaGenerateRequestModel req = builder.withPrompt("Some prompt").build(); - String jsonRequest = serializeRequest(req); - assertEqualsAfterUnmarshalling(deserializeRequest(jsonRequest, OllamaGenerateRequestModel.class), req); + String jsonRequest = serialize(req); + assertEqualsAfterUnmarshalling(deserialize(jsonRequest, OllamaGenerateRequestModel.class), req); } @Test @@ -34,8 +34,8 @@ public class TestGenerateRequestSerialization extends AbstractRequestSerializati OllamaGenerateRequestModel req = builder.withPrompt("Some prompt").withOptions(b.setMirostat(1).build()).build(); - String jsonRequest = serializeRequest(req); - OllamaGenerateRequestModel deserializeRequest = deserializeRequest(jsonRequest, OllamaGenerateRequestModel.class); + String jsonRequest = serialize(req); + OllamaGenerateRequestModel deserializeRequest = deserialize(jsonRequest, OllamaGenerateRequestModel.class); assertEqualsAfterUnmarshalling(deserializeRequest, req); assertEquals(1, deserializeRequest.getOptions().get("mirostat")); } @@ -45,7 +45,7 @@ public class TestGenerateRequestSerialization extends AbstractRequestSerializati OllamaGenerateRequestModel req = builder.withPrompt("Some prompt").withGetJsonResponse().build(); - String jsonRequest = serializeRequest(req); + String jsonRequest = serialize(req); // no jackson deserialization as format property is not boolean ==> omit as deserialization // of request is never used in real code anyways JSONObject jsonObject = new JSONObject(jsonRequest);