From bc53b23f335c57d84d93513e5f5021764c74f974 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Sat, 23 Apr 2016 08:54:43 +0200 Subject: [PATCH] Added matching for headers as Patterns --- .../messaging/camel/StubRunnerCamelPredicate.groovy | 7 ++++++- .../StubRunnerIntegrationMessageSelector.groovy | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/stub-runner/stub-runner-messaging/stub-runner-messaging-camel/src/main/groovy/io/codearte/accurest/stubrunner/messaging/camel/StubRunnerCamelPredicate.groovy b/stub-runner/stub-runner-messaging/stub-runner-messaging-camel/src/main/groovy/io/codearte/accurest/stubrunner/messaging/camel/StubRunnerCamelPredicate.groovy index 5c5834807f..3ab58d6d8e 100644 --- a/stub-runner/stub-runner-messaging/stub-runner-messaging-camel/src/main/groovy/io/codearte/accurest/stubrunner/messaging/camel/StubRunnerCamelPredicate.groovy +++ b/stub-runner/stub-runner-messaging/stub-runner-messaging-camel/src/main/groovy/io/codearte/accurest/stubrunner/messaging/camel/StubRunnerCamelPredicate.groovy @@ -12,6 +12,8 @@ import io.codearte.accurest.util.JsonToJsonPathsConverter import org.apache.camel.Exchange import org.apache.camel.Predicate +import java.util.regex.Pattern + /** * Passes through a message that matches the one defined in the DSL * @@ -52,7 +54,10 @@ class StubRunnerCamelPredicate implements Predicate { return groovyDsl.input.messageHeaders.entries.every { String name = it.name Object value = it.clientValue - return headers.get(name) == value + Object valueInHeader = headers.get(name) + return value instanceof Pattern ? + value.matcher(valueInHeader.toString()).matches() : + valueInHeader == value } } } diff --git a/stub-runner/stub-runner-messaging/stub-runner-messaging-integration/src/main/groovy/io/codearte/accurest/stubrunner/messaging/integration/StubRunnerIntegrationMessageSelector.groovy b/stub-runner/stub-runner-messaging/stub-runner-messaging-integration/src/main/groovy/io/codearte/accurest/stubrunner/messaging/integration/StubRunnerIntegrationMessageSelector.groovy index 976edb9909..1184f0acef 100644 --- a/stub-runner/stub-runner-messaging/stub-runner-messaging-integration/src/main/groovy/io/codearte/accurest/stubrunner/messaging/integration/StubRunnerIntegrationMessageSelector.groovy +++ b/stub-runner/stub-runner-messaging/stub-runner-messaging-integration/src/main/groovy/io/codearte/accurest/stubrunner/messaging/integration/StubRunnerIntegrationMessageSelector.groovy @@ -12,6 +12,8 @@ import io.codearte.accurest.util.JsonToJsonPathsConverter import org.springframework.integration.core.MessageSelector import org.springframework.messaging.Message +import java.util.regex.Pattern + /** * Passes through a message that matches the one defined in the DSL * @@ -52,7 +54,10 @@ class StubRunnerIntegrationMessageSelector implements MessageSelector { return groovyDsl.input.messageHeaders.entries.every { String name = it.name Object value = it.clientValue - return headers.get(name) == value + Object valueInHeader = headers.get(name) + return value instanceof Pattern ? + value.matcher(valueInHeader.toString()).matches() : + valueInHeader == value } } }