Disallow empty expression in @DisabledIf

This commit ensures that a user provides a non-empty expression in
declarations of @DisabledIf.

Issue: SPR-14614
master
Sam Brannen 8 years ago
parent 899ebd8ee2
commit 54d6f250e2
  1. 4
      spring-test/src/main/java/org/springframework/test/context/junit/jupiter/DisabledIfCondition.java

@ -82,7 +82,9 @@ public class DisabledIfCondition implements ContainerExecutionCondition, TestExe
Optional<DisabledIf> disabledIf = findMergedAnnotation(element, DisabledIf.class); Optional<DisabledIf> disabledIf = findMergedAnnotation(element, DisabledIf.class);
Assert.state(disabledIf.isPresent(), () -> "@DisabledIf must be present on " + element); Assert.state(disabledIf.isPresent(), () -> "@DisabledIf must be present on " + element);
String expression = disabledIf.get().expression().trim(); String expression = disabledIf.map(DisabledIf::expression).filter(StringUtils::hasText).orElseThrow(
() -> new IllegalStateException(
String.format("The expression in @DisabledIf on [%s] must not be blank", element)));
if (isDisabled(expression, extensionContext)) { if (isDisabled(expression, extensionContext)) {
String reason = disabledIf.map(DisabledIf::reason).filter(StringUtils::hasText).orElseGet( String reason = disabledIf.map(DisabledIf::reason).filter(StringUtils::hasText).orElseGet(

Loading…
Cancel
Save