diff --git a/pom.xml b/pom.xml index 649cbfc..1cf493b 100644 --- a/pom.xml +++ b/pom.xml @@ -120,26 +120,11 @@ - - junit - junit - test - - - org.junit.vintage - junit-vintage-engine - test - org.glassfish.tyrus.bundles tyrus-standalone-client test - - org.mockito - mockito-core - test - org.springframework.boot spring-boot-starter-test diff --git a/src/test/java/org/gridsuite/study/notification/server/NotificationWebSocketHandlerTest.java b/src/test/java/org/gridsuite/study/notification/server/NotificationWebSocketHandlerTest.java index c2daf35..4df317c 100644 --- a/src/test/java/org/gridsuite/study/notification/server/NotificationWebSocketHandlerTest.java +++ b/src/test/java/org/gridsuite/study/notification/server/NotificationWebSocketHandlerTest.java @@ -6,23 +6,16 @@ */ package org.gridsuite.study.notification.server; -import java.time.Duration; -import java.util.*; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.atomic.AtomicReference; -import java.util.function.Function; -import java.util.stream.Collectors; -import java.util.stream.Stream; - import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; - import io.micrometer.core.instrument.MeterRegistry; import io.micrometer.core.instrument.simple.SimpleMeterRegistry; -import org.gridsuite.study.notification.server.dto.*; -import org.junit.Before; -import org.junit.Test; +import org.gridsuite.study.notification.server.dto.Filters; +import org.gridsuite.study.notification.server.dto.FiltersToAdd; +import org.gridsuite.study.notification.server.dto.FiltersToRemove; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import org.mockito.Mockito; import org.springframework.core.io.buffer.DataBuffer; @@ -40,15 +33,23 @@ import reactor.core.publisher.FluxSink; import reactor.core.publisher.Mono; +import java.time.Duration; +import java.util.*; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.atomic.AtomicReference; +import java.util.function.Function; +import java.util.stream.Collectors; +import java.util.stream.Stream; + import static org.gridsuite.study.notification.server.NotificationWebSocketHandler.*; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.*; /** * @author Jon Harper */ -public class NotificationWebSocketHandlerTest { +class NotificationWebSocketHandlerTest { private ObjectMapper objectMapper; private WebSocketSession ws; @@ -57,8 +58,8 @@ public class NotificationWebSocketHandlerTest { private final MeterRegistry meterRegistry = new SimpleMeterRegistry(); - @Before - public void setup() { + @BeforeEach + void setup() { objectMapper = new ObjectMapper(); var dataBufferFactory = new DefaultDataBufferFactory(); @@ -193,7 +194,7 @@ private void withFilters(String filterStudyUuid, String filterUpdateType, boolea return (filterStudyUuid == null || filterStudyUuid.equals(studyUuid)) && (filterUpdateType == null || filterUpdateType.equals(updateType)); }) .map(GenericMessage::getHeaders) - .map(this::toResultHeader) + .map(NotificationWebSocketHandlerTest::toResultHeader) .collect(Collectors.toList()); List> actual = messages.stream().map(t -> { @@ -207,7 +208,7 @@ private void withFilters(String filterStudyUuid, String filterUpdateType, boolea assertNotEquals(0, actual.size()); } - private Map toResultHeader(Map messageHeader) { + private static Map toResultHeader(Map messageHeader) { var resHeader = new HashMap(); resHeader.put(HEADER_TIMESTAMP, messageHeader.get(HEADER_TIMESTAMP)); resHeader.put(HEADER_UPDATE_TYPE, messageHeader.get(HEADER_UPDATE_TYPE)); @@ -228,64 +229,64 @@ private Map toResultHeader(Map messageHeader) { return resHeader; } - private void passHeaderRef(Map messageHeader, HashMap resHeader, String headerName) { + private static void passHeaderRef(Map messageHeader, HashMap resHeader, String headerName) { if (messageHeader.get(headerName) != null) { resHeader.put(headerName, messageHeader.get(headerName)); } } @Test - public void testWithoutFilterInBody() { + void testWithoutFilterInBody() { withFilters(null, null, false); } @Test - public void testWithoutFilterInUrl() { + void testWithoutFilterInUrl() { withFilters(null, null, true); } @Test - public void testStudyFilterInBody() { + void testStudyFilterInBody() { withFilters("bar", null, false); } @Test - public void testStudyFilterInUrl() { + void testStudyFilterInUrl() { withFilters("bar", null, true); } @Test - public void testTypeFilterInBody() { + void testTypeFilterInBody() { withFilters(null, "rab", false); } @Test - public void testTypeFilterInUrl() { + void testTypeFilterInUrl() { withFilters(null, "rab", true); } @Test - public void testStudyAndTypeFilterInBody() { + void testStudyAndTypeFilterInBody() { withFilters("bar", "rab", false); } @Test - public void testStudyAndTypeFilterInUrl() { + void testStudyAndTypeFilterInUrl() { withFilters("bar", "rab", true); } @Test - public void testEncodingCharactersInBody() { + void testEncodingCharactersInBody() { withFilters("foo bar/bar", "foobar", false); } @Test - public void testEncodingCharactersInUrl() { + void testEncodingCharactersInUrl() { withFilters("foo bar/bar", "foobar", true); } @Test - public void testWsReceiveFilters() throws JsonProcessingException { + void testWsReceiveFilters() throws Exception { setUpUriComponentBuilder("userId"); var dataBufferFactory = new DefaultDataBufferFactory(); @@ -308,7 +309,7 @@ public void testWsReceiveFilters() throws JsonProcessingException { } @Test - public void testWsRemoveFilters() throws JsonProcessingException { + void testWsRemoveFilters() throws Exception { setUpUriComponentBuilder("userId"); var dataBufferFactory = new DefaultDataBufferFactory(); @@ -335,7 +336,7 @@ public void testWsRemoveFilters() throws JsonProcessingException { } @Test - public void testWsReceiveEmptyFilters() throws JsonProcessingException { + void testWsReceiveEmptyFilters() throws Exception { setUpUriComponentBuilder("userId"); var dataBufferFactory = new DefaultDataBufferFactory(); @@ -356,7 +357,7 @@ public void testWsReceiveEmptyFilters() throws JsonProcessingException { } @Test - public void testWsReceiveUnprocessableFilter() { + void testWsReceiveUnprocessableFilter() { setUpUriComponentBuilder("userId"); var dataBufferFactory = new DefaultDataBufferFactory(); @@ -374,7 +375,7 @@ public void testWsReceiveUnprocessableFilter() { } @Test - public void testHeartbeat() { + void testHeartbeat() { setUpUriComponentBuilder("userId"); var notificationWebSocketHandler = new NotificationWebSocketHandler(null, meterRegistry, 1); @@ -389,7 +390,7 @@ public void testHeartbeat() { } @Test - public void testDiscard() { + void testDiscard() { setUpUriComponentBuilder("userId"); var notificationWebSocketHandler = new NotificationWebSocketHandler(objectMapper, meterRegistry, Integer.MAX_VALUE); diff --git a/src/test/java/org/gridsuite/study/notification/server/NotificationWebSocketIT.java b/src/test/java/org/gridsuite/study/notification/server/NotificationWebSocketIT.java index 3486aad..113d9dc 100644 --- a/src/test/java/org/gridsuite/study/notification/server/NotificationWebSocketIT.java +++ b/src/test/java/org/gridsuite/study/notification/server/NotificationWebSocketIT.java @@ -7,16 +7,13 @@ package org.gridsuite.study.notification.server; import io.micrometer.core.instrument.MeterRegistry; -import org.junit.Ignore; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.server.LocalServerPort; import org.springframework.http.HttpHeaders; import org.springframework.test.annotation.DirtiesContext; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringRunner; import org.springframework.web.reactive.socket.client.StandardWebSocketClient; import org.springframework.web.reactive.socket.client.WebSocketClient; import reactor.core.publisher.Mono; @@ -28,16 +25,14 @@ import java.util.concurrent.CountDownLatch; import static org.gridsuite.study.notification.server.NotificationWebSocketHandler.*; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author Jon Harper */ -@RunWith(SpringRunner.class) -@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) -@ContextConfiguration(classes = { NotificationApplication.class }) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = {NotificationApplication.class}) @DirtiesContext -public class NotificationWebSocketIT { +class NotificationWebSocketIT { @LocalServerPort private String port; @@ -46,7 +41,7 @@ public class NotificationWebSocketIT { private MeterRegistry meterRegistry; @Test - public void echo() { + void echo() { WebSocketClient client = new StandardWebSocketClient(); HttpHeaders httpHeaders = new HttpHeaders(); httpHeaders.add(HEADER_USER_ID, "test"); @@ -58,8 +53,8 @@ protected URI getUrl(String path) { } @Test - @Ignore("This test case is not stable due to unexpected behavior of meterRegistry in asynchronous test context") - public void metricsMapOneUserTwoConnections() { + @Disabled("This test case is not stable due to unexpected behavior of meterRegistry in asynchronous test context") + void metricsMapOneUserTwoConnections() { WebSocketClient client1 = new StandardWebSocketClient(); HttpHeaders httpHeaders1 = new HttpHeaders(); String user = "test"; @@ -77,8 +72,8 @@ public void metricsMapOneUserTwoConnections() { } @Test - @Ignore("This test case is not stable due to unexpected behavior of meterRegistry in asynchronous test context") - public void metricsMapTwoUsers() { + @Disabled("This test case is not stable due to unexpected behavior of meterRegistry in asynchronous test context") + void metricsMapTwoUsers() { // First WebSocketClient for connections related to 'test' user WebSocketClient client1 = new StandardWebSocketClient(); HttpHeaders httpHeaders1 = new HttpHeaders(); @@ -102,7 +97,7 @@ public void metricsMapTwoUsers() { evaluationFuture.join(); // Throw assertion errors } - private void handleLatches(CountDownLatch connectionLatch, CountDownLatch assertLatch) { + private static void handleLatches(CountDownLatch connectionLatch, CountDownLatch assertLatch) { try { connectionLatch.countDown(); assertLatch.await(); // Wait for assertion to be evaluated before closing the connection