From 684be0f048b5ca7c32b87f8d309dabfd422ad931 Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Fri, 16 Dec 2016 14:19:20 +0100 Subject: [PATCH] Polish contribution Closes gh-6852 --- .../AuthenticationAuditListenerTests.java | 52 +++++++++---------- .../AuthorizationAuditListenerTests.java | 49 +++++++++-------- 2 files changed, 52 insertions(+), 49 deletions(-) diff --git a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/security/AuthenticationAuditListenerTests.java b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/security/AuthenticationAuditListenerTests.java index 727e0b578ee..580477399f6 100644 --- a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/security/AuthenticationAuditListenerTests.java +++ b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/security/AuthenticationAuditListenerTests.java @@ -25,6 +25,7 @@ import org.springframework.context.ApplicationEvent; import org.springframework.context.ApplicationEventPublisher; import org.springframework.security.authentication.BadCredentialsException; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; +import org.springframework.security.authentication.event.AbstractAuthenticationEvent; import org.springframework.security.authentication.event.AuthenticationFailureExpiredEvent; import org.springframework.security.authentication.event.AuthenticationSuccessEvent; import org.springframework.security.authentication.event.InteractiveAuthenticationSuccessEvent; @@ -55,12 +56,10 @@ public class AuthenticationAuditListenerTests { @Test public void testAuthenticationSuccess() { - this.listener.onApplicationEvent(new AuthenticationSuccessEvent( - new UsernamePasswordAuthenticationToken("user", "password"))); - ArgumentCaptor argumentCaptor = ArgumentCaptor - .forClass(AuditApplicationEvent.class); - verify(this.publisher).publishEvent(argumentCaptor.capture()); - assertThat(argumentCaptor.getValue().getAuditEvent().getType()) + AuditApplicationEvent event = handleAuthenticationEvent( + new AuthenticationSuccessEvent( + new UsernamePasswordAuthenticationToken("user", "password"))); + assertThat(event.getAuditEvent().getType()) .isEqualTo(AuthenticationAuditListener.AUTHENTICATION_SUCCESS); } @@ -74,26 +73,22 @@ public class AuthenticationAuditListenerTests { @Test public void testAuthenticationFailed() { - this.listener.onApplicationEvent(new AuthenticationFailureExpiredEvent( - new UsernamePasswordAuthenticationToken("user", "password"), - new BadCredentialsException("Bad user"))); - ArgumentCaptor argumentCaptor = ArgumentCaptor - .forClass(AuditApplicationEvent.class); - verify(this.publisher).publishEvent(argumentCaptor.capture()); - assertThat(argumentCaptor.getValue().getAuditEvent().getType()) + AuditApplicationEvent event = handleAuthenticationEvent( + new AuthenticationFailureExpiredEvent( + new UsernamePasswordAuthenticationToken("user", "password"), + new BadCredentialsException("Bad user"))); + assertThat(event.getAuditEvent().getType()) .isEqualTo(AuthenticationAuditListener.AUTHENTICATION_FAILURE); } @Test public void testAuthenticationSwitch() { - this.listener.onApplicationEvent(new AuthenticationSwitchUserEvent( - new UsernamePasswordAuthenticationToken("user", "password"), - new User("user", "password", - AuthorityUtils.commaSeparatedStringToAuthorityList("USER")))); - ArgumentCaptor argumentCaptor = ArgumentCaptor - .forClass(AuditApplicationEvent.class); - verify(this.publisher).publishEvent(argumentCaptor.capture()); - assertThat(argumentCaptor.getValue().getAuditEvent().getType()) + AuditApplicationEvent event = handleAuthenticationEvent( + new AuthenticationSwitchUserEvent( + new UsernamePasswordAuthenticationToken("user", "password"), + new User("user", "password", + AuthorityUtils.commaSeparatedStringToAuthorityList("USER")))); + assertThat(event.getAuditEvent().getType()) .isEqualTo(AuthenticationAuditListener.AUTHENTICATION_SWITCH); } @@ -103,16 +98,21 @@ public class AuthenticationAuditListenerTests { UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken( "user", "password"); authentication.setDetails(details); - this.listener.onApplicationEvent(new AuthenticationFailureExpiredEvent( + AuditApplicationEvent event = handleAuthenticationEvent(new AuthenticationFailureExpiredEvent( authentication, new BadCredentialsException("Bad user"))); - ArgumentCaptor argumentCaptor = ArgumentCaptor - .forClass(AuditApplicationEvent.class); - verify(this.publisher).publishEvent(argumentCaptor.capture()); - AuditApplicationEvent event = argumentCaptor.getValue(); assertThat(event.getAuditEvent().getType()) .isEqualTo(AuthenticationAuditListener.AUTHENTICATION_FAILURE); assertThat(event.getAuditEvent().getData()) .containsEntry("details", details); } + private AuditApplicationEvent handleAuthenticationEvent( + AbstractAuthenticationEvent event) { + ArgumentCaptor eventCaptor = ArgumentCaptor + .forClass(AuditApplicationEvent.class); + this.listener.onApplicationEvent(event); + verify(this.publisher).publishEvent(eventCaptor.capture()); + return eventCaptor.getValue(); + } + } diff --git a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/security/AuthorizationAuditListenerTests.java b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/security/AuthorizationAuditListenerTests.java index d428d331ac0..7785202a521 100644 --- a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/security/AuthorizationAuditListenerTests.java +++ b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/security/AuthorizationAuditListenerTests.java @@ -16,7 +16,7 @@ package org.springframework.boot.actuate.security; -import java.util.Arrays; +import java.util.Collections; import org.junit.Before; import org.junit.Test; @@ -27,6 +27,7 @@ import org.springframework.context.ApplicationEventPublisher; import org.springframework.security.access.AccessDeniedException; import org.springframework.security.access.ConfigAttribute; import org.springframework.security.access.SecurityConfig; +import org.springframework.security.access.event.AbstractAuthorizationEvent; import org.springframework.security.access.event.AuthenticationCredentialsNotFoundEvent; import org.springframework.security.access.event.AuthorizationFailureEvent; import org.springframework.security.authentication.AuthenticationCredentialsNotFoundException; @@ -53,26 +54,22 @@ public class AuthorizationAuditListenerTests { @Test public void testAuthenticationCredentialsNotFound() { - this.listener.onApplicationEvent(new AuthenticationCredentialsNotFoundEvent(this, - Arrays.asList(new SecurityConfig("USER")), - new AuthenticationCredentialsNotFoundException("Bad user"))); - ArgumentCaptor eventArgumentCaptor = ArgumentCaptor - .forClass(AuditApplicationEvent.class); - verify(this.publisher).publishEvent(eventArgumentCaptor.capture()); - assertThat(eventArgumentCaptor.getValue().getAuditEvent().getType()) + AuditApplicationEvent event = handleAuthorizationEvent( + new AuthenticationCredentialsNotFoundEvent(this, + Collections.singletonList(new SecurityConfig("USER")), + new AuthenticationCredentialsNotFoundException("Bad user"))); + assertThat(event.getAuditEvent().getType()) .isEqualTo(AuthenticationAuditListener.AUTHENTICATION_FAILURE); } @Test public void testAuthorizationFailure() { - this.listener.onApplicationEvent(new AuthorizationFailureEvent(this, - Arrays.asList(new SecurityConfig("USER")), - new UsernamePasswordAuthenticationToken("user", "password"), - new AccessDeniedException("Bad user"))); - ArgumentCaptor eventArgumentCaptor = ArgumentCaptor - .forClass(AuditApplicationEvent.class); - verify(this.publisher).publishEvent(eventArgumentCaptor.capture()); - assertThat(eventArgumentCaptor.getValue().getAuditEvent().getType()) + AuditApplicationEvent event = handleAuthorizationEvent( + new AuthorizationFailureEvent(this, + Collections.singletonList(new SecurityConfig("USER")), + new UsernamePasswordAuthenticationToken("user", "password"), + new AccessDeniedException("Bad user"))); + assertThat(event.getAuditEvent().getType()) .isEqualTo(AuthorizationAuditListener.AUTHORIZATION_FAILURE); } @@ -82,16 +79,22 @@ public class AuthorizationAuditListenerTests { UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken( "user", "password"); authentication.setDetails(details); - this.listener.onApplicationEvent(new AuthorizationFailureEvent(this, - Arrays.asList(new SecurityConfig("USER")), - authentication, new AccessDeniedException("Bad user"))); - ArgumentCaptor eventArgumentCaptor = ArgumentCaptor - .forClass(AuditApplicationEvent.class); - verify(this.publisher).publishEvent(eventArgumentCaptor.capture()); - AuditApplicationEvent event = eventArgumentCaptor.getValue(); + AuditApplicationEvent event = handleAuthorizationEvent( + new AuthorizationFailureEvent(this, + Collections.singletonList(new SecurityConfig("USER")), + authentication, new AccessDeniedException("Bad user"))); assertThat(event.getAuditEvent().getType()) .isEqualTo(AuthorizationAuditListener.AUTHORIZATION_FAILURE); assertThat(event.getAuditEvent().getData()).containsEntry("details", details); } + private AuditApplicationEvent handleAuthorizationEvent( + AbstractAuthorizationEvent event) { + ArgumentCaptor eventCaptor = ArgumentCaptor + .forClass(AuditApplicationEvent.class); + this.listener.onApplicationEvent(event); + verify(this.publisher).publishEvent(eventCaptor.capture()); + return eventCaptor.getValue(); + } + }