Check if redis available before looking up its version.

See #654
This commit is contained in:
Christoph Strobl
2022-10-13 08:48:42 +02:00
committed by Mark Paluch
parent 0fb0b53a95
commit 797e17d9a8
2 changed files with 8 additions and 1 deletions

View File

@@ -36,7 +36,8 @@ import org.junit.jupiter.api.extension.ExtendWith;
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
@ExtendWith(EnabledOnCommandCondition.class)
@EnabledOnRedisAvailable
@ExtendWith({EnabledOnRedisAvailableCondition.class})
public @interface EnabledOnCommand {
String host() default "localhost";

View File

@@ -36,12 +36,18 @@ import org.junit.platform.commons.util.AnnotationUtils;
*/
class EnabledOnCommandCondition implements ExecutionCondition {
EnabledOnRedisAvailableCondition redisAvailable = new EnabledOnRedisAvailableCondition();
private static final ConditionEvaluationResult ENABLED_BY_DEFAULT = enabled("@EnabledOnCommand is not present");
private static final ExtensionContext.Namespace NAMESPACE = ExtensionContext.Namespace.create(RedisConditions.class);
@Override
public ConditionEvaluationResult evaluateExecutionCondition(ExtensionContext context) {
if(redisAvailable.evaluateExecutionCondition(context).isDisabled()) {
return disabled("Redis not available");
}
var optional = AnnotationUtils.findAnnotation(context.getElement(), EnabledOnCommand.class);
if (!optional.isPresent()) {