From 168623ddae9cd99020d829f44ed4aa517fc828dc Mon Sep 17 00:00:00 2001 From: Antony Stubbs Date: Thu, 21 Apr 2022 12:57:07 +0100 Subject: [PATCH 1/7] step --- .../stubbs/truth/generator/internal/SourceClassSetsTests.java | 2 +- .../java/io/stubbs/truth/generator/internal/StrategyTest.java | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/generator/src/test/java/io/stubbs/truth/generator/internal/SourceClassSetsTests.java b/generator/src/test/java/io/stubbs/truth/generator/internal/SourceClassSetsTests.java index 27979e6..3f4fa03 100644 --- a/generator/src/test/java/io/stubbs/truth/generator/internal/SourceClassSetsTests.java +++ b/generator/src/test/java/io/stubbs/truth/generator/internal/SourceClassSetsTests.java @@ -7,7 +7,7 @@ import org.junit.Test; import static io.stubbs.truth.ManagedTruth.assertThat; -import static io.stubbs.truth.generator.internal.TruthGeneratorGeneratedSourceTest.TEST_OUTPUT_DIRECTORY; +import static io.stubbs.truth.generator.internal.TruthGeneratorTest.TEST_OUTPUT_DIRECTORY; /** * Where there are duplicate entries of classes in the target sets diff --git a/generator/src/test/java/io/stubbs/truth/generator/internal/StrategyTest.java b/generator/src/test/java/io/stubbs/truth/generator/internal/StrategyTest.java index 7bd9312..322aafd 100644 --- a/generator/src/test/java/io/stubbs/truth/generator/internal/StrategyTest.java +++ b/generator/src/test/java/io/stubbs/truth/generator/internal/StrategyTest.java @@ -8,6 +8,8 @@ import java.util.Optional; +import static io.stubbs.truth.generator.internal.TruthGeneratorTest.TEST_OUTPUT_DIRECTORY; + /** * @author Antony Stubbs */ @@ -15,7 +17,7 @@ public abstract class StrategyTest { static { Options.setDefaultInstance(); - Utils.setOutputBase(TruthGeneratorGeneratedSourceTest.TEST_OUTPUT_DIRECTORY); + Utils.setOutputBase(TEST_OUTPUT_DIRECTORY); } JavaClassSource generated = Roaster.create(JavaClassSource.class); From 1f08d7bcc9e2bea427319911b7fb77c9efd43845 Mon Sep 17 00:00:00 2001 From: Antony Stubbs Date: Thu, 21 Apr 2022 13:00:42 +0100 Subject: [PATCH 2/7] step --- .../OptionalUnwrapChainForGenericTypeArgsTest.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/generator/src/test/java/io/stubbs/truth/generator/internal/OptionalUnwrapChainForGenericTypeArgsTest.java b/generator/src/test/java/io/stubbs/truth/generator/internal/OptionalUnwrapChainForGenericTypeArgsTest.java index 9814f50..2035003 100644 --- a/generator/src/test/java/io/stubbs/truth/generator/internal/OptionalUnwrapChainForGenericTypeArgsTest.java +++ b/generator/src/test/java/io/stubbs/truth/generator/internal/OptionalUnwrapChainForGenericTypeArgsTest.java @@ -1,7 +1,6 @@ package io.stubbs.truth.generator.internal; import com.google.common.truth.IntegerSubject; -import com.google.common.truth.OptionalSubject; import com.google.common.truth.Subject; import com.google.common.truth.Truth8; import io.stubbs.truth.generator.TestModelUtils; @@ -107,7 +106,7 @@ public void wildCardTypeFromSubtype() { public void wildCardTypeDirectUpperBoundGeneric() { var resolvedPair = testResolution(Person.class, "getMyWildcardTypeWithLowerAndUpperBoundsGeneric", Optional.class); Truth8.assertThat(resolvedPair.getSubject()).isPresent(); - assertThat(resolvedPair.getSubject().get().getClazz()).isEqualTo(OptionalSubject.class); + assertThat(resolvedPair.getSubject().get().getClazz()).isEqualTo(io.stubbs.truth.autoShaded.java.util.OptionalSubject.class); } @@ -118,7 +117,7 @@ public void wildCardTypeDirectUpperBoundGeneric() { public void wildCardTypeFromSubtypeUpperBoundGeneric() { var resolvedPair = testResolution(MyEmployee.class, "getMyWildcardTypeWithLowerAndUpperBoundsGeneric", Optional.class); Truth8.assertThat(resolvedPair.getSubject()).isPresent(); - assertThat(resolvedPair.getSubject().get().getClazz()).isEqualTo(OptionalSubject.class); + assertThat(resolvedPair.getSubject().get().getClazz()).isEqualTo(io.stubbs.truth.autoShaded.java.util.OptionalSubject.class); } /** @@ -128,7 +127,7 @@ public void wildCardTypeFromSubtypeUpperBoundGeneric() { public void wildCardTypeDirectUpperBoundIdCard() { var resolvedPair = testResolution(Person.class, "getMyWildcardTypeWithLowerAndUpperBoundsIdCard", Optional.class); Truth8.assertThat(resolvedPair.getSubject()).isPresent(); - assertThat(resolvedPair.getSubject().get().getClazz()).isEqualTo(OptionalSubject.class); + assertThat(resolvedPair.getSubject().get().getClazz()).isEqualTo(io.stubbs.truth.autoShaded.java.util.OptionalSubject.class); } @@ -139,7 +138,7 @@ public void wildCardTypeDirectUpperBoundIdCard() { public void wildCardTypeFromSubtypeUpperBoundIdCard() { var resolvedPair = testResolution(MyEmployee.class, "getMyWildcardTypeWithLowerAndUpperBoundsIdCard", Optional.class); Truth8.assertThat(resolvedPair.getSubject()).isPresent(); - assertThat(resolvedPair.getSubject().get().getClazz()).isEqualTo(OptionalSubject.class); + assertThat(resolvedPair.getSubject().get().getClazz()).isEqualTo(io.stubbs.truth.autoShaded.java.util.OptionalSubject.class); } From 3d9efc4fcd13d87e90f8bfecd236b642a3792f70 Mon Sep 17 00:00:00 2001 From: Antony Stubbs Date: Thu, 21 Apr 2022 12:37:23 +0100 Subject: [PATCH 3/7] START: Upgrade to JUnit 5 --- generator-assertions-tests/pom.xml | 5 ----- .../truth/generator/GeneratedAssertionTests.java | 2 +- .../generator/NativeSubjectExtensionsTest.java | 2 +- generator/pom.xml | 6 ------ .../java/io/stubbs/truth/generator/TypeTests.java | 2 +- .../generator/internal/BooleanStrategyTest.java | 2 +- .../generator/internal/ChainStrategyTest.java | 2 +- .../internal/CustomClassPathSubjectTests.java | 2 +- .../internal/JDKOverrideAnalyserTest.java | 2 +- .../generator/internal/OptionalStrategyTest.java | 2 +- ...OptionalUnwrapChainForGenericTypeArgsTest.java | 2 +- .../generator/internal/SkeletonGeneratorTest.java | 2 +- .../generator/internal/SourceClassSetsTests.java | 8 ++++---- .../TruthGeneratorGeneratedSourceTest.java | 5 +---- .../generator/internal/TruthGeneratorTest.java | 2 +- .../src/test/resources/junit-platform.properties | 10 ++++++++++ plugin-maven/pom.xml | 7 +------ .../stubbs/truth/generator/GeneratorMojoTest.java | 2 +- .../io/stubbs/truth/generator/SubjectTests.java | 4 +--- pom.xml | 15 +++++++++++++++ 20 files changed, 44 insertions(+), 40 deletions(-) create mode 100644 generator/src/test/resources/junit-platform.properties diff --git a/generator-assertions-tests/pom.xml b/generator-assertions-tests/pom.xml index 56ce7f0..f0e6fed 100644 --- a/generator-assertions-tests/pom.xml +++ b/generator-assertions-tests/pom.xml @@ -104,11 +104,6 @@ podam test - - org.assertj - assertj-core - test - diff --git a/generator-assertions-tests/src/test/java/io/stubbs/truth/generator/GeneratedAssertionTests.java b/generator-assertions-tests/src/test/java/io/stubbs/truth/generator/GeneratedAssertionTests.java index a3f4db7..854457e 100644 --- a/generator-assertions-tests/src/test/java/io/stubbs/truth/generator/GeneratedAssertionTests.java +++ b/generator-assertions-tests/src/test/java/io/stubbs/truth/generator/GeneratedAssertionTests.java @@ -9,7 +9,7 @@ import io.stubbs.truth.generator.testing.legacy.NonBeanLegacySubject; import io.stubbs.truth.tests.ManagedTruth; import org.assertj.core.api.Assertions; -import org.junit.Test; +import org.junit.jupiter.api.Test; import uk.co.jemos.podam.api.PodamFactoryImpl; import java.io.File; diff --git a/generator-assertions-tests/src/test/java/io/stubbs/truth/generator/NativeSubjectExtensionsTest.java b/generator-assertions-tests/src/test/java/io/stubbs/truth/generator/NativeSubjectExtensionsTest.java index 0d67af1..4cf8114 100644 --- a/generator-assertions-tests/src/test/java/io/stubbs/truth/generator/NativeSubjectExtensionsTest.java +++ b/generator-assertions-tests/src/test/java/io/stubbs/truth/generator/NativeSubjectExtensionsTest.java @@ -6,7 +6,7 @@ import io.stubbs.truth.generator.testModel.MyEmployee; import io.stubbs.truth.generator.testModel.MyEmployeeSubject; import io.stubbs.truth.tests.ManagedTruth; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.List; diff --git a/generator/pom.xml b/generator/pom.xml index 08859d3..ffba011 100644 --- a/generator/pom.xml +++ b/generator/pom.xml @@ -42,12 +42,6 @@ 1.3.2 provided - - - com.google.truth.extensions - truth-java8-extension - compile - commons-io commons-io diff --git a/generator/src/test/java/io/stubbs/truth/generator/TypeTests.java b/generator/src/test/java/io/stubbs/truth/generator/TypeTests.java index 6586e10..0959390 100644 --- a/generator/src/test/java/io/stubbs/truth/generator/TypeTests.java +++ b/generator/src/test/java/io/stubbs/truth/generator/TypeTests.java @@ -1,6 +1,6 @@ package io.stubbs.truth.generator; -import org.junit.Test; +import org.junit.jupiter.api.Test; /** * @author Antony Stubbs diff --git a/generator/src/test/java/io/stubbs/truth/generator/internal/BooleanStrategyTest.java b/generator/src/test/java/io/stubbs/truth/generator/internal/BooleanStrategyTest.java index 9286ea0..1994052 100644 --- a/generator/src/test/java/io/stubbs/truth/generator/internal/BooleanStrategyTest.java +++ b/generator/src/test/java/io/stubbs/truth/generator/internal/BooleanStrategyTest.java @@ -1,7 +1,7 @@ package io.stubbs.truth.generator.internal; import io.stubbs.truth.generator.TestModelUtils; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.lang.reflect.Method; diff --git a/generator/src/test/java/io/stubbs/truth/generator/internal/ChainStrategyTest.java b/generator/src/test/java/io/stubbs/truth/generator/internal/ChainStrategyTest.java index a2579ac..3ec26f5 100644 --- a/generator/src/test/java/io/stubbs/truth/generator/internal/ChainStrategyTest.java +++ b/generator/src/test/java/io/stubbs/truth/generator/internal/ChainStrategyTest.java @@ -8,7 +8,7 @@ import io.stubbs.truth.generator.testModel.Project; import lombok.Data; import org.apache.commons.lang3.StringUtils; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.lang.reflect.Method; import java.time.Instant; diff --git a/generator/src/test/java/io/stubbs/truth/generator/internal/CustomClassPathSubjectTests.java b/generator/src/test/java/io/stubbs/truth/generator/internal/CustomClassPathSubjectTests.java index 3014eb0..905b16f 100644 --- a/generator/src/test/java/io/stubbs/truth/generator/internal/CustomClassPathSubjectTests.java +++ b/generator/src/test/java/io/stubbs/truth/generator/internal/CustomClassPathSubjectTests.java @@ -8,7 +8,7 @@ import io.stubbs.truth.generator.testModel.MyEmployee; import io.stubbs.truth.generator.testModel.Project; import lombok.extern.slf4j.Slf4j; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.lang.reflect.Method; import java.util.List; diff --git a/generator/src/test/java/io/stubbs/truth/generator/internal/JDKOverrideAnalyserTest.java b/generator/src/test/java/io/stubbs/truth/generator/internal/JDKOverrideAnalyserTest.java index 4944b02..a29c135 100644 --- a/generator/src/test/java/io/stubbs/truth/generator/internal/JDKOverrideAnalyserTest.java +++ b/generator/src/test/java/io/stubbs/truth/generator/internal/JDKOverrideAnalyserTest.java @@ -7,7 +7,7 @@ import lombok.extern.slf4j.Slf4j; import one.util.streamex.StreamEx; import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.lang.reflect.Method; import java.net.http.HttpRequest; diff --git a/generator/src/test/java/io/stubbs/truth/generator/internal/OptionalStrategyTest.java b/generator/src/test/java/io/stubbs/truth/generator/internal/OptionalStrategyTest.java index aa43ef3..91943c3 100644 --- a/generator/src/test/java/io/stubbs/truth/generator/internal/OptionalStrategyTest.java +++ b/generator/src/test/java/io/stubbs/truth/generator/internal/OptionalStrategyTest.java @@ -1,7 +1,7 @@ package io.stubbs.truth.generator.internal; import io.stubbs.truth.generator.testModel.MyEmployee; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.lang.reflect.Method; import java.util.Arrays; diff --git a/generator/src/test/java/io/stubbs/truth/generator/internal/OptionalUnwrapChainForGenericTypeArgsTest.java b/generator/src/test/java/io/stubbs/truth/generator/internal/OptionalUnwrapChainForGenericTypeArgsTest.java index 2035003..a35c445 100644 --- a/generator/src/test/java/io/stubbs/truth/generator/internal/OptionalUnwrapChainForGenericTypeArgsTest.java +++ b/generator/src/test/java/io/stubbs/truth/generator/internal/OptionalUnwrapChainForGenericTypeArgsTest.java @@ -10,7 +10,7 @@ import io.stubbs.truth.generator.testModel.MyEmployee; import io.stubbs.truth.generator.testModel.Person; import lombok.SneakyThrows; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.lang.reflect.Method; import java.util.Map; diff --git a/generator/src/test/java/io/stubbs/truth/generator/internal/SkeletonGeneratorTest.java b/generator/src/test/java/io/stubbs/truth/generator/internal/SkeletonGeneratorTest.java index 4d912f1..48f7e09 100644 --- a/generator/src/test/java/io/stubbs/truth/generator/internal/SkeletonGeneratorTest.java +++ b/generator/src/test/java/io/stubbs/truth/generator/internal/SkeletonGeneratorTest.java @@ -4,7 +4,7 @@ import io.stubbs.truth.generator.TruthGeneratorAPI; import io.stubbs.truth.generator.internal.model.ThreeSystem; import io.stubbs.truth.generator.testModel.MyEmployee; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.Instant; diff --git a/generator/src/test/java/io/stubbs/truth/generator/internal/SourceClassSetsTests.java b/generator/src/test/java/io/stubbs/truth/generator/internal/SourceClassSetsTests.java index 3f4fa03..c5dea90 100644 --- a/generator/src/test/java/io/stubbs/truth/generator/internal/SourceClassSetsTests.java +++ b/generator/src/test/java/io/stubbs/truth/generator/internal/SourceClassSetsTests.java @@ -4,7 +4,7 @@ import io.stubbs.truth.generator.TruthGeneratorAPI; import io.stubbs.truth.generator.internal.model.Result; import io.stubbs.truth.generator.internal.model.ThreeSystem; -import org.junit.Test; +import org.junit.jupiter.api.Test; import static io.stubbs.truth.ManagedTruth.assertThat; import static io.stubbs.truth.generator.internal.TruthGeneratorTest.TEST_OUTPUT_DIRECTORY; @@ -14,10 +14,10 @@ * * @see SourceClassSets */ -public class SourceClassSetsTests { +class SourceClassSetsTests { @Test - public void duplicatesClassInSpecifiedPackage() { + void duplicatesClassInSpecifiedPackage() { TruthGenerator tg = TruthGeneratorAPI.createDefaultOptions(TEST_OUTPUT_DIRECTORY); SourceClassSets ss = new SourceClassSets(SourceClassSets.class); @@ -33,7 +33,7 @@ public void duplicatesClassInSpecifiedPackage() { } @Test - public void duplicatesPackageAndSubPackage() { + void duplicatesPackageAndSubPackage() { TruthGenerator tg = TruthGeneratorAPI.createDefaultOptions(TEST_OUTPUT_DIRECTORY); SourceClassSets ss = new SourceClassSets(SourceClassSets.class); diff --git a/generator/src/test/java/io/stubbs/truth/generator/internal/TruthGeneratorGeneratedSourceTest.java b/generator/src/test/java/io/stubbs/truth/generator/internal/TruthGeneratorGeneratedSourceTest.java index 577e507..f08e52f 100644 --- a/generator/src/test/java/io/stubbs/truth/generator/internal/TruthGeneratorGeneratedSourceTest.java +++ b/generator/src/test/java/io/stubbs/truth/generator/internal/TruthGeneratorGeneratedSourceTest.java @@ -14,9 +14,7 @@ import io.stubbs.truth.generator.testModel.Project; import lombok.SneakyThrows; import org.jboss.forge.roaster.model.source.JavaClassSource; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.JUnit4; +import org.junit.jupiter.api.Test; import org.threeten.extra.MutableClock; import java.io.IOException; @@ -37,7 +35,6 @@ /** * @author Antony Stubbs */ -@RunWith(JUnit4.class) public class TruthGeneratorGeneratedSourceTest { static { diff --git a/generator/src/test/java/io/stubbs/truth/generator/internal/TruthGeneratorTest.java b/generator/src/test/java/io/stubbs/truth/generator/internal/TruthGeneratorTest.java index 5eb2141..b063150 100644 --- a/generator/src/test/java/io/stubbs/truth/generator/internal/TruthGeneratorTest.java +++ b/generator/src/test/java/io/stubbs/truth/generator/internal/TruthGeneratorTest.java @@ -19,7 +19,7 @@ import org.jboss.forge.roaster.model.source.JavaClassSource; import org.jboss.forge.roaster.model.source.MethodSource; import org.jboss.forge.roaster.model.source.ParameterSource; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.nio.file.Path; import java.nio.file.Paths; diff --git a/generator/src/test/resources/junit-platform.properties b/generator/src/test/resources/junit-platform.properties new file mode 100644 index 0000000..d524efd --- /dev/null +++ b/generator/src/test/resources/junit-platform.properties @@ -0,0 +1,10 @@ +junit.jupiter.execution.parallel.enabled=false +junit.jupiter.execution.parallel.mode.default=concurrent + +## number of threads +#default = dynamic +#junit.jupiter.execution.parallel.config.strategy=fixed +# default=1 +# use a high multiple because most of the tests are io bound, not cpu bound +#junit.jupiter.execution.parallel.config.dynamic.factor=20 +#junit.jupiter.execution.parallel.config.fixed.parallelism=64 diff --git a/plugin-maven/pom.xml b/plugin-maven/pom.xml index 7dcdda2..d3194ba 100644 --- a/plugin-maven/pom.xml +++ b/plugin-maven/pom.xml @@ -65,12 +65,7 @@ - - junit - junit - 4.13.2 - test - + org.apache.maven.plugin-testing maven-plugin-testing-harness diff --git a/plugin-maven/src/test/java/io/stubbs/truth/generator/GeneratorMojoTest.java b/plugin-maven/src/test/java/io/stubbs/truth/generator/GeneratorMojoTest.java index 0dfda41..8c525eb 100644 --- a/plugin-maven/src/test/java/io/stubbs/truth/generator/GeneratorMojoTest.java +++ b/plugin-maven/src/test/java/io/stubbs/truth/generator/GeneratorMojoTest.java @@ -10,7 +10,7 @@ import org.apache.maven.project.MavenProject; import org.junit.Before; import org.junit.Rule; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.io.File; import java.nio.file.Path; diff --git a/plugin-maven/src/test/java/io/stubbs/truth/generator/SubjectTests.java b/plugin-maven/src/test/java/io/stubbs/truth/generator/SubjectTests.java index 2843338..545ad9e 100644 --- a/plugin-maven/src/test/java/io/stubbs/truth/generator/SubjectTests.java +++ b/plugin-maven/src/test/java/io/stubbs/truth/generator/SubjectTests.java @@ -1,9 +1,7 @@ package io.stubbs.truth.generator; -import com.google.common.truth.Truth; -import io.stubbs.truth.generator.internal.model.Result; import io.stubbs.truth.generator.plugin.GeneratorMojo; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.io.File; import java.nio.file.Path; diff --git a/pom.xml b/pom.xml index 8af2e87..2d43ad5 100644 --- a/pom.xml +++ b/pom.xml @@ -101,6 +101,8 @@ UTF-8 0.7.4 + 5.8.2 + @@ -111,6 +113,7 @@ compile + com.google.truth.extensions truth-java8-extension compile @@ -122,6 +125,18 @@ + + org.junit.jupiter + junit-jupiter-api + test + ${junit.version} + + + org.junit.jupiter + junit-jupiter-engine + test + ${junit.version} + org.assertj assertj-core From 9db56c2a61201141857e9d234ea2e8599d2df2fe Mon Sep 17 00:00:00 2001 From: Antony Stubbs Date: Thu, 21 Apr 2022 12:55:50 +0100 Subject: [PATCH 4/7] START: Upgrade to JUnit 5 --- .../generator/internal/JDKOverrideAnalyserTest.java | 4 ++-- .../io/stubbs/truth/generator/GeneratorMojoTest.java | 11 +++++------ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/generator/src/test/java/io/stubbs/truth/generator/internal/JDKOverrideAnalyserTest.java b/generator/src/test/java/io/stubbs/truth/generator/internal/JDKOverrideAnalyserTest.java index a29c135..1e2f871 100644 --- a/generator/src/test/java/io/stubbs/truth/generator/internal/JDKOverrideAnalyserTest.java +++ b/generator/src/test/java/io/stubbs/truth/generator/internal/JDKOverrideAnalyserTest.java @@ -6,7 +6,7 @@ import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import one.util.streamex.StreamEx; -import org.junit.Before; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import java.lang.reflect.Method; @@ -31,7 +31,7 @@ public class JDKOverrideAnalyserTest { JDKOverrideAnalyser jdkOverrideAnalyser; - @Before + @BeforeEach public void setup() { jdkOverrideAnalyser = new JDKOverrideAnalyser(Options.builder().build()); } diff --git a/plugin-maven/src/test/java/io/stubbs/truth/generator/GeneratorMojoTest.java b/plugin-maven/src/test/java/io/stubbs/truth/generator/GeneratorMojoTest.java index 8c525eb..bd8e735 100644 --- a/plugin-maven/src/test/java/io/stubbs/truth/generator/GeneratorMojoTest.java +++ b/plugin-maven/src/test/java/io/stubbs/truth/generator/GeneratorMojoTest.java @@ -22,8 +22,7 @@ import static com.google.common.truth.Truth.assertThat; import static io.stubbs.truth.generator.shaded.java.io.FileChildSubject.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; + /** * @author Antony Stubbs @@ -31,7 +30,7 @@ */ public class GeneratorMojoTest { - @Rule + @Rule // todo remove to get rid of junit4 public MojoRule rule = new MojoRule(); File projectToTestBaseDir = new File("target/test-classes/project-to-test/"); @@ -52,14 +51,14 @@ public void setup() { @Test public void overall() throws Exception { - assertNotNull(projectToTestBaseDir); - assertTrue(projectToTestBaseDir.exists()); + assertThat(projectToTestBaseDir).isNotNull(); + assertThat(projectToTestBaseDir.exists()).isTrue(); Path generatorBaseDir = projectToTestBaseDir.toPath().resolve("target/generated-test-sources/truth-assertions-managed/"); // instantiation GeneratorMojo generatorMojo = (GeneratorMojo) rule.lookupConfiguredMojo(projectToTestBaseDir, "generate"); - assertNotNull(generatorMojo); + assertThat(generatorMojo).isNotNull(); List plugins = generatorMojo.getProject().getBuildPlugins(); assertThat(plugins.stream().map(Plugin::getKey).collect(Collectors.toList())).contains("io.stubbs.truth:truth-generator-maven-plugin"); From 7370e5c589b79cd98a06a07a751e6350911acfc5 Mon Sep 17 00:00:00 2001 From: Antony Stubbs Date: Thu, 21 Apr 2022 14:02:07 +0100 Subject: [PATCH 5/7] Ban junit 4 --- pom.xml | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/pom.xml b/pom.xml index 2d43ad5..22f0628 100644 --- a/pom.xml +++ b/pom.xml @@ -286,6 +286,45 @@ + + org.apache.maven.plugins + maven-enforcer-plugin + 3.0.0 + + + de.skuzzle.enforcer + restrict-imports-enforcer-rule + 2.0.0 + + + + + check-logging-imports + process-sources + + enforce + + + + + + Use SLF4j for logging + + java.util.logging.** + + + + + Use JUnit 5 + + org.junit.** + org.junit.jupiter.** + + + + + + org.apache.maven.plugins maven-compiler-plugin From 4f1480d8674a178dce61f1091ddc5b5ecd1a4f09 Mon Sep 17 00:00:00 2001 From: Antony Stubbs Date: Thu, 21 Apr 2022 14:14:35 +0100 Subject: [PATCH 6/7] Start: remove flogger and junit4 --- generator/pom.xml | 8 ------ .../generator/internal/ChainStrategy.java | 6 +---- .../generator/internal/SourceChecking.java | 17 +++++------- .../generator/internal/TruthGenerator.java | 16 +++++------ pom.xml | 27 +------------------ 5 files changed, 14 insertions(+), 60 deletions(-) diff --git a/generator/pom.xml b/generator/pom.xml index ffba011..c9d654a 100644 --- a/generator/pom.xml +++ b/generator/pom.xml @@ -74,10 +74,6 @@ com.google.guava guava - - com.google.flogger - flogger - org.projectlombok lombok @@ -129,10 +125,6 @@ - - com.google.flogger - flogger-slf4j-backend - diff --git a/generator/src/main/java/io/stubbs/truth/generator/internal/ChainStrategy.java b/generator/src/main/java/io/stubbs/truth/generator/internal/ChainStrategy.java index 6cf99bb..0ef05be 100644 --- a/generator/src/main/java/io/stubbs/truth/generator/internal/ChainStrategy.java +++ b/generator/src/main/java/io/stubbs/truth/generator/internal/ChainStrategy.java @@ -1,6 +1,5 @@ package io.stubbs.truth.generator.internal; -import com.google.common.flogger.FluentLogger; import com.google.common.truth.BooleanSubject; import io.stubbs.truth.generator.internal.model.ThreeSystem; import lombok.RequiredArgsConstructor; @@ -13,7 +12,6 @@ import static io.stubbs.truth.generator.internal.Utils.msg; import static java.lang.String.format; -import static java.util.logging.Level.WARNING; import static org.apache.commons.lang3.StringUtils.capitalize; import static org.apache.commons.lang3.StringUtils.removeStart; @@ -25,8 +23,6 @@ @Slf4j public class ChainStrategy extends AssertionMethodStrategy { - private static final FluentLogger logger = FluentLogger.forEnclosingClass(); - private final Options options = Options.get(); private final GeneratedSubjectTypeStore subjects; @@ -48,7 +44,7 @@ public MethodSource addChainStrategy(ThreeSystem threeSystem // no subject to chain if (subjectForType.isEmpty()) { - logger.at(WARNING).log("Cant find subject for " + resolvedPair); + log.warn("Cant find subject for " + resolvedPair); return null; } diff --git a/generator/src/main/java/io/stubbs/truth/generator/internal/SourceChecking.java b/generator/src/main/java/io/stubbs/truth/generator/internal/SourceChecking.java index dc49c96..606c18e 100644 --- a/generator/src/main/java/io/stubbs/truth/generator/internal/SourceChecking.java +++ b/generator/src/main/java/io/stubbs/truth/generator/internal/SourceChecking.java @@ -1,6 +1,6 @@ package io.stubbs.truth.generator.internal; -import com.google.common.flogger.FluentLogger; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.reflections.ReflectionUtils; @@ -8,15 +8,13 @@ import java.util.Arrays; import java.util.Optional; import java.util.Set; -import java.util.logging.Level; /** * @author Antony Stubbs */ +@Slf4j public class SourceChecking { - private static final FluentLogger logger = FluentLogger.forEnclosingClass(); - static boolean checkSource(Class source, Optional targetPackage) { if (isAnonymous(source)) return true; @@ -27,15 +25,12 @@ static boolean checkSource(Class source, Optional targetPackage) { if (isTestClass(source)) return true; - if (BuiltInSubjectTypeStore.getNativeTypes().contains(source)) - return true; - - return false; + return BuiltInSubjectTypeStore.getNativeTypes().contains(source); } private static boolean isAnonymous(Class source) { if (source.isAnonymousClass()) { - logger.at(Level.FINE).log("Skipping anonymous class %s", source); + log.debug("Skipping anonymous class %s", source); return true; } return false; @@ -44,7 +39,7 @@ private static boolean isAnonymous(Class source) { private static boolean isBuilder(Class source) { String simpleName = source.getSimpleName(); if (simpleName.contains("Builder")) { - logger.at(Level.FINE).log("Skipping builder class %s", source); + log.debug("Skipping builder class %s", source); return true; } return false; @@ -61,7 +56,7 @@ private static boolean isTestClass(Class source) { boolean nameEndsInTest = source.getSimpleName().endsWith("Test"); boolean isIndeed = hasTestAnnotatedMethod || nameEndsInTest; if (isIndeed) { - logger.at(Level.FINE).log("Skipping a test class %s", source); + log.debug("Skipping a test class %s", source); } return isIndeed; } diff --git a/generator/src/main/java/io/stubbs/truth/generator/internal/TruthGenerator.java b/generator/src/main/java/io/stubbs/truth/generator/internal/TruthGenerator.java index d1fc0e0..9b2ce1e 100644 --- a/generator/src/main/java/io/stubbs/truth/generator/internal/TruthGenerator.java +++ b/generator/src/main/java/io/stubbs/truth/generator/internal/TruthGenerator.java @@ -1,6 +1,5 @@ package io.stubbs.truth.generator.internal; -import com.google.common.flogger.FluentLogger; import com.google.common.truth.Subject; import io.stubbs.truth.generator.SourceClassSets; import io.stubbs.truth.generator.TruthGeneratorAPI; @@ -13,7 +12,6 @@ import java.nio.file.Path; import java.util.*; -import java.util.logging.Level; import java.util.stream.Collectors; import static java.util.Arrays.stream; @@ -26,7 +24,6 @@ @Slf4j public class TruthGenerator implements TruthGeneratorAPI { - private static final FluentLogger logger = FluentLogger.forEnclosingClass(); private final Path testOutputDir; private final Options options; private final ClassUtils classUtils = new ClassUtils(); @@ -130,7 +127,7 @@ private Set> filterSubjects(Set> classes) { return !isASubject && !alreadyExists; }).collect(toSet()); - logger.at(Level.FINE).log("Removed %s Subjects from inbound", classes.size() - filtered.size()); + log.debug("Removed %s Subjects from inbound", classes.size() - filtered.size()); return classes; } @@ -164,11 +161,10 @@ public Result generate(SourceClassSets ss) { Set> missing = rc.findReferencedNotIncluded(ss); if (!missing.isEmpty()) { results.referencedNotBuild(missing); - logger.at(Level.WARNING) - .log("Some referenced classes in the tree are not in the list of Subjects to be generated. " + - "Consider using automatic recursive generation, or add the missing classes. " + - "Otherwise your experience will be limited in places." + - "Missing classes %s", missing); + log.debug("Some referenced classes in the tree are not in the list of Subjects to be generated. " + + "Consider using automatic recursive generation, or add the missing classes. " + + "Otherwise your experience will be limited in places." + + "Missing classes %s", missing); } } @@ -223,7 +219,7 @@ public Result generate(SourceClassSets ss) { union.addAll(fromLegacyPackageSet); if (union.isEmpty()) - logger.atWarning().log("Nothing generated. Check your settings."); + log.warn("Nothing generated. Check your settings."); // addTests(union); diff --git a/pom.xml b/pom.xml index 22f0628..14061ae 100644 --- a/pom.xml +++ b/pom.xml @@ -100,7 +100,6 @@ 3.8.5 UTF-8 - 0.7.4 5.8.2 @@ -230,31 +229,6 @@ guava 31.1-jre - - com.google.flogger - flogger - ${flogger.version} - - - com.google.flogger - flogger-slf4j-backend - ${flogger.version} - - - com.google.flogger - flogger-system-backend - ${flogger.version} - - - com.google.flogger - flogger-maven-backend - ${flogger.version} - - - com.google.flogger - flogger-log4j2-backend - ${flogger.version} - org.projectlombok lombok @@ -312,6 +286,7 @@ java.util.logging.** + From 046b74f61d669f5182820fa044028f9adf844159 Mon Sep 17 00:00:00 2001 From: Antony Stubbs Date: Thu, 21 Apr 2022 15:20:37 +0100 Subject: [PATCH 7/7] Start: remove flogger and junit4 --- .../truth/generator/internal/GeneratedSubjectTypeStore.java | 3 --- .../stubbs/truth/generator/internal/SkeletonGenerator.java | 6 +++--- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/generator/src/main/java/io/stubbs/truth/generator/internal/GeneratedSubjectTypeStore.java b/generator/src/main/java/io/stubbs/truth/generator/internal/GeneratedSubjectTypeStore.java index b31764c..fc1dae1 100644 --- a/generator/src/main/java/io/stubbs/truth/generator/internal/GeneratedSubjectTypeStore.java +++ b/generator/src/main/java/io/stubbs/truth/generator/internal/GeneratedSubjectTypeStore.java @@ -1,6 +1,5 @@ package io.stubbs.truth.generator.internal; -import com.google.common.flogger.FluentLogger; import com.google.common.truth.ObjectArraySubject; import com.google.common.truth.Subject; import io.stubbs.truth.generator.internal.model.ThreeSystem; @@ -33,8 +32,6 @@ @Slf4j public class GeneratedSubjectTypeStore { - private static final FluentLogger logger = FluentLogger.forEnclosingClass(); - private final Map> generatedSubjects; @Delegate diff --git a/generator/src/main/java/io/stubbs/truth/generator/internal/SkeletonGenerator.java b/generator/src/main/java/io/stubbs/truth/generator/internal/SkeletonGenerator.java index fd366e9..6a53979 100644 --- a/generator/src/main/java/io/stubbs/truth/generator/internal/SkeletonGenerator.java +++ b/generator/src/main/java/io/stubbs/truth/generator/internal/SkeletonGenerator.java @@ -1,11 +1,11 @@ package io.stubbs.truth.generator.internal; -import com.google.common.flogger.FluentLogger; import com.google.common.truth.FailureMetadata; import com.google.common.truth.Subject; import io.stubbs.truth.generator.UserManagedTruth; import io.stubbs.truth.generator.internal.model.*; import lombok.Setter; +import lombok.extern.slf4j.Slf4j; import org.jboss.forge.roaster.Roaster; import org.jboss.forge.roaster.model.source.JavaClassSource; import org.jboss.forge.roaster.model.source.JavaDocSource; @@ -23,9 +23,9 @@ * @author Antony Stubbs * @see SubjectMethodGenerator */ +@Slf4j public class SkeletonGenerator implements SkeletonGeneratorAPI { - private static final FluentLogger logger = FluentLogger.forEnclosingClass(); private static final String BACKUP_PACKAGE = "io.stubbs.common.truth.extension.generator"; /** @@ -272,7 +272,7 @@ private MiddleClass createMiddleUserTemplateClass(JavaClassSource parent, Cl Optional> compiledMiddleClass = findCompiledMiddleIfExists(parent, middleClassName, classUnderTest); if (compiledMiddleClass.isPresent()) { - logger.atInfo().log("Skipping middle class Template creation as class already exists: %s", middleClassName); + log.info("Skipping middle class Template creation as class already exists: %s", middleClassName); return new UserSuppliedMiddleClass(compiledMiddleClass.get(), classUnderTest); }