1
0
mirror of synced 2026-05-22 13:23:17 +00:00

Merge branch '5.8.x'

This commit is contained in:
Rob Winch
2022-09-08 10:15:24 -05:00
2 changed files with 26 additions and 1 deletions
@@ -148,7 +148,7 @@ public class WithSecurityContextTestExecutionListener extends AbstractTestExecut
}
private Annotation findAnnotation(AnnotatedElement annotated, Class<? extends Annotation> type) {
Annotation findAnnotation = AnnotationUtils.findAnnotation(annotated, type);
Annotation findAnnotation = AnnotatedElementUtils.findMergedAnnotation(annotated, type);
if (findAnnotation != null) {
return findAnnotation;
}
@@ -16,12 +16,19 @@
package org.springframework.security.test.context.showcase;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.annotation.AliasFor;
import org.springframework.security.authentication.AuthenticationCredentialsNotFoundException;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
@@ -79,6 +86,24 @@ public class WithMockUserTests {
}
@Configuration
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@Inherited
@WithMockUser(roles = "ADMIN")
public @interface WithAdminUser {
@AliasFor(annotation = WithMockUser.class, attribute = "value")
String value();
}
@Test
@WithAdminUser("admin")
public void getMessageWithMetaAnnotationAdminUser() {
String message = this.messageService.getMessage();
assertThat(message).contains("admin").contains("ADMIN").contains("ROLE_ADMIN");
}
@EnableGlobalMethodSecurity(prePostEnabled = true)
@ComponentScan(basePackageClasses = HelloMessageService.class)
static class Config {