diff --git a/foundations/foundation-vertx/pom.xml b/foundations/foundation-vertx/pom.xml index 7cf3eb1e205..9f25dae7c9b 100644 --- a/foundations/foundation-vertx/pom.xml +++ b/foundations/foundation-vertx/pom.xml @@ -60,6 +60,11 @@ jmockit test + + org.mockito + mockito-inline + test + org.apache.servicecomb foundation-test-scaffolding diff --git a/foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/client/TestClientPoolManager.java b/foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/client/TestClientPoolManager.java index fea328340e7..6816f4184c7 100644 --- a/foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/client/TestClientPoolManager.java +++ b/foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/client/TestClientPoolManager.java @@ -36,6 +36,8 @@ import mockit.MockUp; import mockit.Mocked; import org.junit.jupiter.api.Assertions; +import org.mockito.MockedStatic; +import org.mockito.Mockito; public class TestClientPoolManager { @Mocked @@ -200,38 +202,30 @@ public void findByContext_normalThread() { } @Test - public void findByContext_otherVertx(@Mocked VertxImpl otherVertx, @Mocked Context otherContext) { + public void findByContext_otherVertx() { HttpClientWithContext pool = new HttpClientWithContext(null, null); pools.add(pool); - new Expectations() { - { - Vertx.currentContext(); - result = otherContext; - otherContext.owner(); - result = otherVertx; - } - }; - - Assertions.assertSame(pool, poolMgr.findByContext()); + Context otherContext = Mockito.mock(Context.class); + VertxImpl otherVertx = Mockito.mock(VertxImpl.class); + try (MockedStatic vertxMockedStatic = Mockito.mockStatic(Vertx.class)) { + vertxMockedStatic.when(Vertx::currentContext).thenReturn(otherContext); + Mockito.when(otherContext.owner()).thenReturn(otherVertx); + Assertions.assertSame(pool, poolMgr.findByContext()); + } } @Test - public void findByContext_worker(@Mocked Context workerContext) { + public void findByContext_worker() { HttpClientWithContext pool = new HttpClientWithContext(null, null); pools.add(pool); - new Expectations() { - { - Vertx.currentContext(); - result = workerContext; - workerContext.owner(); - result = vertx; - workerContext.isEventLoopContext(); - result = false; - } - }; - - Assertions.assertSame(pool, poolMgr.findByContext()); + Context workerContext = Mockito.mock(Context.class); + try (MockedStatic vertxMockedStatic = Mockito.mockStatic(Vertx.class)) { + vertxMockedStatic.when(Vertx::currentContext).thenReturn(workerContext); + Mockito.when(workerContext.owner()).thenReturn(vertx); + Mockito.when(workerContext.isEventLoopContext()).thenReturn(false); + Assertions.assertSame(pool, poolMgr.findByContext()); + } } } diff --git a/foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/client/tcp/TestNetClientWrapper.java b/foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/client/tcp/TestNetClientWrapper.java index adbcd3e8138..199c7c37355 100644 --- a/foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/client/tcp/TestNetClientWrapper.java +++ b/foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/client/tcp/TestNetClientWrapper.java @@ -22,8 +22,7 @@ import org.hamcrest.MatcherAssert; import org.hamcrest.Matchers; -import org.junit.Before; -import org.junit.Test; + import io.vertx.core.AsyncResult; import io.vertx.core.Handler; @@ -31,77 +30,72 @@ import io.vertx.core.Vertx; import io.vertx.core.net.NetClient; import io.vertx.core.net.NetSocket; -import mockit.Expectations; -import mockit.Mock; -import mockit.MockUp; -import mockit.Mocked; + import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.mockito.Mock; +import org.mockito.Mockito; public class TestNetClientWrapper { - @Mocked + Vertx vertx; - @Mocked TcpClientConfig normalClientConfig; - @Mocked NetClient normalNetClient; - @Mocked TcpClientConfig sslClientConfig; - @Mocked NetClient sslNetClient; NetClientWrapper netClientWrapper; - @Before + @Mock + NetSocket normalSocket; + + @Mock + NetSocket sslSocket; + + @BeforeEach public void setup() { - new Expectations() { - { - vertx.createNetClient(normalClientConfig); - result = normalNetClient; - vertx.createNetClient(sslClientConfig); - result = sslNetClient; - } - }; + vertx = Mockito.mock(Vertx.class); + normalClientConfig = Mockito.mock(TcpClientConfig.class); + normalNetClient = Mockito.mock(NetClient.class); + sslClientConfig = Mockito.mock(TcpClientConfig.class); + sslNetClient = Mockito.mock(NetClient.class); + Mockito.when(vertx.createNetClient(normalClientConfig)).thenReturn(normalNetClient); + Mockito.when(vertx.createNetClient(sslClientConfig)).thenReturn(sslNetClient); netClientWrapper = new NetClientWrapper(vertx, normalClientConfig, sslClientConfig); } - @Test + @org.junit.jupiter.api.Test public void getClientConfig() { Assertions.assertSame(normalClientConfig, netClientWrapper.getClientConfig(false)); Assertions.assertSame(sslClientConfig, netClientWrapper.getClientConfig(true)); } - @Test - public void connect(@Mocked NetSocket normalSocket, @Mocked NetSocket sslSocket) { + @org.junit.jupiter.api.Test + public void connect() { int port = 8000; String host = "localhost"; + List socks = new ArrayList<>(); Promise promiseConnect = Promise.promise(); - new MockUp(normalNetClient) { - @Mock - NetClient connect(int port, String host, Handler> connectHandler) { - promiseConnect.complete(normalSocket); - connectHandler.handle(promiseConnect.future()); - return null; - } - }; - Promise sslPromiseConnect = Promise.promise(); - new MockUp(sslNetClient) { - @Mock - NetClient connect(int port, String host, Handler> connectHandler) { - sslPromiseConnect.complete(sslSocket); - connectHandler.handle(sslPromiseConnect.future()); - return null; - } - }; - - List socks = new ArrayList<>(); - netClientWrapper.connect(false, port, host, asyncSocket -> socks.add(asyncSocket.result())); - netClientWrapper.connect(true, port, host, asyncSocket -> socks.add(asyncSocket.result())); + Handler> connectHandler = asyncSocket -> socks.add(asyncSocket.result()); + Mockito.when(normalNetClient.connect(port, host, connectHandler)).thenAnswer(invocation -> { + promiseConnect.complete(normalSocket); + connectHandler.handle(promiseConnect.future()); + return null; + }); + Mockito.when(sslNetClient.connect(port, host, connectHandler)).thenAnswer(invocationOnMock -> { + sslPromiseConnect.complete(sslSocket); + connectHandler.handle(sslPromiseConnect.future()); + return null; + }); + + netClientWrapper.connect(false, port, host, connectHandler); + netClientWrapper.connect(true, port, host, connectHandler); MatcherAssert.assertThat(socks, Matchers.contains(normalSocket, sslSocket)); }