From 6bfd6844bc8383c1c296e5b18021c76d302482f0 Mon Sep 17 00:00:00 2001 From: Andrey Bogdanov Date: Wed, 10 Mar 2021 14:12:30 +0300 Subject: [PATCH] Up test coverage. --- .../CustomJsonObjectSerializerTest.java | 75 +++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 sdk/src/test/java/io/dapr/serializer/CustomJsonObjectSerializerTest.java diff --git a/sdk/src/test/java/io/dapr/serializer/CustomJsonObjectSerializerTest.java b/sdk/src/test/java/io/dapr/serializer/CustomJsonObjectSerializerTest.java new file mode 100644 index 000000000..3f93f76a6 --- /dev/null +++ b/sdk/src/test/java/io/dapr/serializer/CustomJsonObjectSerializerTest.java @@ -0,0 +1,75 @@ +/* + * Copyright (c) Microsoft Corporation and Dapr Contributors. + * Licensed under the MIT License. + */ + +package io.dapr.serializer; + +import com.fasterxml.jackson.databind.ObjectMapper; +import io.dapr.client.ObjectSerializer; +import io.dapr.utils.TypeRef; +import org.junit.Test; + +import java.io.IOException; +import java.lang.reflect.Type; + +import static org.junit.Assert.*; + +public class CustomJsonObjectSerializerTest { + + public static class CustomJsonSerializer extends ObjectSerializer implements DaprObjectSerializer { + CustomJsonSerializer() { + super(new ObjectMapper()); + } + + public ObjectMapper getObjectMapper() { + return super.getObjectMapper(); + } + + @Override + public String getContentType() { + return "application/json"; + } + } + + CustomJsonSerializer SERIALIZER = new CustomJsonSerializer(); + + @Test + public void serializeObjectTest() { + DefaultObjectSerializerTest.MyObjectTestToSerialize obj = new DefaultObjectSerializerTest.MyObjectTestToSerialize(); + obj.setStringValue("A String"); + obj.setIntValue(2147483647); + obj.setBoolValue(true); + obj.setCharValue('a'); + obj.setByteValue((byte) 65); + obj.setShortValue((short) 32767); + obj.setLongValue(9223372036854775807L); + obj.setFloatValue(1.0f); + obj.setDoubleValue(1000.0); + //String expectedResult = "{\"stringValue\":\"A String\",\"intValue\":2147483647,\"boolValue\":true,\"charValue\":\"a\",\"byteValue\":65,\"shortValue\":32767,\"longValue\":9223372036854775807,\"floatValue\":1.0,\"doubleValue\":1000.0}"; + + byte[] serializedValue; + try { + serializedValue = SERIALIZER.serialize(obj); + assertNotNull(serializedValue); + DefaultObjectSerializerTest.MyObjectTestToSerialize deserializedValue = SERIALIZER.deserialize(serializedValue, DefaultObjectSerializerTest.MyObjectTestToSerialize.class); + assertEquals(obj, deserializedValue); + } catch (IOException exception) { + fail(exception.getMessage()); + } + + try { + serializedValue = SERIALIZER.serialize(obj); + assertNotNull(serializedValue); + Type t = DefaultObjectSerializerTest.MyObjectTestToSerialize.class; + TypeRef tr = TypeRef.get(t); + DefaultObjectSerializerTest.MyObjectTestToSerialize deserializedValue = SERIALIZER.deserialize(serializedValue, tr); + assertEquals(obj, deserializedValue); + } catch (IOException exception) { + fail(exception.getMessage()); + } + + assertNotNull(SERIALIZER.getObjectMapper()); + } + +}