public void assertTotalEventsCount(int number) { int size = 0; for (Map.Entry<String, List<Object>> entry : this.events.entrySet()) { size += entry.getValue().size(); } assertEquals("Wrong number of total events (" + this.events.size() + ") " + "registered phase(s)", number, size); } }
@Test public void sizeWithMultipleValuesForHeaderShouldCountHeaders() { this.headers.add("TestHeader", "first"); this.headers.add("TestHeader", "second"); assertEquals(1, this.headers.size()); }
public DefaultServerHttpRequestBuilder(ServerHttpRequest original) { Assert.notNull(original, "ServerHttpRequest is required"); this.uri = original.getURI(); this.httpMethodValue = original.getMethodValue(); this.body = original.getBody(); this.httpHeaders = HttpHeaders.writableHttpHeaders(original.getHeaders()); this.cookies = new LinkedMultiValueMap<>(original.getCookies().size()); copyMultiValueMap(original.getCookies(), this.cookies); this.originalRequest = original; }
@Test public void minimalRegistration() { WebMvcStompWebSocketEndpointRegistration registration = new WebMvcStompWebSocketEndpointRegistration(new String[] {"/foo"}, this.handler, this.scheduler); MultiValueMap<HttpRequestHandler, String> mappings = registration.getMappings(); assertEquals(1, mappings.size()); Map.Entry<HttpRequestHandler, List<String>> entry = mappings.entrySet().iterator().next(); assertNotNull(((WebSocketHttpRequestHandler) entry.getKey()).getWebSocketHandler()); assertEquals(1, ((WebSocketHttpRequestHandler) entry.getKey()).getHandshakeInterceptors().size()); assertEquals(Arrays.asList("/foo"), entry.getValue()); }
@Test public void addTargetRequestParamsNullValue() { MultiValueMap<String, String> params = new LinkedMultiValueMap<>(); params.add("key", "abc"); params.add("key", " "); params.add("key", null); FlashMap flashMap = new FlashMap(); flashMap.addTargetRequestParams(params); assertEquals(1, flashMap.getTargetRequestParams().size()); assertEquals(1, flashMap.getTargetRequestParams().get("key").size()); assertEquals("abc", flashMap.getTargetRequestParams().getFirst("key")); }
@Test public void queryParamsNone() throws Exception { MultiValueMap<String, String> params = createHttpRequest("/path").getQueryParams(); assertEquals(0, params.size()); }
@Test // SPR-15140 public void queryParamsWithEncodedValue() throws Exception { MultiValueMap<String, String> params = createHttpRequest("/path?a=%20%2B+%C3%A0").getQueryParams(); assertEquals(1, params.size()); assertEquals(Collections.singletonList(" + \u00e0"), params.get("a")); }
@Test public void queryParamsWithNoValue() throws Exception { MultiValueMap<String, String> params = createHttpRequest("/path?a").getQueryParams(); assertEquals(1, params.size()); assertEquals(Collections.singletonList(null), params.get("a")); }
@Test public void queryParamsWithMultipleValues() throws Exception { MultiValueMap<String, String> params = createHttpRequest("/path?a=1&a=2").getQueryParams(); assertEquals(1, params.size()); assertEquals(Arrays.asList("1", "2"), params.get("a")); }
@Test public void queryParams() throws Exception { MultiValueMap<String, String> params = createHttpRequest("/path?a=A&b=B").getQueryParams(); assertEquals(2, params.size()); assertEquals(Collections.singletonList("A"), params.get("a")); assertEquals(Collections.singletonList("B"), params.get("b")); }
@Test public void queryParamsWithEmptyValue() throws Exception { MultiValueMap<String, String> params = createHttpRequest("/path?a=").getQueryParams(); assertEquals(1, params.size()); assertEquals(Collections.singletonList(""), params.get("a")); }
@Test public void findSubscriptionsNoMatches() { MultiValueMap<String, String> actual = this.registry.findSubscriptions(createMessage("/foo")); assertNotNull(actual); assertEquals("Expected no elements " + actual, 0, actual.size()); }
@Test public void readFormAsFlux() { String body = "name+1=value+1&name+2=value+2%2B1&name+2=value+2%2B2&name+3"; MockServerHttpRequest request = request(body); MultiValueMap<String, String> result = this.reader.read(null, request, null).single().block(); assertEquals("Invalid result", 3, result.size()); assertEquals("Invalid result", "value 1", result.getFirst("name 1")); List<String> values = result.get("name 2"); assertEquals("Invalid result", 2, values.size()); assertEquals("Invalid result", "value 2+1", values.get(0)); assertEquals("Invalid result", "value 2+2", values.get(1)); assertNull("Invalid result", result.getFirst("name 3")); }
@Test // SPR-12283 public void disableCorsWithSockJsService() { WebMvcStompWebSocketEndpointRegistration registration = new WebMvcStompWebSocketEndpointRegistration(new String[] {"/foo"}, this.handler, this.scheduler); registration.withSockJS().setSupressCors(true); MultiValueMap<HttpRequestHandler, String> mappings = registration.getMappings(); assertEquals(1, mappings.size()); SockJsHttpRequestHandler requestHandler = (SockJsHttpRequestHandler)mappings.entrySet().iterator().next().getKey(); assertNotNull(requestHandler.getSockJsService()); DefaultSockJsService sockJsService = (DefaultSockJsService)requestHandler.getSockJsService(); assertTrue(sockJsService.shouldSuppressCors()); }
@Test // SPR-13555 public void cacheLimitExceeded() throws Exception { this.registry.setCacheLimit(1); this.registry.registerSubscription(subscribeMessage("sess1", "1", "/foo")); this.registry.registerSubscription(subscribeMessage("sess1", "2", "/bar")); assertEquals(1, this.registry.findSubscriptions(createMessage("/foo")).size()); assertEquals(1, this.registry.findSubscriptions(createMessage("/bar")).size()); this.registry.registerSubscription(subscribeMessage("sess2", "1", "/foo")); this.registry.registerSubscription(subscribeMessage("sess2", "2", "/bar")); assertEquals(2, this.registry.findSubscriptions(createMessage("/foo")).size()); assertEquals(2, this.registry.findSubscriptions(createMessage("/bar")).size()); }
@Test public void registerSubscriptionWithDestinationPattern() { String sessId = "sess01"; String subsId = "subs01"; String destPattern = "/topic/PRICE.STOCK.*.IBM"; String dest = "/topic/PRICE.STOCK.NASDAQ.IBM"; this.registry.registerSubscription(subscribeMessage(sessId, subsId, destPattern)); MultiValueMap<String, String> actual = this.registry.findSubscriptions(createMessage(dest)); assertNotNull(actual); assertEquals("Expected one element " + actual, 1, actual.size()); assertEquals(Collections.singletonList(subsId), actual.get(sessId)); }
@Test public void registerSubscription() { String sessId = "sess01"; String subsId = "subs01"; String dest = "/foo"; this.registry.registerSubscription(subscribeMessage(sessId, subsId, dest)); MultiValueMap<String, String> actual = this.registry.findSubscriptions(createMessage(dest)); assertNotNull(actual); assertEquals("Expected one element " + actual, 1, actual.size()); assertEquals(Collections.singletonList(subsId), actual.get(sessId)); }
@Test public void addTargetRequestParamNullValue() { FlashMap flashMap = new FlashMap(); flashMap.addTargetRequestParam("text", "abc"); flashMap.addTargetRequestParam("empty", " "); flashMap.addTargetRequestParam("null", null); assertEquals(1, flashMap.getTargetRequestParams().size()); assertEquals("abc", flashMap.getTargetRequestParams().getFirst("text")); }
private Mono<Void> assertGetFormParts(ServerWebExchange exchange) { return exchange .getMultipartData() .doOnNext(parts -> { assertEquals(2, parts.size()); assertTrue(parts.containsKey("fooPart")); assertFooPart(parts.getFirst("fooPart")); assertTrue(parts.containsKey("barPart")); assertBarPart(parts.getFirst("barPart")); }) .then(); }
@Test public void setSessionId() { MockServerHttpRequest request = MockServerHttpRequest.get("https://example.org/path").build(); MockServerWebExchange exchange = MockServerWebExchange.from(request); this.resolver.setSessionId(exchange, "123"); MultiValueMap<String, ResponseCookie> cookies = exchange.getResponse().getCookies(); assertEquals(1, cookies.size()); ResponseCookie cookie = cookies.getFirst(this.resolver.getCookieName()); assertNotNull(cookie); assertEquals("SESSION=123; Path=/; Secure; HttpOnly; SameSite=Lax", cookie.toString()); }