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 } } }