From 88ee15a4a00746d795a37345680b36fafa076326 Mon Sep 17 00:00:00 2001 From: Bhargavi K Reddy <96629790+baruKreddy@users.noreply.github.com> Date: Wed, 7 Dec 2022 16:11:47 +0530 Subject: [PATCH] (jkube-kit/jkube-kit-wildfly-jar/) : Migrate tests from JMockit to Mockito #1729 (#1933) --- jkube-kit/jkube-kit-wildfly-jar/pom.xml | 6 +- .../WildflyJARHealthCheckEnricherTest.java | 104 +++++++++--------- .../generator/WildflyJARGeneratorTest.java | 77 ++++++------- 3 files changed, 87 insertions(+), 100 deletions(-) diff --git a/jkube-kit/jkube-kit-wildfly-jar/pom.xml b/jkube-kit/jkube-kit-wildfly-jar/pom.xml index bf9f7d0e5d..5864b31417 100644 --- a/jkube-kit/jkube-kit-wildfly-jar/pom.xml +++ b/jkube-kit/jkube-kit-wildfly-jar/pom.xml @@ -50,15 +50,13 @@ junit-jupiter-engine test - org.assertj assertj-core - - org.jmockit - jmockit + org.mockito + mockito-core diff --git a/jkube-kit/jkube-kit-wildfly-jar/src/test/java/org/eclipse/jkube/wildfly/jar/enricher/WildflyJARHealthCheckEnricherTest.java b/jkube-kit/jkube-kit-wildfly-jar/src/test/java/org/eclipse/jkube/wildfly/jar/enricher/WildflyJARHealthCheckEnricherTest.java index b3fa1efea1..3a37d3d6bd 100644 --- a/jkube-kit/jkube-kit-wildfly-jar/src/test/java/org/eclipse/jkube/wildfly/jar/enricher/WildflyJARHealthCheckEnricherTest.java +++ b/jkube-kit/jkube-kit-wildfly-jar/src/test/java/org/eclipse/jkube/wildfly/jar/enricher/WildflyJARHealthCheckEnricherTest.java @@ -36,59 +36,62 @@ import io.fabric8.kubernetes.api.model.Probe; import io.fabric8.kubernetes.api.model.apps.DeploymentBuilder; import io.fabric8.kubernetes.client.utils.Serialization; -import mockit.Expectations; -import mockit.Mocked; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; - +import static org.mockito.Mockito.RETURNS_DEEP_STUBS; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; class WildflyJARHealthCheckEnricherTest { - @Mocked protected JKubeEnricherContext context; - private void setupExpectations(JavaProject project, Map bootableJarConfig, Map> jkubeConfig) { + private JavaProject project; + + @BeforeEach + public void setUp() throws Exception { + context = mock(JKubeEnricherContext.class, RETURNS_DEEP_STUBS); + project = mock(JavaProject.class); + when(context.getProject()).thenReturn(project); + } + private void setupExpectations(Map bootableJarConfig, Map> jkubeConfig) { Plugin plugin = Plugin.builder().artifactId("wildfly-jar-maven-plugin").groupId("org.wildfly.plugins") .configuration(bootableJarConfig).build(); List lst = new ArrayList<>(); lst.add(plugin); ProcessorConfig c = new ProcessorConfig(null, null, jkubeConfig); - new Expectations() {{ - project.getPlugins(); result = lst; - context.getProject(); result = project; - Configuration.ConfigurationBuilder configBuilder = Configuration.builder(); - configBuilder.processorConfig(c); - context.getConfiguration(); result = configBuilder.build(); - }}; + Configuration.ConfigurationBuilder configBuilder = Configuration.builder(); + configBuilder.processorConfig(c); + when(project.getPlugins()).thenReturn(lst); + when(context.getProject()).thenReturn(project); + when(context.getConfiguration()).thenReturn(configBuilder.build()); } private void setupExpectations(Map> jkubeConfig) { ProcessorConfig c = new ProcessorConfig(null, null, jkubeConfig); - new Expectations() {{ - Configuration.ConfigurationBuilder configBuilder = Configuration.builder(); - configBuilder.processorConfig(c); - context.getConfiguration(); - result = configBuilder.build(); - }}; + Configuration.ConfigurationBuilder configBuilder = Configuration.builder(); + configBuilder.processorConfig(c); + when(context.getConfiguration()).thenReturn(configBuilder.build()); } @Test @DisplayName("with default configuration, should not add probes") - void defaultConfiguration_shouldNotAddProbes(@Mocked final JavaProject project) { - setupExpectations(project, Collections.emptyMap(), Collections.emptyMap()); + void defaultConfiguration_shouldNotAddProbes() { + setupExpectations(Collections.emptyMap(), Collections.emptyMap()); WildflyJARHealthCheckEnricher enricher = new WildflyJARHealthCheckEnricher(context); assertNoProbesAdded(enricher); } @Test @DisplayName("cloud configuration with wildfly jar version before 25.0.0, should not add startup probe") - void cloudConfiguration_withWildflyJarBefore25_0shouldNotAdd_startupProbe(@Mocked final JavaProject project) { - wildFlyJarDependencyWithVersion(project, "24.1.1.Final"); + void cloudConfiguration_withWildflyJarBefore25_0shouldNotAdd_startupProbe() { + wildFlyJarDependencyWithVersion("24.1.1.Final"); Map config = new HashMap<>(); config.put("cloud", null); - setupExpectations(project, config, Collections.emptyMap()); + setupExpectations(config, Collections.emptyMap()); WildflyJARHealthCheckEnricher enricher = new WildflyJARHealthCheckEnricher(context); Probe livenessProbe = enricher.getLivenessProbe(); @@ -103,12 +106,12 @@ void cloudConfiguration_withWildflyJarBefore25_0shouldNotAdd_startupProbe(@Mocke @Test @DisplayName("cloud configuration with wildfly jar version after 25.0, should not add startup probe") - void cloudConfiguration_withWildflyJarAfter25_0shouldAdd_startupProbe(@Mocked final JavaProject project) { - wildFlyJarDependencyWithVersion(project, "26.1.1.Final"); + void cloudConfiguration_withWildflyJarAfter25_0shouldAdd_startupProbe() { + wildFlyJarDependencyWithVersion("26.1.1.Final"); Map config = new HashMap<>(); config.put("cloud", null); - setupExpectations(project, config, Collections.emptyMap()); + setupExpectations(config, Collections.emptyMap()); WildflyJARHealthCheckEnricher enricher = new WildflyJARHealthCheckEnricher(context); Probe livenessProbe = enricher.getLivenessProbe(); @@ -123,8 +126,8 @@ void cloudConfiguration_withWildflyJarAfter25_0shouldAdd_startupProbe(@Mocked fi @Test @DisplayName("custom configuration with wildfly jar version before 25.0, should not add startup probe") - void withCustomConfigurationComingFromConf_withWildflyJarBefore25_0shouldNotAdd_startupProbe(@Mocked final JavaProject project) { - wildFlyJarDependencyWithVersion(project, "24.1.1.Final"); + void withCustomConfigurationComingFromConf_withWildflyJarBefore25_0shouldNotAdd_startupProbe() { + wildFlyJarDependencyWithVersion("24.1.1.Final"); Map jarConfig = new HashMap<>(); jarConfig.put("cloud", null); @@ -141,14 +144,14 @@ void withCustomConfigurationComingFromConf_withWildflyJarBefore25_0shouldNotAdd_ + "\"successThreshold\":\"10\"," + "\"periodSeconds\":\"15\"" + "}"); - setupExpectations(project, jarConfig, config); + setupExpectations(jarConfig, config); WildflyJARHealthCheckEnricher enricher = new WildflyJARHealthCheckEnricher(context); Probe livenessProbe = enricher.getLivenessProbe(); - assertProbeAdded(livenessProbe, "HTTPS", "/foo/live", 8080, 99, 27, 10, 15); + assertProbeAdded(livenessProbe, "/foo/live", 8080, 99, 27, 10, 15); Probe readinessProbe = enricher.getReadinessProbe(); - assertProbeAdded(readinessProbe, "HTTPS", "/foo/ready", 8080, 77, 27, 10, 15); + assertProbeAdded(readinessProbe, "/foo/ready", 8080, 77, 27, 10, 15); Probe startupProbe = enricher.getStartupProbe(); assertThat(startupProbe).isNull(); @@ -156,8 +159,8 @@ void withCustomConfigurationComingFromConf_withWildflyJarBefore25_0shouldNotAdd_ @Test @DisplayName("custom configuration with wildfly jar version after 25.0, should add startup probe") - void withCustomConfigurationComingFromConf_withWildflyJarAfter25_0shouldAdd_startupProbe(@Mocked final JavaProject project) { - wildFlyJarDependencyWithVersion(project, "26.1.1.Final"); + void withCustomConfigurationComingFromConf_withWildflyJarAfter25_0shouldAdd_startupProbe() { + wildFlyJarDependencyWithVersion( "26.1.1.Final"); Map jarConfig = new HashMap<>(); jarConfig.put("cloud", null); Map> config = createFakeConfig( @@ -173,28 +176,28 @@ void withCustomConfigurationComingFromConf_withWildflyJarAfter25_0shouldAdd_star + "\"successThreshold\":\"1\"," + "\"periodSeconds\":\"10\"" + "}"); - setupExpectations(project, jarConfig, config); + setupExpectations(jarConfig, config); WildflyJARHealthCheckEnricher enricher = new WildflyJARHealthCheckEnricher(context); Probe livenessProbe = enricher.getLivenessProbe(); - assertProbeAdded(livenessProbe, "HTTPS", "/foo/live", 1234, 99, 3, 1, 10); + assertProbeAdded(livenessProbe, "/foo/live", 1234, 99, 3, 1, 10); Probe readinessProbe = enricher.getReadinessProbe(); - assertProbeAdded(readinessProbe, "HTTPS", "/foo/ready", 1234, 77, 3, 1, 10); + assertProbeAdded(readinessProbe, "/foo/ready", 1234, 77, 3, 1, 10); Probe startupProbe = enricher.getStartupProbe(); - assertProbeAdded(startupProbe, "HTTPS", "/foo/started", 1234, 10, 3, 1, 10); + assertProbeAdded(startupProbe, "/foo/started", 1234, 10, 3, 1, 10); } @Test @DisplayName("with negative port, should disable health checks") - void withNegativePort_shouldDisableHealth(@Mocked final JavaProject project) { + void withNegativePort_shouldDisableHealth() { Map jarConfig = new HashMap<>(); jarConfig.put("cloud", null); Map> config = createFakeConfig("{" + "\"port\":\"-1\"" + "}"); - setupExpectations(project, jarConfig, config); + setupExpectations(jarConfig, config); WildflyJARHealthCheckEnricher enricher = new WildflyJARHealthCheckEnricher(context); assertNoProbesAdded(enricher); @@ -202,8 +205,8 @@ void withNegativePort_shouldDisableHealth(@Mocked final JavaProject project) { @Test @DisplayName("when true health is enforced with wildfly jar version before 25.0, should not add startup probe") - void enforceTrueHealth_withWildflyJarBefore25_0shouldNotAdd_startupProbe(@Mocked final JavaProject project) { - wildFlyJarDependencyWithVersion(project, "24.1.1.Final"); + void enforceTrueHealth_withWildflyJarBefore25_0shouldNotAdd_startupProbe() { + wildFlyJarDependencyWithVersion("24.1.1.Final"); Map> config = createFakeConfig("{" + "\"enforceProbes\":\"true\"" + "}"); @@ -223,8 +226,8 @@ void enforceTrueHealth_withWildflyJarBefore25_0shouldNotAdd_startupProbe(@Mocked @Test @DisplayName("when true health is enforced with wildfly jar version after 25.0, should add startup probe") - void enforceTrueHealth_withWildflyJarAfter25_0shouldAddStartupProbe(@Mocked final JavaProject project) { - wildFlyJarDependencyWithVersion(project, "26.1.1.Final"); + void enforceTrueHealth_withWildflyJarAfter25_0shouldAddStartupProbe() { + wildFlyJarDependencyWithVersion("26.1.1.Final"); Map> config = createFakeConfig("{" + "\"enforceProbes\":\"true\"" + "}"); @@ -286,15 +289,12 @@ public void visit(ContainerBuilder containerBuilder) { .isEqualTo("metadata.name"); } - private void wildFlyJarDependencyWithVersion(JavaProject project, String wildflyJarVersion) { - new Expectations() {{ - project.getDependencies(); - result = Collections.singletonList(Dependency.builder() + private void wildFlyJarDependencyWithVersion(String wildflyJarVersion) { + when(project.getDependencies()).thenReturn(Collections.singletonList(Dependency.builder() .groupId("org.wildfly.plugins") .artifactId("wildfly-jar-maven-plugin") .version(wildflyJarVersion) - .build()); - }}; + .build())); } @SuppressWarnings("unchecked") @@ -319,9 +319,9 @@ private void assertHttpGet(Probe probe, String scheme, String path, int port) { .hasFieldOrPropertyWithValue("port.intVal", port); } - private void assertProbeAdded(Probe probe, String scheme, String path, int port, - int initialDelay, int failureThreshold, int successThreshold, int periodSeconds) { - assertHttpGet(probe, scheme, path, port); + private void assertProbeAdded(Probe probe, String path, int port, + int initialDelay, int failureThreshold, int successThreshold, int periodSeconds) { + assertHttpGet(probe, "HTTPS", path, port); assertThat(probe).isNotNull() .returns(initialDelay, Probe::getInitialDelaySeconds) .returns(failureThreshold, Probe::getFailureThreshold) diff --git a/jkube-kit/jkube-kit-wildfly-jar/src/test/java/org/eclipse/jkube/wildfly/jar/generator/WildflyJARGeneratorTest.java b/jkube-kit/jkube-kit-wildfly-jar/src/test/java/org/eclipse/jkube/wildfly/jar/generator/WildflyJARGeneratorTest.java index a40a6df3d4..84f8b1a3ed 100644 --- a/jkube-kit/jkube-kit-wildfly-jar/src/test/java/org/eclipse/jkube/wildfly/jar/generator/WildflyJARGeneratorTest.java +++ b/jkube-kit/jkube-kit-wildfly-jar/src/test/java/org/eclipse/jkube/wildfly/jar/generator/WildflyJARGeneratorTest.java @@ -28,8 +28,7 @@ import org.eclipse.jkube.kit.common.JavaProject; import org.eclipse.jkube.kit.common.Plugin; -import mockit.Expectations; -import mockit.Mocked; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.io.TempDir; @@ -38,22 +37,26 @@ import static org.eclipse.jkube.wildfly.jar.generator.WildflyJARGenerator.JBOSS_MAVEN_DIST; import static org.eclipse.jkube.wildfly.jar.generator.WildflyJARGenerator.JBOSS_MAVEN_REPO; import static org.eclipse.jkube.wildfly.jar.generator.WildflyJARGenerator.PLUGIN_OPTIONS; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; /** * @author roland */ - class WildflyJARGeneratorTest { @TempDir Path temporaryFolder; - @Mocked private GeneratorContext context; - - @Mocked private JavaProject project; + @BeforeEach + void setUp() { + context = mock(GeneratorContext.class); + project = mock(JavaProject.class); + } + @Test void notApplicable() { WildflyJARGenerator generator = new WildflyJARGenerator(createGeneratorContext()); @@ -67,7 +70,7 @@ void getEnv() { Map extraEnv = generator.getEnv(true); assertThat(extraEnv).isNotNull().hasSize(4); } - + @Test void getExtraOptions() { WildflyJARGenerator generator = new WildflyJARGenerator(createGeneratorContext()); @@ -75,9 +78,9 @@ void getExtraOptions() { assertThat(extraOptions).isNotNull() .singleElement().isEqualTo("-Djava.net.preferIPv4Stack=true"); } - + @Test - void slimServer(@Mocked final JavaProject project) throws IOException { + void slimServer() throws IOException { Map options = new HashMap<>(); Map pluginOptions = new HashMap<>(); options.put(PLUGIN_OPTIONS, pluginOptions); @@ -106,9 +109,9 @@ void slimServer(@Mocked final JavaProject project) throws IOException { .singleElement() .isEqualTo("myrepo"); } - + @Test - void slimServerAbsoluteDir(@Mocked final JavaProject project) throws IOException { + void slimServerAbsoluteDir() throws IOException { Map options = new HashMap<>(); Map pluginOptions = new HashMap<>(); @@ -138,9 +141,9 @@ void slimServerAbsoluteDir(@Mocked final JavaProject project) throws IOException .singleElement() .isEqualTo("myrepo"); } - + @Test - void slimServerNoDir(@Mocked final JavaProject project) throws Exception { + void slimServerNoDir() throws Exception { Map options = new HashMap<>(); Map pluginOptions = new HashMap<>(); @@ -167,9 +170,9 @@ void slimServerNoDir(@Mocked final JavaProject project) throws Exception { .withMessage("Error, WildFly bootable JAR generator can't retrieve generated maven local cache, directory " + repoDir + " doesn't exist."); } - + @Test - void slimServerNoRepo(@Mocked final JavaProject project) { + void slimServerNoRepo() { Map options = new HashMap<>(); Map pluginOptions = new HashMap<>(); options.put(PLUGIN_OPTIONS, pluginOptions); @@ -181,9 +184,9 @@ void slimServerNoRepo(@Mocked final JavaProject project) { .singleElement() .isEqualTo("-Djava.net.preferIPv4Stack=true"); } - + @Test - void slimServerNoDist(@Mocked final JavaProject project) { + void slimServerNoDist() { Map options = new HashMap<>(); Map pluginOptions = new HashMap<>(); options.put(PLUGIN_OPTIONS, pluginOptions); @@ -195,9 +198,9 @@ void slimServerNoDist(@Mocked final JavaProject project) { .singleElement() .isEqualTo("-Djava.net.preferIPv4Stack=true"); } - + @Test - void slimServerFalseDist(@Mocked final JavaProject project) { + void slimServerFalseDist() { Map options = new HashMap<>(); Map pluginOptions = new HashMap<>(); options.put(PLUGIN_OPTIONS, pluginOptions); @@ -210,9 +213,9 @@ void slimServerFalseDist(@Mocked final JavaProject project) { .singleElement() .isEqualTo("-Djava.net.preferIPv4Stack=true"); } - + @Test - void slimServerTrueDist(@Mocked final JavaProject project) { + void slimServerTrueDist() { Map options = new HashMap<>(); Map pluginOptions = new HashMap<>(); options.put(PLUGIN_OPTIONS, pluginOptions); @@ -235,33 +238,19 @@ private GeneratorContext contextForSlimServer(JavaProject project, Map lst = new ArrayList<>(); lst.add(plugin); - if (dir == null) { - new Expectations() {{ - project.getPlugins(); - result = lst; - context.getProject(); - result = project; - }}; - } else { - new Expectations() {{ - project.getPlugins(); - result = lst; - project.getBaseDirectory(); - result = dir.toFile(); - context.getProject(); - result = project; - }}; + when(project.getPlugins()).thenReturn(lst); + when(context.getProject()).thenReturn(project); + if (dir != null) { + when(project.getBaseDirectory()).thenReturn(dir.toFile()); } return context; } private GeneratorContext createGeneratorContext() { - new Expectations() {{ - context.getProject(); result = project; - project.getOutputDirectory(); result = temporaryFolder.toFile(); - project.getPlugins(); result = Collections.emptyList(); minTimes = 0; - project.getVersion(); result = "1.0.0"; minTimes = 0; - }}; - return context; + when(context.getProject()).thenReturn(project); + when(project.getOutputDirectory()).thenReturn(temporaryFolder.toFile()); + when(project.getPlugins()).thenReturn(Collections.emptyList()); + when(project.getVersion()).thenReturn("1.0.0"); + return context; } }