Skip to content

Commit ef951ba

Browse files
philwebbrwinch
authored andcommitted
Polish spring-security-test main code
Manually polish `spring-security-test` following the formatting and checkstyle fixes. Issue gh-8945
1 parent 2ca6256 commit ef951ba

12 files changed

+88
-159
lines changed

test/src/main/java/org/springframework/security/test/context/TestSecurityContextHolder.java

+3-6
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,14 @@
5656
* @author Rob Winch
5757
* @author Tadaya Tsuyukubo
5858
* @since 4.0
59-
*
6059
*/
6160
public final class TestSecurityContextHolder {
6261

6362
private static final ThreadLocal<SecurityContext> contextHolder = new ThreadLocal<>();
6463

64+
private TestSecurityContextHolder() {
65+
}
66+
6567
/**
6668
* Clears the {@link SecurityContext} from {@link TestSecurityContextHolder} and
6769
* {@link SecurityContextHolder}.
@@ -77,12 +79,10 @@ public static void clearContext() {
7779
*/
7880
public static SecurityContext getContext() {
7981
SecurityContext ctx = contextHolder.get();
80-
8182
if (ctx == null) {
8283
ctx = getDefaultContext();
8384
contextHolder.set(ctx);
8485
}
85-
8686
return ctx;
8787
}
8888

@@ -120,7 +120,4 @@ private static SecurityContext getDefaultContext() {
120120
return SecurityContextHolder.getContext();
121121
}
122122

123-
private TestSecurityContextHolder() {
124-
}
125-
126123
}

test/src/main/java/org/springframework/security/test/context/support/ReactorContextTestExecutionListener.java

+5-3
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,11 @@ public ReactorContextTestExecutionListener() {
5252
}
5353

5454
private static TestExecutionListener createDelegate() {
55-
return ClassUtils.isPresent(HOOKS_CLASS_NAME, ReactorContextTestExecutionListener.class.getClassLoader())
56-
? new DelegateTestExecutionListener() : new AbstractTestExecutionListener() {
57-
};
55+
if (!ClassUtils.isPresent(HOOKS_CLASS_NAME, ReactorContextTestExecutionListener.class.getClassLoader())) {
56+
return new AbstractTestExecutionListener() {
57+
};
58+
}
59+
return new DelegateTestExecutionListener();
5860
}
5961

6062
/**

test/src/main/java/org/springframework/security/test/context/support/TestExecutionEvent.java

+1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ public enum TestExecutionEvent {
3333
* event.
3434
*/
3535
TEST_METHOD,
36+
3637
/**
3738
* Associated to
3839
* {@link org.springframework.test.context.TestExecutionListener#beforeTestExecution(TestContext)}

test/src/main/java/org/springframework/security/test/context/support/WithMockUserSecurityContextFactory.java

+3-10
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import org.springframework.security.core.context.SecurityContext;
2828
import org.springframework.security.core.context.SecurityContextHolder;
2929
import org.springframework.security.core.userdetails.User;
30+
import org.springframework.util.Assert;
3031
import org.springframework.util.StringUtils;
3132

3233
/**
@@ -41,29 +42,21 @@ final class WithMockUserSecurityContextFactory implements WithSecurityContextFac
4142
@Override
4243
public SecurityContext createSecurityContext(WithMockUser withUser) {
4344
String username = StringUtils.hasLength(withUser.username()) ? withUser.username() : withUser.value();
44-
if (username == null) {
45-
throw new IllegalArgumentException(
46-
withUser + " cannot have null username on both username and value properties");
47-
}
48-
45+
Assert.notNull(username, () -> withUser + " cannot have null username on both username and value properties");
4946
List<GrantedAuthority> grantedAuthorities = new ArrayList<>();
5047
for (String authority : withUser.authorities()) {
5148
grantedAuthorities.add(new SimpleGrantedAuthority(authority));
5249
}
53-
5450
if (grantedAuthorities.isEmpty()) {
5551
for (String role : withUser.roles()) {
56-
if (role.startsWith("ROLE_")) {
57-
throw new IllegalArgumentException("roles cannot start with ROLE_ Got " + role);
58-
}
52+
Assert.isTrue(!role.startsWith("ROLE_"), () -> "roles cannot start with ROLE_ Got " + role);
5953
grantedAuthorities.add(new SimpleGrantedAuthority("ROLE_" + role));
6054
}
6155
}
6256
else if (!(withUser.roles().length == 1 && "USER".equals(withUser.roles()[0]))) {
6357
throw new IllegalStateException("You cannot define roles attribute " + Arrays.asList(withUser.roles())
6458
+ " with authorities attribute " + Arrays.asList(withUser.authorities()));
6559
}
66-
6760
User principal = new User(username, withUser.password(), true, true, true, true, grantedAuthorities);
6861
Authentication authentication = new UsernamePasswordAuthenticationToken(principal, principal.getPassword(),
6962
principal.getAuthorities());

test/src/main/java/org/springframework/security/test/context/support/WithSecurityContextTestExecutionListener.java

-1
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,6 @@ public void beforeTestMethod(TestContext testContext) {
6868
if (testSecurityContext == null) {
6969
return;
7070
}
71-
7271
Supplier<SecurityContext> supplier = testSecurityContext.getSecurityContextSupplier();
7372
if (testSecurityContext.getTestExecutionEvent() == TestExecutionEvent.TEST_METHOD) {
7473
TestSecurityContextHolder.setContext(supplier.get());

test/src/main/java/org/springframework/security/test/context/support/WithUserDetailsSecurityContextFactory.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ UserDetailsService findAndAdaptReactiveUserDetailsService(String beanName) {
8484
: this.beans.getBean(ReactiveUserDetailsService.class);
8585
return new ReactiveUserDetailsServiceAdapter(reactiveUserDetailsService);
8686
}
87-
catch (NoSuchBeanDefinitionException | BeanNotOfRequiredTypeException notReactive) {
87+
catch (NoSuchBeanDefinitionException | BeanNotOfRequiredTypeException ex) {
8888
return null;
8989
}
9090
}

test/src/main/java/org/springframework/security/test/web/reactive/server/SecurityMockServerConfigurers.java

+14-22
Original file line numberDiff line numberDiff line change
@@ -108,10 +108,12 @@ private SecurityMockServerConfigurers() {
108108
*/
109109
public static MockServerConfigurer springSecurity() {
110110
return new MockServerConfigurer() {
111+
111112
@Override
112113
public void beforeServerCreated(WebHttpHandlerBuilder builder) {
113114
builder.filters((filters) -> filters.add(0, new MutatorFilter()));
114115
}
116+
115117
};
116118
}
117119

