Browse Source

Polish HeaderWebSessionIdResolverTests

See gh-26675
pull/26684/head
Sam Brannen 5 years ago
parent
commit
70f0895f96
  1. 69
      spring-web/src/test/java/org/springframework/web/server/session/HeaderWebSessionIdResolverTests.java

69
spring-web/src/test/java/org/springframework/web/server/session/HeaderWebSessionIdResolverTests.java

@ -1,5 +1,5 @@ @@ -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 @@ @@ -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 @@ -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<String> 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<String> 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<String> ids = this.idResolver.resolveSessionIds(this.exchange);
assertThat(ids).isEqualTo(Arrays.asList(id1, id2));
assertThat(this.idResolver.resolveSessionIds(this.exchange)).containsExactly(id1, id2);
}
}

Loading…
Cancel
Save