diff --git a/gateleen-test/src/test/java/org/swisspush/gateleen/TestUtils.java b/gateleen-test/src/test/java/org/swisspush/gateleen/TestUtils.java index 2be56b88..b2fef8f7 100644 --- a/gateleen-test/src/test/java/org/swisspush/gateleen/TestUtils.java +++ b/gateleen-test/src/test/java/org/swisspush/gateleen/TestUtils.java @@ -8,10 +8,8 @@ import org.swisspush.gateleen.hook.HookHandler; import org.swisspush.gateleen.hook.HookTriggerType; -import java.util.Arrays; -import java.util.Map; +import java.util.*; import java.util.Map.Entry; -import java.util.Set; import java.util.regex.Pattern; import static org.awaitility.Awaitility.await; @@ -365,9 +363,29 @@ public static void registerListener(final String requestUrl, final String target public static void registerListener(final String requestUrl, final String target, String[] methods, String filter, Integer queueExpireTime, Map staticHeaders, HookTriggerType type, String headersFilter) { + registerListener(requestUrl, target, methods, filter, queueExpireTime, staticHeaders, type, headersFilter, null); + } + + /** + * Registers a listener with a filter, static headers, a queue header and a event trigger. + * + * @param requestUrl + * @param target + * @param methods + * @param filter + * @param queueExpireTime + * @param staticHeaders + * @param queueHeader + */ + public static void registerListener(final String requestUrl, final String target, String[] methods, String filter, + Integer queueExpireTime, Map staticHeaders, HookTriggerType type, + String headersFilter, String queueHeader) { JsonObject route = new JsonObject(); route.put("destination", target); + if(queueHeader != null) { + route.put("headers", new JsonArray(List.of(new JsonObject().put("header", "x-queue").put("value", queueHeader)))); + } if(methods != null){ route.put("methods", new JsonArray(Arrays.asList(methods))); } diff --git a/gateleen-test/src/test/java/org/swisspush/gateleen/hook/ListenerTest.java b/gateleen-test/src/test/java/org/swisspush/gateleen/hook/ListenerTest.java index b761c0fd..4a858aab 100755 --- a/gateleen-test/src/test/java/org/swisspush/gateleen/hook/ListenerTest.java +++ b/gateleen-test/src/test/java/org/swisspush/gateleen/hook/ListenerTest.java @@ -662,7 +662,6 @@ public void testDeadLock(TestContext context) { } @Test - @Ignore public void testHookQueueExpiryOverride(TestContext context) { // Prepare Environment // ---- @@ -681,7 +680,7 @@ public void testHookQueueExpiryOverride(TestContext context) { String requestUrl = sourceUrl + TestUtils.getHookListenersUrlSuffix() + "testservice" + "/" + 1; String targetUrl = targetUrlBase + "/result"; - String queueName = HookHandler.LISTENER_QUEUE_PREFIX + "-" + hookHandler.getUniqueListenerId(SERVER_ROOT + requestUrl); + String queueName = "hook-queue-expiry-test"; String putRequest = sourceUrl + "/test1"; String putTarget = targetUrl + "/test1"; @@ -692,7 +691,8 @@ public void testHookQueueExpiryOverride(TestContext context) { // ---- // register Listener - TestUtils.registerListener(requestUrl, targetUrl, null, null, 5); + TestUtils.registerListener(requestUrl, targetUrl, null, null, 5, + null, null, null, queueName); // lock queue String lockRequestUrl = "queuing/locks/" + queueName;