From a690b12d220da0301e6e5b6c44096986a00104f7 Mon Sep 17 00:00:00 2001 From: Ruby Date: Mon, 12 Oct 2020 18:42:59 -0400 Subject: [PATCH 1/9] added junit 5 to gradle and module-info.java --- build.gradle | 3 ++- .../rico-remoting-server-spring-test.gradle | 6 ++++++ .../src/main/java/module-info.java | 5 +++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 45583039..4c0eb955 100644 --- a/build.gradle +++ b/build.gradle @@ -89,7 +89,8 @@ subprojects { proj -> // } test { - useTestNG() + useJUnitPlatform() + //useTestNG() jvmArgs("-Djdk.attach.allowAttachSelf") testLogging.showStandardStreams = true } diff --git a/remoting/rico-remoting-server-spring-test/rico-remoting-server-spring-test.gradle b/remoting/rico-remoting-server-spring-test/rico-remoting-server-spring-test.gradle index bf299f55..18742d5a 100644 --- a/remoting/rico-remoting-server-spring-test/rico-remoting-server-spring-test.gradle +++ b/remoting/rico-remoting-server-spring-test/rico-remoting-server-spring-test.gradle @@ -20,6 +20,12 @@ dependencies { api project(':rico-remoting-client') implementation "org.testng:testng:$testngVersion" implementation "junit:junit:$junitVersion" + //add the junit jupiter here + testCompile("org.junit.jupiter:junit-jupiter-api:5.7.0") + testRuntimeOnly("org.junit.platform:junit-platform-launcher:1.7.0") + + compile 'org.junit.jupiter:junit-jupiter:5.7.0' + compile("org.junit.jupiter:junit-jupiter-engine:5.7.0") implementation "org.springframework:spring-web:$springVersion" implementation "org.springframework:spring-context:$springVersion" diff --git a/remoting/rico-remoting-server-spring-test/src/main/java/module-info.java b/remoting/rico-remoting-server-spring-test/src/main/java/module-info.java index 1b5d51ab..f2d142ee 100644 --- a/remoting/rico-remoting-server-spring-test/src/main/java/module-info.java +++ b/remoting/rico-remoting-server-spring-test/src/main/java/module-info.java @@ -14,4 +14,9 @@ requires static java.servlet; requires testng; requires junit; + + //adding junit 5 to the module + requires org.junit.jupiter; + + } From b8a2e59d5577a3c79468a39765a6b10fbe4845cd Mon Sep 17 00:00:00 2001 From: Ruby Date: Mon, 12 Oct 2020 20:46:19 -0400 Subject: [PATCH 2/9] trying to turn rule into junit5 equivalent --- .../test/SpringJUnitControllerTest.java | 79 ++++++++++++++++--- 1 file changed, 66 insertions(+), 13 deletions(-) diff --git a/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java b/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java index d44f7346..97b976ba 100644 --- a/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java +++ b/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java @@ -21,13 +21,27 @@ import dev.rico.internal.server.remoting.test.SpringTestBootstrap; import dev.rico.internal.server.remoting.test.TestClientContext; import org.apiguardian.api.API; + +//change this into junit5 import org.junit.Rule; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.AfterAllCallback; +import org.junit.jupiter.api.extension.BeforeAllCallback; +import org.junit.jupiter.api.extension.ExtendWith; +//change to junit5 +import org.junit.jupiter.api.extension.ExtensionContext; +import org.junit.jupiter.api.extension.RegisterExtension; import org.junit.rules.ExternalResource; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests; +import org.springframework.test.context.junit.jupiter.SpringExtension; + +//What does this do? +//import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests; import static org.apiguardian.api.API.Status.MAINTAINED; @@ -35,38 +49,77 @@ * Base class for JUnit based controller tests in Spring. This class can be extended to write custom controller tests. * * @see ControllerTest - * @see AbstractJUnit4SpringContextTests + * @see //AbstractJUnit4SpringContextTests * @see ControllerUnderTest * * @author Hendrik Ebbers */ +@ExtendWith(SpringExtension.class) @SpringBootTest @ContextConfiguration(classes = SpringTestBootstrap.class) @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD) @API(since = "0.x", status = MAINTAINED) -public abstract class SpringJUnitControllerTest extends AbstractJUnit4SpringContextTests implements ControllerTest { +public abstract class SpringJUnitControllerTest implements ControllerTest { @Autowired private TestClientContext clientContext; - @Rule - public ExternalResource clientConnector = new ExternalResource() { - @Override - protected void before() throws Throwable { - super.before(); - clientContext.connect().get(); + //Turn this to junit5 +// @Rule +// public ExternalResource clientConnector = new ExternalResource() { +// @Override +// protected void before() throws Throwable { +// super.before(); +// clientContext.connect().get(); +// } +// +// @Override +// protected void after() { +// super.after(); +// try { +// clientContext.disconnect().get(); +// } catch (Exception e) { +// throw new ControllerTestException("Can not disconnect client context!", e); +// } +// } +// }; + + public static class clientConnector implements BeforeAllCallback, AfterAllCallback{ + + private TestClientContext testClientContext; + + public TestClientContext getTestClientContext(){ + return testClientContext; } @Override - protected void after() { - super.after(); + public void afterAll(final ExtensionContext context) throws Exception { try { - clientContext.disconnect().get(); + testClientContext.disconnect().get(); } catch (Exception e) { throw new ControllerTestException("Can not disconnect client context!", e); } } - }; + + @Override + public void beforeAll(final ExtensionContext context) throws Exception { + testClientContext.connect().get(); + } + } + + @RegisterExtension + static clientConnector connector = new clientConnector(); + + @Test + void clientRunning(){ + Assertions.assertTrue(true); + } + + + + + + public ControllerUnderTest createController(final String controllerName) { Assert.requireNonBlank(controllerName, "controllerName"); From 9a96a5b6dd6663a63e0ac292dcb5be50bb589947 Mon Sep 17 00:00:00 2001 From: Ruby Date: Mon, 12 Oct 2020 21:04:59 -0400 Subject: [PATCH 3/9] changed JUnitDemoTest from junit4 to junit5 --- .../test/SpringJUnitControllerTest.java | 45 +++++++++---------- .../server/remoting/test/JUnitDemoTest.java | 6 ++- 2 files changed, 26 insertions(+), 25 deletions(-) diff --git a/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java b/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java index 97b976ba..3d83ef8d 100644 --- a/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java +++ b/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java @@ -40,8 +40,7 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit.jupiter.SpringExtension; -//What does this do? -//import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests; + import static org.apiguardian.api.API.Status.MAINTAINED; @@ -65,26 +64,26 @@ public abstract class SpringJUnitControllerTest implements ControllerTest { private TestClientContext clientContext; //Turn this to junit5 -// @Rule -// public ExternalResource clientConnector = new ExternalResource() { -// @Override -// protected void before() throws Throwable { -// super.before(); -// clientContext.connect().get(); -// } -// -// @Override -// protected void after() { -// super.after(); -// try { -// clientContext.disconnect().get(); -// } catch (Exception e) { -// throw new ControllerTestException("Can not disconnect client context!", e); -// } -// } -// }; - - public static class clientConnector implements BeforeAllCallback, AfterAllCallback{ + @Rule + public ExternalResource clientConnector = new ExternalResource() { + @Override + protected void before() throws Throwable { + super.before(); + clientContext.connect().get(); + } + + @Override + protected void after() { + super.after(); + try { + clientContext.disconnect().get(); + } catch (Exception e) { + throw new ControllerTestException("Can not disconnect client context!", e); + } + } + }; + +/* public static class clientConnector implements BeforeAllCallback, AfterAllCallback{ private TestClientContext testClientContext; @@ -115,7 +114,7 @@ void clientRunning(){ Assertions.assertTrue(true); } - +*/ diff --git a/remoting/rico-remoting-server-spring-test/src/test/java/dev/rico/server/remoting/test/JUnitDemoTest.java b/remoting/rico-remoting-server-spring-test/src/test/java/dev/rico/server/remoting/test/JUnitDemoTest.java index e6edff70..94f7d21c 100644 --- a/remoting/rico-remoting-server-spring-test/src/test/java/dev/rico/server/remoting/test/JUnitDemoTest.java +++ b/remoting/rico-remoting-server-spring-test/src/test/java/dev/rico/server/remoting/test/JUnitDemoTest.java @@ -16,9 +16,11 @@ */ package dev.rico.server.remoting.test; -import org.junit.Test; +import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.*; -import static org.junit.Assert.*; +//change the asserts to junit5 assertions +//import static org.junit.Assert.*; public class JUnitDemoTest extends SpringJUnitControllerTest { From e2b03eb1634f790e549c4d4f2ec616df04d500f3 Mon Sep 17 00:00:00 2001 From: Ruby Date: Tue, 13 Oct 2020 03:08:42 -0400 Subject: [PATCH 4/9] clientargument keeps returning null --- .../remoting/test/ClientTestFactory.java | 1 + .../test/SpringJUnitControllerTest.java | 139 +++++++++++------- .../test/clientConnectorExtension.java | 44 ++++++ .../server/remoting/test/JUnitDemoTest.java | 10 +- 4 files changed, 134 insertions(+), 60 deletions(-) create mode 100644 remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/clientConnectorExtension.java diff --git a/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/internal/server/remoting/test/ClientTestFactory.java b/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/internal/server/remoting/test/ClientTestFactory.java index 8e2401a9..33b8af2b 100644 --- a/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/internal/server/remoting/test/ClientTestFactory.java +++ b/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/internal/server/remoting/test/ClientTestFactory.java @@ -41,6 +41,7 @@ public static ControllerUnderTest createController(final TestClientContex final ControllerProxy proxy = (ControllerProxy) clientContext.createController(controllerName, parameters).get(); return new ControllerUnderTestWrapper<>(clientContext, proxy); } catch (Exception e) { + e.printStackTrace(); throw new ControllerTestException("Can't create controller proxy", e); } } diff --git a/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java b/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java index 3d83ef8d..a4dc5c2e 100644 --- a/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java +++ b/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java @@ -23,15 +23,18 @@ import org.apiguardian.api.API; //change this into junit5 -import org.junit.Rule; + import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.AfterAllCallback; +import org.junit.jupiter.api.extension.AfterEachCallback; import org.junit.jupiter.api.extension.BeforeAllCallback; +import org.junit.jupiter.api.extension.BeforeEachCallback; import org.junit.jupiter.api.extension.ExtendWith; //change to junit5 import org.junit.jupiter.api.extension.ExtensionContext; import org.junit.jupiter.api.extension.RegisterExtension; +import org.junit.Rule; import org.junit.rules.ExternalResource; import org.springframework.beans.factory.annotation.Autowired; @@ -39,6 +42,7 @@ import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit.jupiter.SpringExtension; +import dev.rico.server.remoting.test.clientConnectorExtension; @@ -53,77 +57,98 @@ * * @author Hendrik Ebbers */ -@ExtendWith(SpringExtension.class) +@ExtendWith({SpringExtension.class}) @SpringBootTest @ContextConfiguration(classes = SpringTestBootstrap.class) @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD) @API(since = "0.x", status = MAINTAINED) -public abstract class SpringJUnitControllerTest implements ControllerTest { - +public abstract class SpringJUnitControllerTest implements ControllerTest{ +// @Autowired - private TestClientContext clientContext; - - //Turn this to junit5 - @Rule - public ExternalResource clientConnector = new ExternalResource() { - @Override - protected void before() throws Throwable { - super.before(); - clientContext.connect().get(); - } - - @Override - protected void after() { - super.after(); - try { - clientContext.disconnect().get(); - } catch (Exception e) { - throw new ControllerTestException("Can not disconnect client context!", e); - } - } - }; - -/* public static class clientConnector implements BeforeAllCallback, AfterAllCallback{ - - private TestClientContext testClientContext; - - public TestClientContext getTestClientContext(){ - return testClientContext; - } - - @Override - public void afterAll(final ExtensionContext context) throws Exception { - try { - testClientContext.disconnect().get(); - } catch (Exception e) { - throw new ControllerTestException("Can not disconnect client context!", e); - } - } - - @Override - public void beforeAll(final ExtensionContext context) throws Exception { - testClientContext.connect().get(); - } - } - - @RegisterExtension - static clientConnector connector = new clientConnector(); - + private static TestClientContext clientContext; + + +// +// @RegisterExtension +// static clientConnectorExtension connectorExtension; + +// +// @Rule +// public ExternalResource clientConnector = new ExternalResource() { +// @Override +// protected void before() throws Throwable { +// super.before(); +// clientContext.connect().get(); +// } +// +// @Override +// protected void after() { +// super.after(); +// try { +// clientContext.disconnect().get(); +// } catch (Exception e) { +// throw new ControllerTestException("Can not disconnect client context!", e); +// } +// } +// }; +//// +// public static class clientConnector implements BeforeEachCallback, AfterEachCallback{ +// +// @Override +// public void afterEach(final ExtensionContext context) throws Exception { +// try { +// clientContext.disconnect().get(); +// } catch (Exception e) { +// throw new ControllerTestException("Can not disconnect client context!", e); +// } +// System.out.println("This is after"); +// } +// +// //This keeps getting null- how is clientContext set in the other one? +// +// @Override +// public void beforeEach(final ExtensionContext context) throws Exception { +// System.out.println("This is before"); +// clientContext.connect().get(); +// } +// } +//// + + //I need to have an extension here to replace the rule + +// +// @Override +// public void afterEach(final ExtensionContext context) throws Exception { +// try { +// clientContext.disconnect().get(); +// } catch (Exception e) { +// throw new ControllerTestException("Can not disconnect client context!", e); +// } +// System.out.println("This is after"); +// } +// +// //This is getting null +// @Override +// public void beforeEach(final ExtensionContext context) throws Exception { +// System.out.println("This is before"); +// clientContext.connect().get(); +// } +// @Test void clientRunning(){ Assertions.assertTrue(true); } -*/ - - - +// +// @RegisterExtension +// static clientConnector connectorExtension = new clientConnector(); +// public ControllerUnderTest createController(final String controllerName) { Assert.requireNonBlank(controllerName, "controllerName"); try { - return ClientTestFactory.createController(clientContext, controllerName); + return ClientTestFactory.createController(clientContext, controllerName); } catch (Exception e) { throw new ControllerTestException("Can't create controller proxy", e); } diff --git a/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/clientConnectorExtension.java b/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/clientConnectorExtension.java new file mode 100644 index 00000000..f5aee822 --- /dev/null +++ b/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/clientConnectorExtension.java @@ -0,0 +1,44 @@ +package dev.rico.server.remoting.test; + +import dev.rico.internal.server.remoting.test.SpringTestBootstrap; +import org.junit.jupiter.api.extension.AfterAllCallback; +import org.junit.jupiter.api.extension.AfterEachCallback; +import org.junit.jupiter.api.extension.BeforeAllCallback; +import org.junit.jupiter.api.extension.BeforeEachCallback; +import org.junit.jupiter.api.extension.ExtensionContext; +import dev.rico.internal.server.remoting.test.TestClientContext; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.ContextConfiguration; + +@SpringBootTest +@ContextConfiguration(classes = SpringTestBootstrap.class) +@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD) +public class clientConnectorExtension implements BeforeEachCallback, AfterEachCallback { + + @Autowired + private TestClientContext clientContext; + + public TestClientContext getContext() { + return clientContext; + } + + + @Override + public void afterEach(final ExtensionContext context) throws Exception { + try { + // clientContext.disconnect().get(); + } catch (Exception e) { + throw new ControllerTestException("Can not disconnect client context!", e); + } + System.out.println("This is after"); + } + + //This is getting null + @Override + public void beforeEach(final ExtensionContext context) throws Exception { + System.out.println("This is before"); + // clientContext.connect().get(); + } +} diff --git a/remoting/rico-remoting-server-spring-test/src/test/java/dev/rico/server/remoting/test/JUnitDemoTest.java b/remoting/rico-remoting-server-spring-test/src/test/java/dev/rico/server/remoting/test/JUnitDemoTest.java index 94f7d21c..c0657f1a 100644 --- a/remoting/rico-remoting-server-spring-test/src/test/java/dev/rico/server/remoting/test/JUnitDemoTest.java +++ b/remoting/rico-remoting-server-spring-test/src/test/java/dev/rico/server/remoting/test/JUnitDemoTest.java @@ -16,12 +16,10 @@ */ package dev.rico.server.remoting.test; +import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; -//change the asserts to junit5 assertions -//import static org.junit.Assert.*; - public class JUnitDemoTest extends SpringJUnitControllerTest { @Test @@ -70,4 +68,10 @@ public void testInvokeActionAfterDestroy() { fail("Calling an action after destroy should throw an exception!"); } catch (ControllerTestException e) {} } + + @Test + void clientRunningDummy(){ + Assertions.assertTrue(true); + } + } From 106b1fc085844392beed51818d664093e09cfb7d Mon Sep 17 00:00:00 2001 From: Ruby Date: Tue, 13 Oct 2020 22:15:08 -0400 Subject: [PATCH 5/9] Trouble with autowiring testClient context in the extension --- .../server/remoting/test/SpringJUnitControllerTest.java | 7 ++++--- .../server/remoting/test/clientConnectorExtension.java | 7 +++++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java b/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java index a4dc5c2e..ebd8f3bd 100644 --- a/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java +++ b/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java @@ -57,6 +57,7 @@ * * @author Hendrik Ebbers */ +@ExtendWith(clientConnectorExtension.class) @ExtendWith({SpringExtension.class}) @SpringBootTest @ContextConfiguration(classes = SpringTestBootstrap.class) @@ -65,14 +66,14 @@ public abstract class SpringJUnitControllerTest implements ControllerTest{ // @Autowired - private static TestClientContext clientContext; + private TestClientContext clientContext; // // @RegisterExtension -// static clientConnectorExtension connectorExtension; +// clientConnectorExtension connectorExtension; -// +//// // @Rule // public ExternalResource clientConnector = new ExternalResource() { // @Override diff --git a/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/clientConnectorExtension.java b/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/clientConnectorExtension.java index f5aee822..3e455061 100644 --- a/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/clientConnectorExtension.java +++ b/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/clientConnectorExtension.java @@ -5,14 +5,17 @@ import org.junit.jupiter.api.extension.AfterEachCallback; import org.junit.jupiter.api.extension.BeforeAllCallback; import org.junit.jupiter.api.extension.BeforeEachCallback; +import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.api.extension.ExtensionContext; import dev.rico.internal.server.remoting.test.TestClientContext; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit.jupiter.SpringExtension; @SpringBootTest +@ExtendWith({SpringExtension.class}) @ContextConfiguration(classes = SpringTestBootstrap.class) @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD) public class clientConnectorExtension implements BeforeEachCallback, AfterEachCallback { @@ -28,7 +31,7 @@ public TestClientContext getContext() { @Override public void afterEach(final ExtensionContext context) throws Exception { try { - // clientContext.disconnect().get(); + clientContext.disconnect().get(); } catch (Exception e) { throw new ControllerTestException("Can not disconnect client context!", e); } @@ -39,6 +42,6 @@ public void afterEach(final ExtensionContext context) throws Exception { @Override public void beforeEach(final ExtensionContext context) throws Exception { System.out.println("This is before"); - // clientContext.connect().get(); + clientContext.connect().get(); } } From 817d0162114faf2bc0d838e94e0556f1f4aef87e Mon Sep 17 00:00:00 2001 From: Ruby Date: Tue, 13 Oct 2020 22:39:07 -0400 Subject: [PATCH 6/9] Tests are working --- .../test/SpringJUnitControllerTest.java | 27 ++++++++++++++----- 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java b/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java index ebd8f3bd..2376c3f6 100644 --- a/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java +++ b/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java @@ -24,7 +24,9 @@ //change this into junit5 +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.AfterAllCallback; import org.junit.jupiter.api.extension.AfterEachCallback; @@ -57,13 +59,13 @@ * * @author Hendrik Ebbers */ -@ExtendWith(clientConnectorExtension.class) + @ExtendWith({SpringExtension.class}) @SpringBootTest @ContextConfiguration(classes = SpringTestBootstrap.class) @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD) @API(since = "0.x", status = MAINTAINED) -public abstract class SpringJUnitControllerTest implements ControllerTest{ +public abstract class SpringJUnitControllerTest implements ControllerTest { // @Autowired private TestClientContext clientContext; @@ -140,12 +142,25 @@ void clientRunning(){ Assertions.assertTrue(true); } -// -// @RegisterExtension -// static clientConnector connectorExtension = new clientConnector(); -// + //@Override + @AfterEach + public void closeClient() throws Exception { + try { + clientContext.disconnect().get(); + } catch (Exception e) { + throw new ControllerTestException("Can not disconnect client context!", e); + } + System.out.println("This is after"); + } + + @BeforeEach + public void connectClient() throws Exception { + System.out.println("This is before"); + clientContext.connect().get(); + } + public ControllerUnderTest createController(final String controllerName) { Assert.requireNonBlank(controllerName, "controllerName"); try { From 09857bc3ce1386e00d1dfaa32dbf7b7bdc9dbcd2 Mon Sep 17 00:00:00 2001 From: Ruby Date: Tue, 13 Oct 2020 22:50:33 -0400 Subject: [PATCH 7/9] cleaned up - removed dummyTest --- .../rico-remoting-server-spring-test.gradle | 2 +- .../test/SpringJUnitControllerTest.java | 93 ++----------------- .../test/clientConnectorExtension.java | 47 ---------- .../server/remoting/test/JUnitDemoTest.java | 6 +- 4 files changed, 8 insertions(+), 140 deletions(-) delete mode 100644 remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/clientConnectorExtension.java diff --git a/remoting/rico-remoting-server-spring-test/rico-remoting-server-spring-test.gradle b/remoting/rico-remoting-server-spring-test/rico-remoting-server-spring-test.gradle index 18742d5a..26706236 100644 --- a/remoting/rico-remoting-server-spring-test/rico-remoting-server-spring-test.gradle +++ b/remoting/rico-remoting-server-spring-test/rico-remoting-server-spring-test.gradle @@ -20,7 +20,7 @@ dependencies { api project(':rico-remoting-client') implementation "org.testng:testng:$testngVersion" implementation "junit:junit:$junitVersion" - //add the junit jupiter here + testCompile("org.junit.jupiter:junit-jupiter-api:5.7.0") testRuntimeOnly("org.junit.platform:junit-platform-launcher:1.7.0") diff --git a/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java b/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java index 2376c3f6..90e3f912 100644 --- a/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java +++ b/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java @@ -28,23 +28,16 @@ import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.AfterAllCallback; -import org.junit.jupiter.api.extension.AfterEachCallback; -import org.junit.jupiter.api.extension.BeforeAllCallback; -import org.junit.jupiter.api.extension.BeforeEachCallback; + import org.junit.jupiter.api.extension.ExtendWith; -//change to junit5 -import org.junit.jupiter.api.extension.ExtensionContext; -import org.junit.jupiter.api.extension.RegisterExtension; -import org.junit.Rule; -import org.junit.rules.ExternalResource; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit.jupiter.SpringExtension; -import dev.rico.server.remoting.test.clientConnectorExtension; + @@ -66,85 +59,11 @@ @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD) @API(since = "0.x", status = MAINTAINED) public abstract class SpringJUnitControllerTest implements ControllerTest { -// + @Autowired private TestClientContext clientContext; -// -// @RegisterExtension -// clientConnectorExtension connectorExtension; - -//// -// @Rule -// public ExternalResource clientConnector = new ExternalResource() { -// @Override -// protected void before() throws Throwable { -// super.before(); -// clientContext.connect().get(); -// } -// -// @Override -// protected void after() { -// super.after(); -// try { -// clientContext.disconnect().get(); -// } catch (Exception e) { -// throw new ControllerTestException("Can not disconnect client context!", e); -// } -// } -// }; -//// -// public static class clientConnector implements BeforeEachCallback, AfterEachCallback{ -// -// @Override -// public void afterEach(final ExtensionContext context) throws Exception { -// try { -// clientContext.disconnect().get(); -// } catch (Exception e) { -// throw new ControllerTestException("Can not disconnect client context!", e); -// } -// System.out.println("This is after"); -// } -// -// //This keeps getting null- how is clientContext set in the other one? -// -// @Override -// public void beforeEach(final ExtensionContext context) throws Exception { -// System.out.println("This is before"); -// clientContext.connect().get(); -// } -// } -//// - - //I need to have an extension here to replace the rule - -// -// @Override -// public void afterEach(final ExtensionContext context) throws Exception { -// try { -// clientContext.disconnect().get(); -// } catch (Exception e) { -// throw new ControllerTestException("Can not disconnect client context!", e); -// } -// System.out.println("This is after"); -// } -// -// //This is getting null -// @Override -// public void beforeEach(final ExtensionContext context) throws Exception { -// System.out.println("This is before"); -// clientContext.connect().get(); -// } -// - @Test - void clientRunning(){ - Assertions.assertTrue(true); - } - - - - //@Override @AfterEach public void closeClient() throws Exception { try { @@ -152,12 +71,12 @@ public void closeClient() throws Exception { } catch (Exception e) { throw new ControllerTestException("Can not disconnect client context!", e); } - System.out.println("This is after"); + } @BeforeEach public void connectClient() throws Exception { - System.out.println("This is before"); + clientContext.connect().get(); } diff --git a/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/clientConnectorExtension.java b/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/clientConnectorExtension.java deleted file mode 100644 index 3e455061..00000000 --- a/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/clientConnectorExtension.java +++ /dev/null @@ -1,47 +0,0 @@ -package dev.rico.server.remoting.test; - -import dev.rico.internal.server.remoting.test.SpringTestBootstrap; -import org.junit.jupiter.api.extension.AfterAllCallback; -import org.junit.jupiter.api.extension.AfterEachCallback; -import org.junit.jupiter.api.extension.BeforeAllCallback; -import org.junit.jupiter.api.extension.BeforeEachCallback; -import org.junit.jupiter.api.extension.ExtendWith; -import org.junit.jupiter.api.extension.ExtensionContext; -import dev.rico.internal.server.remoting.test.TestClientContext; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.annotation.DirtiesContext; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit.jupiter.SpringExtension; - -@SpringBootTest -@ExtendWith({SpringExtension.class}) -@ContextConfiguration(classes = SpringTestBootstrap.class) -@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD) -public class clientConnectorExtension implements BeforeEachCallback, AfterEachCallback { - - @Autowired - private TestClientContext clientContext; - - public TestClientContext getContext() { - return clientContext; - } - - - @Override - public void afterEach(final ExtensionContext context) throws Exception { - try { - clientContext.disconnect().get(); - } catch (Exception e) { - throw new ControllerTestException("Can not disconnect client context!", e); - } - System.out.println("This is after"); - } - - //This is getting null - @Override - public void beforeEach(final ExtensionContext context) throws Exception { - System.out.println("This is before"); - clientContext.connect().get(); - } -} diff --git a/remoting/rico-remoting-server-spring-test/src/test/java/dev/rico/server/remoting/test/JUnitDemoTest.java b/remoting/rico-remoting-server-spring-test/src/test/java/dev/rico/server/remoting/test/JUnitDemoTest.java index c0657f1a..19fa59d8 100644 --- a/remoting/rico-remoting-server-spring-test/src/test/java/dev/rico/server/remoting/test/JUnitDemoTest.java +++ b/remoting/rico-remoting-server-spring-test/src/test/java/dev/rico/server/remoting/test/JUnitDemoTest.java @@ -16,7 +16,6 @@ */ package dev.rico.server.remoting.test; -import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; @@ -69,9 +68,6 @@ public void testInvokeActionAfterDestroy() { } catch (ControllerTestException e) {} } - @Test - void clientRunningDummy(){ - Assertions.assertTrue(true); - } + } From b537badd04b4b10c41eb9fb1bfeaab3e3db569d7 Mon Sep 17 00:00:00 2001 From: Ruby Date: Tue, 13 Oct 2020 22:56:27 -0400 Subject: [PATCH 8/9] cleaned up unused imports --- .../rico/server/remoting/test/SpringJUnitControllerTest.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java b/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java index 90e3f912..234b6d62 100644 --- a/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java +++ b/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java @@ -22,12 +22,9 @@ import dev.rico.internal.server.remoting.test.TestClientContext; import org.apiguardian.api.API; -//change this into junit5 - import org.junit.jupiter.api.AfterEach; -import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; + import org.junit.jupiter.api.extension.ExtendWith; From 347287264a492d5648ed99213b928a8c5a51646d Mon Sep 17 00:00:00 2001 From: Ruby Date: Fri, 30 Oct 2020 04:52:05 -0400 Subject: [PATCH 9/9] Added requested changes --- build.gradle | 1 - gradle.properties | 2 ++ .../rico-remoting-server-spring-test.gradle | 11 ++++------- .../server/remoting/test/ClientTestFactory.java | 1 - .../remoting/test/SpringJUnitControllerTest.java | 4 ++-- .../src/main/java/module-info.java | 4 ---- .../dev/rico/server/remoting/test/JUnitDemoTest.java | 6 +++--- 7 files changed, 11 insertions(+), 18 deletions(-) diff --git a/build.gradle b/build.gradle index 4c0eb955..ac999440 100644 --- a/build.gradle +++ b/build.gradle @@ -90,7 +90,6 @@ subprojects { proj -> test { useJUnitPlatform() - //useTestNG() jvmArgs("-Djdk.attach.allowAttachSelf") testLogging.showStandardStreams = true } diff --git a/gradle.properties b/gradle.properties index 527daa45..a3254f03 100644 --- a/gradle.properties +++ b/gradle.properties @@ -41,6 +41,8 @@ jakartaValidationApiVersion=2.0.2 jakartaXmlBindApiVersion=2.3.3 jakartaInjectApiVersion=1.0 junitVersion=4.13 +junitJupiterVersion=5.7.0 +junitJupiterLauncherVersion=1.7.0 jaxbRuntimeVersion=2.3.2 httpclientVersion=4.5.12 logbackVersion=1.2.3 diff --git a/remoting/rico-remoting-server-spring-test/rico-remoting-server-spring-test.gradle b/remoting/rico-remoting-server-spring-test/rico-remoting-server-spring-test.gradle index 26706236..6d768fec 100644 --- a/remoting/rico-remoting-server-spring-test/rico-remoting-server-spring-test.gradle +++ b/remoting/rico-remoting-server-spring-test/rico-remoting-server-spring-test.gradle @@ -19,13 +19,10 @@ dependencies { api project(':rico-remoting-server-spring') api project(':rico-remoting-client') implementation "org.testng:testng:$testngVersion" - implementation "junit:junit:$junitVersion" - - testCompile("org.junit.jupiter:junit-jupiter-api:5.7.0") - testRuntimeOnly("org.junit.platform:junit-platform-launcher:1.7.0") - - compile 'org.junit.jupiter:junit-jupiter:5.7.0' - compile("org.junit.jupiter:junit-jupiter-engine:5.7.0") + testCompile "org.junit.jupiter:junit-jupiter-api:$junitJupiterVersion" + testRuntimeOnly"org.junit.platform:junit-platform-launcher:$junitJupiterLauncherVersion" + compile "org.junit.jupiter:junit-jupiter:$junitJupiterVersion" + compile "org.junit.jupiter:junit-jupiter-engine:$junitJupiterVersion" implementation "org.springframework:spring-web:$springVersion" implementation "org.springframework:spring-context:$springVersion" diff --git a/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/internal/server/remoting/test/ClientTestFactory.java b/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/internal/server/remoting/test/ClientTestFactory.java index 33b8af2b..8e2401a9 100644 --- a/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/internal/server/remoting/test/ClientTestFactory.java +++ b/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/internal/server/remoting/test/ClientTestFactory.java @@ -41,7 +41,6 @@ public static ControllerUnderTest createController(final TestClientContex final ControllerProxy proxy = (ControllerProxy) clientContext.createController(controllerName, parameters).get(); return new ControllerUnderTestWrapper<>(clientContext, proxy); } catch (Exception e) { - e.printStackTrace(); throw new ControllerTestException("Can't create controller proxy", e); } } diff --git a/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java b/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java index 234b6d62..e9a454cb 100644 --- a/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java +++ b/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java @@ -55,7 +55,7 @@ @ContextConfiguration(classes = SpringTestBootstrap.class) @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD) @API(since = "0.x", status = MAINTAINED) -public abstract class SpringJUnitControllerTest implements ControllerTest { +public abstract class SpringJUnitControllerTest implements ControllerTest { @Autowired private TestClientContext clientContext; @@ -80,7 +80,7 @@ public void connectClient() throws Exception { public ControllerUnderTest createController(final String controllerName) { Assert.requireNonBlank(controllerName, "controllerName"); try { - return ClientTestFactory.createController(clientContext, controllerName); + return ClientTestFactory.createController(clientContext, controllerName); } catch (Exception e) { throw new ControllerTestException("Can't create controller proxy", e); } diff --git a/remoting/rico-remoting-server-spring-test/src/main/java/module-info.java b/remoting/rico-remoting-server-spring-test/src/main/java/module-info.java index f2d142ee..990f91da 100644 --- a/remoting/rico-remoting-server-spring-test/src/main/java/module-info.java +++ b/remoting/rico-remoting-server-spring-test/src/main/java/module-info.java @@ -13,10 +13,6 @@ requires spring.boot.test; requires static java.servlet; requires testng; - requires junit; - - //adding junit 5 to the module requires org.junit.jupiter; - } diff --git a/remoting/rico-remoting-server-spring-test/src/test/java/dev/rico/server/remoting/test/JUnitDemoTest.java b/remoting/rico-remoting-server-spring-test/src/test/java/dev/rico/server/remoting/test/JUnitDemoTest.java index 19fa59d8..2243e1e8 100644 --- a/remoting/rico-remoting-server-spring-test/src/test/java/dev/rico/server/remoting/test/JUnitDemoTest.java +++ b/remoting/rico-remoting-server-spring-test/src/test/java/dev/rico/server/remoting/test/JUnitDemoTest.java @@ -17,7 +17,9 @@ package dev.rico.server.remoting.test; import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; public class JUnitDemoTest extends SpringJUnitControllerTest { @@ -68,6 +70,4 @@ public void testInvokeActionAfterDestroy() { } catch (ControllerTestException e) {} } - - }