From 70f0895f961bc3a2babcc8fe72f0804770e4dd5a Mon Sep 17 00:00:00 2001 From: Sam Brannen Date: Mon, 15 Mar 2021 12:12:53 +0100 Subject: [PATCH] Polish HeaderWebSessionIdResolverTests See gh-26675 --- .../HeaderWebSessionIdResolverTests.java | 69 +++++++------------ 1 file changed, 25 insertions(+), 44 deletions(-) diff --git a/spring-web/src/test/java/org/springframework/web/server/session/HeaderWebSessionIdResolverTests.java b/spring-web/src/test/java/org/springframework/web/server/session/HeaderWebSessionIdResolverTests.java index dec23a66407..a787356f6ff 100644 --- a/spring-web/src/test/java/org/springframework/web/server/session/HeaderWebSessionIdResolverTests.java +++ b/spring-web/src/test/java/org/springframework/web/server/session/HeaderWebSessionIdResolverTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2019 the original author or authors. + * Copyright 2002-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,11 +15,6 @@ */ package org.springframework.web.server.session; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; - -import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.web.server.ServerWebExchange; @@ -35,106 +30,92 @@ import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException * @author Greg Turnquist * @author Rob Winch */ -public class HeaderWebSessionIdResolverTests { - private HeaderWebSessionIdResolver idResolver; +class HeaderWebSessionIdResolverTests { - private ServerWebExchange exchange; + private final HeaderWebSessionIdResolver idResolver = new HeaderWebSessionIdResolver(); + + private ServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/path")); - @BeforeEach - public void setUp() { - this.idResolver = new HeaderWebSessionIdResolver(); - this.exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/path")); - } @Test - public void expireWhenValidThenSetsEmptyHeader() { + void expireWhenValidThenSetsEmptyHeader() { this.idResolver.expireSession(this.exchange); - assertThat(this.exchange.getResponse().getHeaders().get(HeaderWebSessionIdResolver.DEFAULT_HEADER_NAME)).isEqualTo(Collections.singletonList("")); + assertThat(this.exchange.getResponse().getHeaders().get(HeaderWebSessionIdResolver.DEFAULT_HEADER_NAME)).containsExactly(""); } @Test - public void expireWhenMultipleInvocationThenSetsSingleEmptyHeader() { + void expireWhenMultipleInvocationThenSetsSingleEmptyHeader() { this.idResolver.expireSession(this.exchange); - this.idResolver.expireSession(this.exchange); - assertThat(this.exchange.getResponse().getHeaders().get(HeaderWebSessionIdResolver.DEFAULT_HEADER_NAME)).isEqualTo(Collections.singletonList("")); + assertThat(this.exchange.getResponse().getHeaders().get(HeaderWebSessionIdResolver.DEFAULT_HEADER_NAME)).containsExactly(""); } @Test - public void expireWhenAfterSetSessionIdThenSetsEmptyHeader() { + void expireWhenAfterSetSessionIdThenSetsEmptyHeader() { this.idResolver.setSessionId(this.exchange, "123"); - this.idResolver.expireSession(this.exchange); - assertThat(this.exchange.getResponse().getHeaders().get(HeaderWebSessionIdResolver.DEFAULT_HEADER_NAME)).isEqualTo(Collections.singletonList("")); + assertThat(this.exchange.getResponse().getHeaders().get(HeaderWebSessionIdResolver.DEFAULT_HEADER_NAME)).containsExactly(""); } @Test - public void setSessionIdWhenValidThenSetsHeader() { + void setSessionIdWhenValidThenSetsHeader() { String id = "123"; - this.idResolver.setSessionId(this.exchange, id); - assertThat(this.exchange.getResponse().getHeaders().get(HeaderWebSessionIdResolver.DEFAULT_HEADER_NAME)).isEqualTo(Collections.singletonList(id)); + assertThat(this.exchange.getResponse().getHeaders().get(HeaderWebSessionIdResolver.DEFAULT_HEADER_NAME)).containsExactly(id); } @Test - public void setSessionIdWhenMultipleThenSetsSingleHeader() { + void setSessionIdWhenMultipleThenSetsSingleHeader() { String id = "123"; this.idResolver.setSessionId(this.exchange, "overriddenByNextInvocation"); - this.idResolver.setSessionId(this.exchange, id); - assertThat(this.exchange.getResponse().getHeaders().get(HeaderWebSessionIdResolver.DEFAULT_HEADER_NAME)).isEqualTo(Collections.singletonList(id)); + assertThat(this.exchange.getResponse().getHeaders().get(HeaderWebSessionIdResolver.DEFAULT_HEADER_NAME)).containsExactly(id); } @Test - public void setSessionIdWhenCustomHeaderNameThenSetsHeader() { + void setSessionIdWhenCustomHeaderNameThenSetsHeader() { String headerName = "x-auth"; String id = "123"; this.idResolver.setHeaderName(headerName); - this.idResolver.setSessionId(this.exchange, id); - assertThat(this.exchange.getResponse().getHeaders().get(headerName)).isEqualTo(Collections.singletonList(id)); + assertThat(this.exchange.getResponse().getHeaders().get(headerName)).containsExactly(id); } @Test - public void setSessionIdWhenNullIdThenIllegalArgumentException() { + void setSessionIdWhenNullIdThenIllegalArgumentException() { assertThatIllegalArgumentException().isThrownBy(() -> this.idResolver.setSessionId(this.exchange, null)); } @Test - public void resolveSessionIdsWhenNoIdsThenEmpty() { - List ids = this.idResolver.resolveSessionIds(this.exchange); - - assertThat(ids.isEmpty()).isTrue(); + void resolveSessionIdsWhenNoIdsThenEmpty() { + assertThat(this.idResolver.resolveSessionIds(this.exchange)).isEmpty(); } @Test - public void resolveSessionIdsWhenIdThenIdFound() { + void resolveSessionIdsWhenIdThenIdFound() { String id = "123"; this.exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/path") .header(HeaderWebSessionIdResolver.DEFAULT_HEADER_NAME, id)); - List ids = this.idResolver.resolveSessionIds(this.exchange); - - assertThat(ids).isEqualTo(Collections.singletonList(id)); + assertThat(this.idResolver.resolveSessionIds(this.exchange)).containsExactly(id); } @Test - public void resolveSessionIdsWhenMultipleIdsThenIdsFound() { + void resolveSessionIdsWhenMultipleIdsThenIdsFound() { String id1 = "123"; String id2 = "abc"; this.exchange = MockServerWebExchange.from( MockServerHttpRequest.get("/path") .header(HeaderWebSessionIdResolver.DEFAULT_HEADER_NAME, id1, id2)); - List ids = this.idResolver.resolveSessionIds(this.exchange); - - assertThat(ids).isEqualTo(Arrays.asList(id1, id2)); + assertThat(this.idResolver.resolveSessionIds(this.exchange)).containsExactly(id1, id2); } + }