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,
|
||||
TestContext context) {
|
||||
WithSecurityContext withSecurityContext = AnnotationUtils.findAnnotation(
|
||||
annotated, WithSecurityContext.class);
|
||||
if (withSecurityContext != null) {
|
||||
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);
|
||||
WithSecurityContext withSecurityContext = AnnotationUtils
|
||||
.findAnnotation(annotated, WithSecurityContext.class);
|
||||
return createSecurityContext(annotated, withSecurityContext, context);
|
||||
}
|
||||
catch (RuntimeException e) {
|
||||
throw new IllegalStateException(
|
||||
"Unable to create SecurityContext using " + annotation, e);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
|
||||
private SecurityContext createSecurityContext(Class<?> annotated,
|
||||
TestContext context) {
|
||||
MetaAnnotationUtils.AnnotationDescriptor<WithSecurityContext> withSecurityContextDescriptor = MetaAnnotationUtils
|
||||
.findAnnotationDescriptor(annotated, WithSecurityContext.class);
|
||||
WithSecurityContext withSecurityContext = withSecurityContextDescriptor == null
|
||||
? null : withSecurityContextDescriptor.getAnnotation();
|
||||
return createSecurityContext(annotated, withSecurityContext, context);
|
||||
}
|
||||
|
||||
@SuppressWarnings({ "rawtypes", "unchecked" })
|
||||
private SecurityContext createSecurityContext(Class<?> annotated,
|
||||
TestContext context) {
|
||||
MetaAnnotationUtils.AnnotationDescriptor<WithSecurityContext>
|
||||
withSecurityContext = MetaAnnotationUtils.findAnnotationDescriptor(
|
||||
annotated, WithSecurityContext.class);
|
||||
if (withSecurityContext != null) {
|
||||
WithSecurityContextFactory factory = createFactory(withSecurityContext.getAnnotation(), context);
|
||||
Class<? extends Annotation> type = (Class<? extends Annotation>) GenericTypeResolver.resolveTypeArgument(factory.getClass(), WithSecurityContextFactory.class);
|
||||
private SecurityContext createSecurityContext(AnnotatedElement annotated,
|
||||
WithSecurityContext withSecurityContext, TestContext context) {
|
||||
if (withSecurityContext == null) {
|
||||
return null;
|
||||
}
|
||||
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);
|
||||
|
@ -103,8 +100,6 @@ public class WithSecurityContextTestExecutionListener extends
|
|||
"Unable to create SecurityContext using " + annotation, e);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private Annotation findAnnotation(AnnotatedElement annotated,
|
||||
Class<? extends Annotation> type) {
|
||||
|
|
Loading…
Reference in New Issue