From 6b55a7cb861233889dc55c3ef64c3d5762d04d79 Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Mon, 12 Jul 2021 15:46:16 +0200 Subject: [PATCH] Polishing. Add unit tests. See #2392 Original pull request: #2393. --- ...areEvaluationContextProviderUnitTests.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/test/java/org/springframework/data/spel/ReactiveExtensionAwareEvaluationContextProviderUnitTests.java b/src/test/java/org/springframework/data/spel/ReactiveExtensionAwareEvaluationContextProviderUnitTests.java index 01282374c..a540379b2 100644 --- a/src/test/java/org/springframework/data/spel/ReactiveExtensionAwareEvaluationContextProviderUnitTests.java +++ b/src/test/java/org/springframework/data/spel/ReactiveExtensionAwareEvaluationContextProviderUnitTests.java @@ -21,6 +21,7 @@ import reactor.core.publisher.Mono; import reactor.test.StepVerifier; import java.util.Arrays; +import java.util.Collections; import java.util.concurrent.atomic.AtomicInteger; import org.junit.jupiter.api.BeforeEach; @@ -65,6 +66,32 @@ class ReactiveExtensionAwareEvaluationContextProviderUnitTests { assertThat(SecurityExpressionRoot.creationCounter).hasValue(1); } + @Test // GH-2392 + void shouldFilterImperativeExtensionCorrectly() { + + Expression expression = PARSER.parseExpression("unknownMethod('FOO')"); + ExpressionDependencies dependencies = ExpressionDependencies.discover(expression); + + ReactiveExtensionAwareEvaluationContextProvider provider = new ReactiveExtensionAwareEvaluationContextProvider( + Collections.singletonList(ExpressiveExtension.INSTANCE)); + + provider.getEvaluationContextLater(new Object[0], dependencies).as(StepVerifier::create) // + .expectNextCount(1).verifyComplete(); + } + + @Test // GH-2392 + void shouldFilterReactiveExtensionCorrectly() { + + Expression expression = PARSER.parseExpression("unknownMethod('FOO')"); + ExpressionDependencies dependencies = ExpressionDependencies.discover(expression); + + ReactiveExtensionAwareEvaluationContextProvider provider = new ReactiveExtensionAwareEvaluationContextProvider( + Collections.singletonList(SampleReactiveExtension.INSTANCE)); + + provider.getEvaluationContextLater(new Object[0], dependencies).as(StepVerifier::create) // + .expectNextCount(1).verifyComplete(); + } + @Test // DATACMNS-1108 void shouldLoadGenericExtensionOnly() {