WebSessionSecurityContextRepository custom session attribute name

Fixes: gh-4843
This commit is contained in:
Rob Winch
2017-11-16 13:20:21 -06:00
parent b7529be3d0
commit 8d30d6110b
2 changed files with 42 additions and 7 deletions

View File

@@ -39,7 +39,23 @@ public class WebSessionServerSecurityContextRepositoryTests {
@Test
public void saveAndLoadWhenDefaultsThenFound() {
SecurityContext expected = new SecurityContextImpl();
this.repository.save(this.exchange, new SecurityContextImpl()).block();
this.repository.save(this.exchange, expected).block();
SecurityContext actual = this.repository.load(this.exchange).block();
assertThat(actual).isEqualTo(expected);
}
@Test
public void saveAndLoadWhenCustomAttributeThenFound() {
String attrName = "attr";
this.repository.setSpringSecurityContextAttrName(attrName);
SecurityContext expected = new SecurityContextImpl();
this.repository.save(this.exchange, expected).block();
WebSession session = this.exchange.getSession().block();
assertThat(session.<SecurityContext>getAttribute(attrName)).isEqualTo(expected);
SecurityContext actual = this.repository.load(this.exchange).block();
@@ -49,7 +65,7 @@ public class WebSessionServerSecurityContextRepositoryTests {
@Test
public void saveAndLoadWhenNullThenDeletes() {
SecurityContext context = new SecurityContextImpl();
this.repository.save(this.exchange, new SecurityContextImpl()).block();
this.repository.save(this.exchange, context).block();
this.repository.save(this.exchange, null).block();
SecurityContext actual = this.repository.load(this.exchange).block();