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 4282fe13..c51fc33b 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
@@ -942,4 +942,35 @@ private void checkGETStatusCodeWithAwait(final String request, final Integer sta
private void checkGETBodyWithAwait(final String requestUrl, final String body) {
await().atMost(TEN_SECONDS).until(() -> when().get(requestUrl).then().extract().body().asString(), equalTo(body));
}
+ /**
+ * Test for hookHandleSearch with listener storage path and valid query param.
+ * eg. register / unregister: http://localhost:7012/gateleen/server/listenertest/_hooks/listeners/listener/1
+ * requestUrl: http://localhost:7012/gateleen/server/listenertest/listener/test?q=testQuery
+ */
+ @Test
+ public void testHookHandleSearch_ListenerPathWithValidQueryParam(TestContext context) {
+ Async async = context.async();
+ delete();
+ initRoutingRules();
+
+ String queryParam = "testQuery";
+ String listenerPath = "/_hooks/listeners";
+ String requestUrl = requestUrlBase + listenerPath + "?q=" + queryParam;
+
+ // Register a listener
+ TestUtils.registerListener(requestUrlBase + listenerPath, targetUrlBase, new String[]{"GET", "POST"}, null);
+
+ // Send GET request
+ given().queryParam("q", queryParam)
+ .when().get(requestUrl)
+ .then().assertThat().statusCode(200);
+
+ // Validate the response
+ checkGETStatusCodeWithAwait(requestUrl, 200);
+
+ TestUtils.unregisterListener(requestUrlBase + listenerPath);
+
+ async.complete();
+ }
+
}