Skip to content

Commit da7141e

Browse files
committed
Polish Tests
Issue gh-9331
1 parent e30d780 commit da7141e

File tree

2 files changed

+26
-26
lines changed

2 files changed

+26
-26
lines changed

web/src/test/java/org/springframework/security/web/method/annotation/AuthenticationPrincipalArgumentResolverTests.java

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,12 @@
2121
import java.lang.annotation.RetentionPolicy;
2222
import java.lang.annotation.Target;
2323
import java.lang.reflect.Method;
24-
import java.util.function.Function;
2524

2625
import org.junit.After;
2726
import org.junit.Before;
2827
import org.junit.Test;
2928

3029
import org.springframework.core.MethodParameter;
31-
import org.springframework.expression.AccessException;
3230
import org.springframework.expression.BeanResolver;
3331
import org.springframework.security.authentication.TestingAuthenticationToken;
3432
import org.springframework.security.core.annotation.AuthenticationPrincipal;
@@ -40,26 +38,27 @@
4038

4139
import static org.assertj.core.api.Assertions.assertThat;
4240
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
41+
import static org.mockito.ArgumentMatchers.any;
42+
import static org.mockito.ArgumentMatchers.eq;
43+
import static org.mockito.BDDMockito.mock;
44+
import static org.mockito.BDDMockito.verify;
45+
import static org.mockito.BDDMockito.when;
4346

4447
/**
4548
* @author Rob Winch
4649
*
4750
*/
4851
public class AuthenticationPrincipalArgumentResolverTests {
4952

50-
private final BeanResolver beanResolver = ((context, beanName) -> {
51-
if (!"test".equals(beanName)) {
52-
throw new AccessException("Could not resolve bean reference against BeanFactory");
53-
}
54-
return (Function<CustomUserPrincipal, String>) (principal) -> principal.property;
55-
});
53+
private BeanResolver beanResolver;
5654

5755
private Object expectedPrincipal;
5856

5957
private AuthenticationPrincipalArgumentResolver resolver;
6058

6159
@Before
6260
public void setup() {
61+
this.beanResolver = mock(BeanResolver.class);
6362
this.resolver = new AuthenticationPrincipalArgumentResolver();
6463
this.resolver.setBeanResolver(this.beanResolver);
6564
}
@@ -142,8 +141,11 @@ public void resolveArgumentSpel() throws Exception {
142141
public void resolveArgumentSpelBean() throws Exception {
143142
CustomUserPrincipal principal = new CustomUserPrincipal();
144143
setAuthenticationPrincipal(principal);
144+
when(this.beanResolver.resolve(any(), eq("test"))).thenReturn(principal.property);
145145
this.expectedPrincipal = principal.property;
146-
assertThat(this.resolver.resolveArgument(showUserSpelBean(), null, null, null)).isEqualTo(this.expectedPrincipal);
146+
assertThat(this.resolver.resolveArgument(showUserSpelBean(), null, null, null))
147+
.isEqualTo(this.expectedPrincipal);
148+
verify(this.beanResolver).resolve(any(), eq("test"));
147149
}
148150

149151
@Test
@@ -281,8 +283,7 @@ public void showUserAnnotation(@AuthenticationPrincipal Object user) {
281283
public void showUserSpel(@AuthenticationPrincipal(expression = "property") String user) {
282284
}
283285

284-
public void showUserSpelBean(@AuthenticationPrincipal(
285-
expression = "@test.apply(#this)") String user) {
286+
public void showUserSpelBean(@AuthenticationPrincipal(expression = "@test") String user) {
286287
}
287288

288289
public void showUserSpelCopy(@AuthenticationPrincipal(

web/src/test/java/org/springframework/security/web/method/annotation/CurrentSecurityContextArgumentResolverTests.java

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,12 @@
2121
import java.lang.annotation.RetentionPolicy;
2222
import java.lang.annotation.Target;
2323
import java.lang.reflect.Method;
24-
import java.util.function.Function;
2524

2625
import org.junit.After;
2726
import org.junit.Before;
2827
import org.junit.Test;
2928

3029
import org.springframework.core.MethodParameter;
31-
import org.springframework.expression.AccessException;
3230
import org.springframework.expression.BeanResolver;
3331
import org.springframework.expression.spel.SpelEvaluationException;
3432
import org.springframework.security.authentication.TestingAuthenticationToken;
@@ -42,6 +40,11 @@
4240

4341
import static org.assertj.core.api.Assertions.assertThat;
4442
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
43+
import static org.mockito.ArgumentMatchers.any;
44+
import static org.mockito.ArgumentMatchers.eq;
45+
import static org.mockito.BDDMockito.mock;
46+
import static org.mockito.BDDMockito.verify;
47+
import static org.mockito.BDDMockito.when;
4548

4649
/**
4750
* @author Dan Zheng
@@ -50,17 +53,13 @@
5053
*/
5154
public class CurrentSecurityContextArgumentResolverTests {
5255

53-
private final BeanResolver beanResolver = ((context, beanName) -> {
54-
if (!"test".equals(beanName)) {
55-
throw new AccessException("Could not resolve bean reference against BeanFactory");
56-
}
57-
return (Function<SecurityContext, Authentication>) SecurityContext::getAuthentication;
58-
});
56+
private BeanResolver beanResolver;
5957

6058
private CurrentSecurityContextArgumentResolver resolver;
6159

6260
@Before
6361
public void setup() {
62+
this.beanResolver = mock(BeanResolver.class);
6463
this.resolver = new CurrentSecurityContextArgumentResolver();
6564
this.resolver.setBeanResolver(this.beanResolver);
6665
}
@@ -118,12 +117,12 @@ public void resolveArgumentWithAuthentication() {
118117
}
119118

120119
@Test
121-
public void resolveArgumentWithAuthenticationWithBean() {
120+
public void resolveArgumentWithAuthenticationWithBean() throws Exception {
122121
String principal = "john";
123-
setAuthenticationPrincipal(principal);
124-
Authentication auth1 = (Authentication) this.resolver
125-
.resolveArgument(showSecurityContextAuthenticationWithBean(), null, null, null);
126-
assertThat(auth1.getPrincipal()).isEqualTo(principal);
122+
when(this.beanResolver.resolve(any(), eq("test"))).thenReturn(principal);
123+
assertThat(this.resolver.resolveArgument(showSecurityContextAuthenticationWithBean(), null, null, null))
124+
.isEqualTo(principal);
125+
verify(this.beanResolver).resolve(any(), eq("test"));
127126
}
128127

129128
@Test
@@ -234,7 +233,7 @@ private MethodParameter showSecurityContextAuthenticationAnnotation() {
234233
}
235234

236235
public MethodParameter showSecurityContextAuthenticationWithBean() {
237-
return getMethodParameter("showSecurityContextAuthenticationWithBean", Authentication.class);
236+
return getMethodParameter("showSecurityContextAuthenticationWithBean", String.class);
238237
}
239238

240239
private MethodParameter showSecurityContextAuthenticationWithOptionalPrincipal() {
@@ -319,7 +318,7 @@ public void showSecurityContextAuthenticationAnnotation(
319318
}
320319

321320
public void showSecurityContextAuthenticationWithBean(
322-
@CurrentSecurityContext(expression = "@test.apply(#this)") Authentication authentication) {
321+
@CurrentSecurityContext(expression = "@test") String name) {
323322
}
324323

325324
public void showSecurityContextAuthenticationWithOptionalPrincipal(

0 commit comments

Comments
 (0)