@@ -992,26 +994,22 @@ private OAuth2AuthenticationToken getToken() {
992994
}
993995

994996
private Collection<GrantedAuthority> getAuthorities() {
995-
if (this.authorities == null) {
996-
Set<GrantedAuthority> authorities = new LinkedHashSet<>();
997-
authorities.add(new OidcUserAuthority(getOidcIdToken(), getOidcUserInfo()));
998-
for (String authority : this.accessToken.getScopes()) {
999-
authorities.add(new SimpleGrantedAuthority("SCOPE_" + authority));
1000-
}
1001-
return authorities;
1002-
}
1003-
else {
997+
if (this.authorities != null) {
1004998
return this.authorities;
1005999
}
1000+
Set<GrantedAuthority> authorities = new LinkedHashSet<>();
1001+
authorities.add(new OidcUserAuthority(getOidcIdToken(), getOidcUserInfo()));
1002+
for (String authority : this.accessToken.getScopes()) {
1003+
authorities.add(new SimpleGrantedAuthority("SCOPE_" + authority));
1004+
}
1005+
return authorities;
10061006
}
10071007

10081008
private OidcIdToken getOidcIdToken() {
1009-
if (this.idToken == null) {
1010-
return new OidcIdToken("id-token", null, null, Collections.singletonMap(IdTokenClaimNames.SUB, "user"));
1011-
}
1012-
else {
1009+
if (this.idToken != null) {
10131010
return this.idToken;
10141011
}
1012+
return new OidcIdToken("id-token", null, null, Collections.singletonMap(IdTokenClaimNames.SUB, "user"));
10151013
}
10161014

10171015
private OidcUserInfo getOidcUserInfo() {
@@ -1071,7 +1069,6 @@ public OAuth2ClientMutator clientRegistration(ClientRegistration clientRegistrat
10711069
*/
10721070
public OAuth2ClientMutator clientRegistration(
10731071
Consumer<ClientRegistration.Builder> clientRegistrationConfigurer) {
1074-
10751072
ClientRegistration.Builder builder = clientRegistrationBuilder();
10761073
clientRegistrationConfigurer.accept(builder);
10771074
this.clientRegistration = builder.build();
@@ -1108,7 +1105,6 @@ public void beforeServerCreated(WebHttpHandlerBuilder builder) {
11081105

11091106
@Override
11101107
public void afterConfigureAdded(WebTestClient.MockServerSpec<?> serverSpec) {
1111-
11121108
}
11131109

11141110
@Override
@@ -1134,10 +1130,8 @@ private Consumer<List<WebFilter>> addAuthorizedClientFilter() {
11341130
}
11351131

11361132
private OAuth2AuthorizedClient getClient() {
1137-
if (this.clientRegistration == null) {
1138-
throw new IllegalArgumentException(
1139-
"Please specify a ClientRegistration via one " + "of the clientRegistration methods");
1140-
}
1133+
Assert.notNull(this.clientRegistration,
1134+
"Please specify a ClientRegistration via one of the clientRegistration methods");
11411135
return new OAuth2AuthorizedClient(this.clientRegistration, this.principalName, this.accessToken);
11421136
}
11431137

@@ -1173,9 +1167,7 @@ public Mono<OAuth2AuthorizedClient> authorize(OAuth2AuthorizeRequest authorizeRe
11731167
OAuth2AuthorizedClient client = exchange.getAttribute(TOKEN_ATTR_NAME);
11741168
return Mono.just(client);
11751169
}
1176-
else {
1177-
return this.delegate.authorize(authorizeRequest);
1178-
}
1170+
return this.delegate.authorize(authorizeRequest);
11791171
}
11801172

11811173
static void enable(ServerWebExchange exchange) {

test/src/main/java/org/springframework/security/test/web/servlet/request/SecurityMockMvcRequestBuilders.java

+11-22
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,12 @@
3636
*
3737
* @author Rob Winch
3838
* @since 4.0
39-
*
4039
*/
4140
public final class SecurityMockMvcRequestBuilders {
4241

42+
private SecurityMockMvcRequestBuilders() {
43+
}
44+
4345
/**
4446
* Creates a request (including any necessary {@link CsrfToken}) that will submit a
4547
* form based login to POST "/login".
@@ -91,18 +93,18 @@ public static final class LogoutRequestBuilder implements RequestBuilder, Mergea
9193

9294
private Mergeable parent;
9395

96+
private LogoutRequestBuilder() {
97+
}
98+
9499
@Override
95100
public MockHttpServletRequest buildRequest(ServletContext servletContext) {
96101
MockHttpServletRequestBuilder logoutRequest = post(this.logoutUrl).accept(MediaType.TEXT_HTML,
97102
MediaType.ALL);
98-
99103
if (this.parent != null) {
100104
logoutRequest = (MockHttpServletRequestBuilder) logoutRequest.merge(this.parent);
101105
}
102-
103106
MockHttpServletRequest request = logoutRequest.buildRequest(servletContext);
104107
logoutRequest.postProcessRequest(request);
105-
106108
return this.postProcessor.postProcessRequest(request);
107109
}
108110

@@ -141,12 +143,7 @@ public Object merge(Object parent) {
141143
this.parent = (Mergeable) parent;
142144
return this;
143145
}
144-
else {
145-
throw new IllegalArgumentException("Cannot merge with [" + parent.getClass().getName() + "]");
146-
}
147-
}
148-
149-
private LogoutRequestBuilder() {
146+
throw new IllegalArgumentException("Cannot merge with [" + parent.getClass().getName() + "]");
150147
}
151148

152149
}
@@ -175,18 +172,18 @@ public static final class FormLoginRequestBuilder implements RequestBuilder, Mer
175172

176173
private RequestPostProcessor postProcessor = csrf();
177174

175+
private FormLoginRequestBuilder() {
176+
}
177+
178178
@Override
179179
public MockHttpServletRequest buildRequest(ServletContext servletContext) {
180180
MockHttpServletRequestBuilder loginRequest = post(this.loginProcessingUrl).accept(this.acceptMediaType)
181181
.param(this.usernameParam, this.username).param(this.passwordParam, this.password);
182-
183182
if (this.parent != null) {
184183
loginRequest = (MockHttpServletRequestBuilder) loginRequest.merge(this.parent);
185184
}
186-
187185
MockHttpServletRequest request = loginRequest.buildRequest(servletContext);
188186
loginRequest.postProcessRequest(request);
189-
190187
return this.postProcessor.postProcessRequest(request);
191188
}
192189

@@ -305,17 +302,9 @@ public Object merge(Object parent) {
305302
this.parent = (Mergeable) parent;
306303
return this;
307304
}
308-
else {
309-
throw new IllegalArgumentException("Cannot merge with [" + parent.getClass().getName() + "]");
310-
}
305+
throw new IllegalArgumentException("Cannot merge with [" + parent.getClass().getName() + "]");
311306
}
312307

313-
private FormLoginRequestBuilder() {
314-
}
315-
316-
}
317-
318-
private SecurityMockMvcRequestBuilders() {
319308
}
320309

321310
}

0 commit comments

Comments
 (0)