diff --git a/src/main/java/com/github/fridujo/rabbitmq/mock/exchange/MockTopicExchange.java b/src/main/java/com/github/fridujo/rabbitmq/mock/exchange/MockTopicExchange.java index 035f0d9..286af38 100644 --- a/src/main/java/com/github/fridujo/rabbitmq/mock/exchange/MockTopicExchange.java +++ b/src/main/java/com/github/fridujo/rabbitmq/mock/exchange/MockTopicExchange.java @@ -31,7 +31,7 @@ protected boolean match(BindConfiguration bindConfiguration, String routingKey, String bindingRegex = bindConfiguration.bindingKey .replace("*", "([^\\.]+)") .replace(".#", "(\\.(.*))?") - .replace("#", "(.+)"); + .replace("#", "(.*)"); return routingKey.matches(bindingRegex); } } diff --git a/src/test/java/com/github/fridujo/rabbitmq/mock/exchange/ExchangeTest.java b/src/test/java/com/github/fridujo/rabbitmq/mock/exchange/ExchangeTest.java index 838bfd1..bde3aca 100644 --- a/src/test/java/com/github/fridujo/rabbitmq/mock/exchange/ExchangeTest.java +++ b/src/test/java/com/github/fridujo/rabbitmq/mock/exchange/ExchangeTest.java @@ -112,6 +112,14 @@ class TopicTest { "lazy.#, lazy.pink", "lazy.#, lazy.pink.rabbit", "some.#.key.*, some.stuff.key.1", + "#, ''", + "#, *", + "#, #", + "#, some-key", + "#, some.stuff.key.1", + "#, *.orange.*", + "#, lazy.#", + "#.key.*, some.stuff.key.1", }) void binding_key_matches_routing_key(String bindingKey, String routingKey) { MultipleReceiverExchange topicExchange = (MultipleReceiverExchange) mockExchangeFactory.build("test", BuiltinExchangeType.TOPIC.getType(), empty(), mock(ReceiverRegistry.class));