Polish WithSecurityContextTestExecutionListener
Extract method for reuse SecurityContext createSecurityContext(AnnotatedElement annotated, WithSecurityContext withSecurityContext, TestContext context) Issue gh-3888
This commit is contained in:
parent
a53d022312
commit
336de35874
|
@ -65,35 +65,32 @@ public class WithSecurityContextTestExecutionListener extends
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings({ "rawtypes", "unchecked" })
|
|
||||||
private SecurityContext createSecurityContext(AnnotatedElement annotated,
|
private SecurityContext createSecurityContext(AnnotatedElement annotated,
|
||||||
TestContext context) {
|
TestContext context) {
|
||||||
WithSecurityContext withSecurityContext = AnnotationUtils.findAnnotation(
|
WithSecurityContext withSecurityContext = AnnotationUtils
|
||||||
annotated, WithSecurityContext.class);
|
.findAnnotation(annotated, WithSecurityContext.class);
|
||||||
if (withSecurityContext != null) {
|
return createSecurityContext(annotated, withSecurityContext, context);
|
||||||
WithSecurityContextFactory factory = createFactory(withSecurityContext, context);
|
|
||||||
Class<? extends Annotation> type = (Class<? extends Annotation>) GenericTypeResolver.resolveTypeArgument(factory.getClass(), WithSecurityContextFactory.class);
|
|
||||||
Annotation annotation = findAnnotation(annotated, type);
|
|
||||||
try {
|
|
||||||
return factory.createSecurityContext(annotation);
|
|
||||||
}
|
}
|
||||||
catch (RuntimeException e) {
|
|
||||||
throw new IllegalStateException(
|
private SecurityContext createSecurityContext(Class<?> annotated,
|
||||||
"Unable to create SecurityContext using " + annotation, e);
|
TestContext context) {
|
||||||
}
|
MetaAnnotationUtils.AnnotationDescriptor<WithSecurityContext> withSecurityContextDescriptor = MetaAnnotationUtils
|
||||||
}
|
.findAnnotationDescriptor(annotated, WithSecurityContext.class);
|
||||||
return null;
|
WithSecurityContext withSecurityContext = withSecurityContextDescriptor == null
|
||||||
|
? null : withSecurityContextDescriptor.getAnnotation();
|
||||||
|
return createSecurityContext(annotated, withSecurityContext, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings({ "rawtypes", "unchecked" })
|
@SuppressWarnings({ "rawtypes", "unchecked" })
|
||||||
private SecurityContext createSecurityContext(Class<?> annotated,
|
private SecurityContext createSecurityContext(AnnotatedElement annotated,
|
||||||
TestContext context) {
|
WithSecurityContext withSecurityContext, TestContext context) {
|
||||||
MetaAnnotationUtils.AnnotationDescriptor<WithSecurityContext>
|
if (withSecurityContext == null) {
|
||||||
withSecurityContext = MetaAnnotationUtils.findAnnotationDescriptor(
|
return null;
|
||||||
annotated, WithSecurityContext.class);
|
}
|
||||||
if (withSecurityContext != null) {
|
WithSecurityContextFactory factory = createFactory(withSecurityContext, context);
|
||||||
WithSecurityContextFactory factory = createFactory(withSecurityContext.getAnnotation(), context);
|
Class<? extends Annotation> type = (Class<? extends Annotation>) GenericTypeResolver
|
||||||
Class<? extends Annotation> type = (Class<? extends Annotation>) GenericTypeResolver.resolveTypeArgument(factory.getClass(), WithSecurityContextFactory.class);
|
.resolveTypeArgument(factory.getClass(),
|
||||||
|
WithSecurityContextFactory.class);
|
||||||
Annotation annotation = findAnnotation(annotated, type);
|
Annotation annotation = findAnnotation(annotated, type);
|
||||||
try {
|
try {
|
||||||
return factory.createSecurityContext(annotation);
|
return factory.createSecurityContext(annotation);
|
||||||
|
@ -103,8 +100,6 @@ public class WithSecurityContextTestExecutionListener extends
|
||||||
"Unable to create SecurityContext using " + annotation, e);
|
"Unable to create SecurityContext using " + annotation, e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
private Annotation findAnnotation(AnnotatedElement annotated,
|
private Annotation findAnnotation(AnnotatedElement annotated,
|
||||||
Class<? extends Annotation> type) {
|
Class<? extends Annotation> type) {
|
||||||
|
|
Loading…
Reference in New Issue