From dbb5df46d06935a6e0999a94c0f470b4bda77aba Mon Sep 17 00:00:00 2001 From: Tatu Saloranta Date: Fri, 17 Jan 2025 20:03:58 -0800 Subject: [PATCH] Convert guice/guice7 modules to junit5 --- .../afterburner/deser/CreatorOptimizer.java | 2 +- .../deser/PropertyMutatorCollector.java | 2 +- .../ser/PropertyAccessorCollector.java | 2 +- .../test/java/perftest/TestJvmDeserPerf.java | 1 - android-record/pom.xml | 2 +- guice/pom.xml | 10 +++- .../module/guice/ExtendInjectableTest.java | 51 ++++++++++--------- .../module/guice/ObjectMapperModuleTest.java | 47 ++++++++--------- guice7/pom.xml | 10 +++- .../module/guice7/ExtendInjectableTest.java | 50 +++++++++--------- .../module/guice7/ObjectMapperModuleTest.java | 47 ++++++++--------- .../JakartaXmlBindAnnotationIntrospector.java | 4 +- 12 files changed, 123 insertions(+), 105 deletions(-) diff --git a/afterburner/src/main/java/com/fasterxml/jackson/module/afterburner/deser/CreatorOptimizer.java b/afterburner/src/main/java/com/fasterxml/jackson/module/afterburner/deser/CreatorOptimizer.java index b658d4186..8cc375af9 100644 --- a/afterburner/src/main/java/com/fasterxml/jackson/module/afterburner/deser/CreatorOptimizer.java +++ b/afterburner/src/main/java/com/fasterxml/jackson/module/afterburner/deser/CreatorOptimizer.java @@ -93,7 +93,7 @@ protected OptimizedValueInstantiator createSubclass(Constructor ctor, Method impl = loader.loadAndResolve(baseName, bytecode); } try { - return (OptimizedValueInstantiator) impl.newInstance(); + return (OptimizedValueInstantiator) impl.getConstructor().newInstance(); } catch (Exception e) { throw new IllegalStateException("Failed to generate accessor class '"+baseName+"': "+e.getMessage(), e); } diff --git a/afterburner/src/main/java/com/fasterxml/jackson/module/afterburner/deser/PropertyMutatorCollector.java b/afterburner/src/main/java/com/fasterxml/jackson/module/afterburner/deser/PropertyMutatorCollector.java index 0f256261a..4465cfe40 100644 --- a/afterburner/src/main/java/com/fasterxml/jackson/module/afterburner/deser/PropertyMutatorCollector.java +++ b/afterburner/src/main/java/com/fasterxml/jackson/module/afterburner/deser/PropertyMutatorCollector.java @@ -101,7 +101,7 @@ public BeanPropertyMutator buildMutator(MyClassLoader classLoader) final ClassName baseName = ClassName.constructFor(beanClass, "$Access4JacksonDeserializer"); Class accessorClass = generateMutatorClass(classLoader, baseName); try { - return (BeanPropertyMutator) accessorClass.newInstance(); + return (BeanPropertyMutator) accessorClass.getConstructor().newInstance(); } catch (Exception e) { throw new IllegalStateException("Failed to generate accessor class '"+accessorClass.getName()+"': "+e.getMessage(), e); } diff --git a/afterburner/src/main/java/com/fasterxml/jackson/module/afterburner/ser/PropertyAccessorCollector.java b/afterburner/src/main/java/com/fasterxml/jackson/module/afterburner/ser/PropertyAccessorCollector.java index 7c73caadb..9ab005908 100644 --- a/afterburner/src/main/java/com/fasterxml/jackson/module/afterburner/ser/PropertyAccessorCollector.java +++ b/afterburner/src/main/java/com/fasterxml/jackson/module/afterburner/ser/PropertyAccessorCollector.java @@ -96,7 +96,7 @@ public BeanPropertyAccessor findAccessor(MyClassLoader classLoader) final ClassName baseName = ClassName.constructFor(beanClass, "$Access4JacksonSerializer"); Class accessorClass = generateAccessorClass(classLoader, baseName); try { - return (BeanPropertyAccessor) accessorClass.newInstance(); + return (BeanPropertyAccessor) accessorClass.getConstructor().newInstance(); } catch (Exception e) { throw new IllegalStateException("Failed to generate accessor class '"+accessorClass.getName()+"': "+e.getMessage(), e); } diff --git a/afterburner/src/test/java/perftest/TestJvmDeserPerf.java b/afterburner/src/test/java/perftest/TestJvmDeserPerf.java index 80c553bed..ab862949a 100644 --- a/afterburner/src/test/java/perftest/TestJvmDeserPerf.java +++ b/afterburner/src/test/java/perftest/TestJvmDeserPerf.java @@ -4,7 +4,6 @@ import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.type.TypeFactory; /** * Micro-benchmark for comparing performance of bean deserialization diff --git a/android-record/pom.xml b/android-record/pom.xml index c98f17272..a53f98724 100644 --- a/android-record/pom.xml +++ b/android-record/pom.xml @@ -42,7 +42,7 @@ jackson-databind - + org.junit.jupiter junit-jupiter diff --git a/guice/pom.xml b/guice/pom.xml index 91c5ef66f..1d0d75a11 100644 --- a/guice/pom.xml +++ b/guice/pom.xml @@ -51,9 +51,15 @@ ${version.guice} + - junit - junit + org.junit.jupiter + junit-jupiter + test + + + org.junit.jupiter + junit-jupiter-api test diff --git a/guice/src/test/java/com/fasterxml/jackson/module/guice/ExtendInjectableTest.java b/guice/src/test/java/com/fasterxml/jackson/module/guice/ExtendInjectableTest.java index 525eedb00..5aed66a50 100644 --- a/guice/src/test/java/com/fasterxml/jackson/module/guice/ExtendInjectableTest.java +++ b/guice/src/test/java/com/fasterxml/jackson/module/guice/ExtendInjectableTest.java @@ -1,18 +1,21 @@ package com.fasterxml.jackson.module.guice; -import com.fasterxml.jackson.annotation.JacksonInject; -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.databind.ObjectMapper; +import javax.inject.Inject; + +import org.junit.jupiter.api.Test; + import com.google.inject.Binder; import com.google.inject.Guice; import com.google.inject.Injector; import com.google.inject.Module; import com.google.inject.name.Names; -import org.junit.Assert; -import org.junit.Test; -import javax.inject.Inject; +import com.fasterxml.jackson.annotation.*; + +import com.fasterxml.jackson.databind.ObjectMapper; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertSame; /** */ @@ -62,9 +65,9 @@ public void configure(Binder binder) final ReadableBean bean = mapper.readValue("{\"constructor_value\":\"myConstructor\",\"field_value\":\"myField\",\"method_value\":\"myMethod\"}", ReadableBean.class); - Assert.assertEquals("myConstructor", bean.constructorValue); - Assert.assertEquals("myMethod", bean.methodValue); - Assert.assertEquals("myField", bean.fieldValue); + assertEquals("myConstructor", bean.constructorValue); + assertEquals("myMethod", bean.methodValue); + assertEquals("myField", bean.fieldValue); verifyInjections("From Jackson's ObjectMapper", bean); @@ -72,20 +75,20 @@ public void configure(Binder binder) private void verifyInjections(String message, InjectableBean injected) { - Assert.assertSame(message, constructorInjected, injected.constructorInjected); - Assert.assertSame(message, constructorInjectedWithJavaAnnotation, injected.constructorInjectedWithJavaAnnotation); - Assert.assertSame(message, constructorInjectedWithGuiceAnnotation, injected.constructorInjectedWithGuiceAnnotation); - Assert.assertSame(message, constructorInjectedWithCustomAnnotation, injected.constructorInjectedWithCustomAnnotation); - - Assert.assertSame(message, methodInjected, injected.methodInjected); - Assert.assertSame(message, methodInjectedWithJavaAnnotation, injected.methodInjectedWithJavaAnnotation); - Assert.assertSame(message, methodInjectedWithGuiceAnnotation, injected.methodInjectedWithGuiceAnnotation); - Assert.assertSame(message, methodInjectedWithCustomAnnotation, injected.methodInjectedWithCustomAnnotation); - - Assert.assertSame(message, fieldInjected, injected.fieldInjected); - Assert.assertSame(message, fieldInjectedWithJavaAnnotation, injected.fieldInjectedWithJavaAnnotation); - Assert.assertSame(message, fieldInjectedWithGuiceAnnotation, injected.fieldInjectedWithGuiceAnnotation); - Assert.assertSame(message, fieldInjectedWithCustomAnnotation, injected.fieldInjectedWithCustomAnnotation); + assertSame(constructorInjected, injected.constructorInjected); + assertSame(constructorInjectedWithJavaAnnotation, injected.constructorInjectedWithJavaAnnotation); + assertSame(constructorInjectedWithGuiceAnnotation, injected.constructorInjectedWithGuiceAnnotation); + assertSame(constructorInjectedWithCustomAnnotation, injected.constructorInjectedWithCustomAnnotation); + + assertSame(methodInjected, injected.methodInjected); + assertSame(methodInjectedWithJavaAnnotation, injected.methodInjectedWithJavaAnnotation); + assertSame(methodInjectedWithGuiceAnnotation, injected.methodInjectedWithGuiceAnnotation); + assertSame(methodInjectedWithCustomAnnotation, injected.methodInjectedWithCustomAnnotation); + + assertSame(fieldInjected, injected.fieldInjected); + assertSame(fieldInjectedWithJavaAnnotation, injected.fieldInjectedWithJavaAnnotation); + assertSame(fieldInjectedWithGuiceAnnotation, injected.fieldInjectedWithGuiceAnnotation); + assertSame(fieldInjectedWithCustomAnnotation, injected.fieldInjectedWithCustomAnnotation); } /* ===================================================================== */ diff --git a/guice/src/test/java/com/fasterxml/jackson/module/guice/ObjectMapperModuleTest.java b/guice/src/test/java/com/fasterxml/jackson/module/guice/ObjectMapperModuleTest.java index 6096495a1..3352f51d7 100644 --- a/guice/src/test/java/com/fasterxml/jackson/module/guice/ObjectMapperModuleTest.java +++ b/guice/src/test/java/com/fasterxml/jackson/module/guice/ObjectMapperModuleTest.java @@ -3,6 +3,15 @@ import java.io.IOException; import java.math.BigInteger; +import org.junit.jupiter.api.Test; + +import com.google.inject.Binder; +import com.google.inject.Guice; +import com.google.inject.Injector; +import com.google.inject.Key; +import com.google.inject.Module; +import com.google.inject.name.Names; + import com.fasterxml.jackson.annotation.JacksonInject; import com.fasterxml.jackson.annotation.JsonProperty; @@ -14,15 +23,7 @@ import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.module.SimpleModule; -import com.google.inject.Binder; -import com.google.inject.Guice; -import com.google.inject.Injector; -import com.google.inject.Key; -import com.google.inject.Module; -import com.google.inject.name.Names; - -import org.junit.Assert; -import org.junit.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; public class ObjectMapperModuleTest { @@ -67,7 +68,7 @@ public void testModulesRegisteredThroughNormalInstantiation() throws Exception final ObjectMapper mapper = injector.getInstance(ObjectMapper.class); - Assert.assertEquals(mapper.writeValueAsString(new Integer(10)), "\"A\""); + assertEquals(mapper.writeValueAsString(10), "\"A\""); } @Test @@ -79,7 +80,7 @@ public void testModulesRegisteredThroughInjection() throws Exception final ObjectMapper mapper = injector.getInstance(ObjectMapper.class); - Assert.assertEquals(mapper.writeValueAsString(new Integer(10)), "\"A\""); + assertEquals(mapper.writeValueAsString(10), "\"A\""); } @Test @@ -99,7 +100,7 @@ public void configure(Binder binder) final ObjectMapper mapper = injector.getInstance(ObjectMapper.class); - Assert.assertEquals(mapper.writeValueAsString(new Integer(10)), "\"A\""); + assertEquals(mapper.writeValueAsString(10), "\"A\""); } @Test @@ -121,7 +122,7 @@ public void configure(Binder binder) final ObjectMapper mapper = injector.getInstance(ObjectMapper.class); - Assert.assertEquals(mapper.writeValueAsString(new Integer(10)), "\"A\""); + assertEquals(mapper.writeValueAsString(10), "\"A\""); } @Test @@ -133,7 +134,7 @@ public void testModulesRegisteredThroughInjectionWithKey() throws Exception final ObjectMapper mapper = injector.getInstance(ObjectMapper.class); - Assert.assertEquals(mapper.writeValueAsString(new Integer(10)), "\"A\""); + assertEquals(mapper.writeValueAsString(10), "\"A\""); } private static class SomeBean @@ -188,15 +189,15 @@ private void injectNine(long n) public boolean verify() { - Assert.assertEquals(1, one); - Assert.assertEquals(2, two); - Assert.assertEquals(3, three); - Assert.assertEquals(4, four); - Assert.assertEquals(5, five); - Assert.assertEquals(6, six); - Assert.assertEquals(7, seven); - Assert.assertEquals(8, eight); - Assert.assertEquals(9, nine); + assertEquals(1, one); + assertEquals(2, two); + assertEquals(3, three); + assertEquals(4, four); + assertEquals(5, five); + assertEquals(6, six); + assertEquals(7, seven); + assertEquals(8, eight); + assertEquals(9, nine); return true; } diff --git a/guice7/pom.xml b/guice7/pom.xml index 4b35a1ede..31afb558f 100644 --- a/guice7/pom.xml +++ b/guice7/pom.xml @@ -51,9 +51,15 @@ ${version.guice} + - junit - junit + org.junit.jupiter + junit-jupiter + test + + + org.junit.jupiter + junit-jupiter-api test diff --git a/guice7/src/test/java/com/fasterxml/jackson/module/guice7/ExtendInjectableTest.java b/guice7/src/test/java/com/fasterxml/jackson/module/guice7/ExtendInjectableTest.java index 7c1ae7ea5..3ebabccb4 100644 --- a/guice7/src/test/java/com/fasterxml/jackson/module/guice7/ExtendInjectableTest.java +++ b/guice7/src/test/java/com/fasterxml/jackson/module/guice7/ExtendInjectableTest.java @@ -1,18 +1,20 @@ package com.fasterxml.jackson.module.guice7; -import com.fasterxml.jackson.annotation.JacksonInject; -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.databind.ObjectMapper; +import jakarta.inject.Inject; + +import org.junit.jupiter.api.Test; + import com.google.inject.Binder; import com.google.inject.Guice; import com.google.inject.Injector; import com.google.inject.Module; import com.google.inject.name.Names; -import org.junit.Assert; -import org.junit.Test; -import jakarta.inject.Inject; +import com.fasterxml.jackson.annotation.*; +import com.fasterxml.jackson.databind.ObjectMapper; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertSame; /** */ @@ -62,9 +64,9 @@ public void configure(Binder binder) final ReadableBean bean = mapper.readValue("{\"constructor_value\":\"myConstructor\",\"field_value\":\"myField\",\"method_value\":\"myMethod\"}", ReadableBean.class); - Assert.assertEquals("myConstructor", bean.constructorValue); - Assert.assertEquals("myMethod", bean.methodValue); - Assert.assertEquals("myField", bean.fieldValue); + assertEquals("myConstructor", bean.constructorValue); + assertEquals("myMethod", bean.methodValue); + assertEquals("myField", bean.fieldValue); verifyInjections("From Jackson's ObjectMapper", bean); @@ -72,20 +74,20 @@ public void configure(Binder binder) private void verifyInjections(String message, InjectableBean injected) { - Assert.assertSame(message, constructorInjected, injected.constructorInjected); - Assert.assertSame(message, constructorInjectedWithJavaAnnotation, injected.constructorInjectedWithJavaAnnotation); - Assert.assertSame(message, constructorInjectedWithGuiceAnnotation, injected.constructorInjectedWithGuiceAnnotation); - Assert.assertSame(message, constructorInjectedWithCustomAnnotation, injected.constructorInjectedWithCustomAnnotation); - - Assert.assertSame(message, methodInjected, injected.methodInjected); - Assert.assertSame(message, methodInjectedWithJavaAnnotation, injected.methodInjectedWithJavaAnnotation); - Assert.assertSame(message, methodInjectedWithGuiceAnnotation, injected.methodInjectedWithGuiceAnnotation); - Assert.assertSame(message, methodInjectedWithCustomAnnotation, injected.methodInjectedWithCustomAnnotation); - - Assert.assertSame(message, fieldInjected, injected.fieldInjected); - Assert.assertSame(message, fieldInjectedWithJavaAnnotation, injected.fieldInjectedWithJavaAnnotation); - Assert.assertSame(message, fieldInjectedWithGuiceAnnotation, injected.fieldInjectedWithGuiceAnnotation); - Assert.assertSame(message, fieldInjectedWithCustomAnnotation, injected.fieldInjectedWithCustomAnnotation); + assertSame(constructorInjected, injected.constructorInjected); + assertSame(constructorInjectedWithJavaAnnotation, injected.constructorInjectedWithJavaAnnotation); + assertSame(constructorInjectedWithGuiceAnnotation, injected.constructorInjectedWithGuiceAnnotation); + assertSame(constructorInjectedWithCustomAnnotation, injected.constructorInjectedWithCustomAnnotation); + + assertSame(methodInjected, injected.methodInjected); + assertSame(methodInjectedWithJavaAnnotation, injected.methodInjectedWithJavaAnnotation); + assertSame(methodInjectedWithGuiceAnnotation, injected.methodInjectedWithGuiceAnnotation); + assertSame(methodInjectedWithCustomAnnotation, injected.methodInjectedWithCustomAnnotation); + + assertSame(fieldInjected, injected.fieldInjected); + assertSame(fieldInjectedWithJavaAnnotation, injected.fieldInjectedWithJavaAnnotation); + assertSame(fieldInjectedWithGuiceAnnotation, injected.fieldInjectedWithGuiceAnnotation); + assertSame(fieldInjectedWithCustomAnnotation, injected.fieldInjectedWithCustomAnnotation); } /* ===================================================================== */ diff --git a/guice7/src/test/java/com/fasterxml/jackson/module/guice7/ObjectMapperModuleTest.java b/guice7/src/test/java/com/fasterxml/jackson/module/guice7/ObjectMapperModuleTest.java index 3a5e91790..2a7249af5 100644 --- a/guice7/src/test/java/com/fasterxml/jackson/module/guice7/ObjectMapperModuleTest.java +++ b/guice7/src/test/java/com/fasterxml/jackson/module/guice7/ObjectMapperModuleTest.java @@ -3,6 +3,15 @@ import java.io.IOException; import java.math.BigInteger; +import org.junit.jupiter.api.Test; + +import com.google.inject.Binder; +import com.google.inject.Guice; +import com.google.inject.Injector; +import com.google.inject.Key; +import com.google.inject.Module; +import com.google.inject.name.Names; + import com.fasterxml.jackson.annotation.JacksonInject; import com.fasterxml.jackson.annotation.JsonProperty; @@ -14,15 +23,7 @@ import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.module.SimpleModule; -import com.google.inject.Binder; -import com.google.inject.Guice; -import com.google.inject.Injector; -import com.google.inject.Key; -import com.google.inject.Module; -import com.google.inject.name.Names; - -import org.junit.Assert; -import org.junit.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; public class ObjectMapperModuleTest { @@ -67,7 +68,7 @@ public void testModulesRegisteredThroughNormalInstantiation() throws Exception final ObjectMapper mapper = injector.getInstance(ObjectMapper.class); - Assert.assertEquals(mapper.writeValueAsString(new Integer(10)), "\"A\""); + assertEquals(mapper.writeValueAsString(10), "\"A\""); } @Test @@ -79,7 +80,7 @@ public void testModulesRegisteredThroughInjection() throws Exception final ObjectMapper mapper = injector.getInstance(ObjectMapper.class); - Assert.assertEquals(mapper.writeValueAsString(new Integer(10)), "\"A\""); + assertEquals(mapper.writeValueAsString(10), "\"A\""); } @Test @@ -99,7 +100,7 @@ public void configure(Binder binder) final ObjectMapper mapper = injector.getInstance(ObjectMapper.class); - Assert.assertEquals(mapper.writeValueAsString(new Integer(10)), "\"A\""); + assertEquals(mapper.writeValueAsString(10), "\"A\""); } @Test @@ -121,7 +122,7 @@ public void configure(Binder binder) final ObjectMapper mapper = injector.getInstance(ObjectMapper.class); - Assert.assertEquals(mapper.writeValueAsString(new Integer(10)), "\"A\""); + assertEquals(mapper.writeValueAsString(10), "\"A\""); } @Test @@ -133,7 +134,7 @@ public void testModulesRegisteredThroughInjectionWithKey() throws Exception final ObjectMapper mapper = injector.getInstance(ObjectMapper.class); - Assert.assertEquals(mapper.writeValueAsString(new Integer(10)), "\"A\""); + assertEquals(mapper.writeValueAsString(10), "\"A\""); } private static class SomeBean @@ -188,15 +189,15 @@ private void injectNine(long n) public boolean verify() { - Assert.assertEquals(1, one); - Assert.assertEquals(2, two); - Assert.assertEquals(3, three); - Assert.assertEquals(4, four); - Assert.assertEquals(5, five); - Assert.assertEquals(6, six); - Assert.assertEquals(7, seven); - Assert.assertEquals(8, eight); - Assert.assertEquals(9, nine); + assertEquals(1, one); + assertEquals(2, two); + assertEquals(3, three); + assertEquals(4, four); + assertEquals(5, five); + assertEquals(6, six); + assertEquals(7, seven); + assertEquals(8, eight); + assertEquals(9, nine); return true; } diff --git a/jakarta-xmlbind/src/main/java/com/fasterxml/jackson/module/jakarta/xmlbind/JakartaXmlBindAnnotationIntrospector.java b/jakarta-xmlbind/src/main/java/com/fasterxml/jackson/module/jakarta/xmlbind/JakartaXmlBindAnnotationIntrospector.java index 08c1a461b..b03f34c98 100644 --- a/jakarta-xmlbind/src/main/java/com/fasterxml/jackson/module/jakarta/xmlbind/JakartaXmlBindAnnotationIntrospector.java +++ b/jakarta-xmlbind/src/main/java/com/fasterxml/jackson/module/jakarta/xmlbind/JakartaXmlBindAnnotationIntrospector.java @@ -141,8 +141,8 @@ public JakartaXmlBindAnnotationIntrospector(TypeFactory typeFactory, boolean ign /// Data handlers included dynamically, to try to prevent issues on // platforms with less than complete support for JAXB API try { - dataHandlerSerializer = (JsonSerializer) DataHandlerSerializer.class.newInstance(); - dataHandlerDeserializer = (JsonDeserializer) DataHandlerDeserializer.class.newInstance(); + dataHandlerSerializer = (JsonSerializer) DataHandlerSerializer.class.getConstructor().newInstance(); + dataHandlerDeserializer = (JsonDeserializer) DataHandlerDeserializer.class.getConstructor().newInstance(); } catch (Throwable e) { //dataHandlers not supported... }