use of org.springframework.security.test.context.support.WithMockUser in project spring-security by spring-projects.
the class SecurityMockServerConfigurersAnnotatedTests method withMockUserAndWithCallOnSeparateThreadWhenMutateWithMockPrincipalAndNoMutateThenOverridesAnnotationAndUsesAnnotation.
@Test
@WithMockUser
public void withMockUserAndWithCallOnSeparateThreadWhenMutateWithMockPrincipalAndNoMutateThenOverridesAnnotationAndUsesAnnotation() {
TestingAuthenticationToken authentication = new TestingAuthenticationToken("authentication", "secret", "ROLE_USER");
ForkJoinPool.commonPool().submit(() -> this.client.mutateWith(SecurityMockServerConfigurers.mockAuthentication(authentication)).get().exchange().expectStatus().isOk()).join();
this.controller.assertPrincipalIsEqualTo(authentication);
ForkJoinPool.commonPool().submit(() -> this.client.get().exchange().expectStatus().isOk()).join();
assertPrincipalCreatedFromUserDetails(this.controller.removePrincipal(), this.userBuilder.build());
}
use of org.springframework.security.test.context.support.WithMockUser in project spring-security by spring-projects.
the class SecurityMockServerConfigurersAnnotatedTests method withMockUserWhenMutateWithMockPrincipalThenOverridesAnnotation.
@Test
@WithMockUser
public void withMockUserWhenMutateWithMockPrincipalThenOverridesAnnotation() {
TestingAuthenticationToken authentication = new TestingAuthenticationToken("authentication", "secret", "ROLE_USER");
this.client.mutateWith(SecurityMockServerConfigurers.mockAuthentication(authentication)).get().exchange().expectStatus().isOk();
this.controller.assertPrincipalIsEqualTo(authentication);
}
use of org.springframework.security.test.context.support.WithMockUser in project spring-security by spring-projects.
the class SecurityMockServerConfigurersAnnotatedTests method withMockUserWhenGlobalMockPrincipalThenOverridesAnnotation.
@Test
@WithMockUser
public void withMockUserWhenGlobalMockPrincipalThenOverridesAnnotation() {
TestingAuthenticationToken authentication = new TestingAuthenticationToken("authentication", "secret", "ROLE_USER");
this.client = WebTestClient.bindToController(this.controller).webFilter(new SecurityContextServerWebExchangeWebFilter()).apply(SecurityMockServerConfigurers.springSecurity()).apply(SecurityMockServerConfigurers.mockAuthentication(authentication)).configureClient().defaultHeader(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON_VALUE).build();
this.client.get().exchange().expectStatus().isOk();
this.controller.assertPrincipalIsEqualTo(authentication);
}
use of org.springframework.security.test.context.support.WithMockUser in project spring-security by spring-projects.
the class GlobalMethodSecurityConfigurationTests method methodSecurityWhenAuthenticationTrustResolverIsBeanThenAutowires.
@Test
@WithMockUser
public void methodSecurityWhenAuthenticationTrustResolverIsBeanThenAutowires() {
this.spring.register(CustomTrustResolverConfig.class).autowire();
AuthenticationTrustResolver trustResolver = this.spring.getContext().getBean(AuthenticationTrustResolver.class);
given(trustResolver.isAnonymous(any())).willReturn(true, false);
assertThatExceptionOfType(AccessDeniedException.class).isThrownBy(() -> this.service.preAuthorizeNotAnonymous());
this.service.preAuthorizeNotAnonymous();
verify(trustResolver, atLeastOnce()).isAnonymous(any());
}
use of org.springframework.security.test.context.support.WithMockUser in project spring-security by spring-projects.
the class GlobalMethodSecurityConfigurationTests method globalMethodSecurityConfigurationAutowiresPermissionEvaluator.
@Test
@WithMockUser
public void globalMethodSecurityConfigurationAutowiresPermissionEvaluator() {
this.spring.register(AutowirePermissionEvaluatorConfig.class).autowire();
PermissionEvaluator permission = this.spring.getContext().getBean(PermissionEvaluator.class);
given(permission.hasPermission(any(), eq("something"), eq("read"))).willReturn(true, false);
this.service.hasPermission("something");
// no exception
assertThatExceptionOfType(AccessDeniedException.class).isThrownBy(() -> this.service.hasPermission("something"));
}
Aggregations