@Test
    @Configuration("{" +
            "  \"ttl\" : 2," +
            "  \"cachingResourcesSettingsEntries\" : [{\"statusCode\": \"*\", \"pathPattern\": \"*\", \"httpMethod\": \"*\"}]" +
            "}")
    public void testCachingUsingQueryString() throws Throwable {
        final String originalUri = "/some/cached-resource?foo=bar";
        PolicyTestRequest request = PolicyTestRequest.build(PolicyTestRequestType.GET, originalUri);
        // Request the original URI (including query string) - expect a cached response
        assertRequestIsCached(request);

        // Request with a different query string - expect an uncached response
        PolicyTestRequest differentQueryStringRequest = PolicyTestRequest.build(PolicyTestRequestType.GET, "/some/cached-resource?foo=different");
        Long differentQueryStringRequestResponse = doRequest(differentQueryStringRequest);
        Long originalRequestResponse = doRequest(request);
        assertNotEquals(originalRequestResponse, differentQueryStringRequestResponse);
    }
Verify that the query string is used as part of the cache key - expect
that requests with different query strings are treated as different, from
a caching perspective.
gateway/engine/policies/src/test/java/io/apiman/gateway/engine/policies/CachingResourcesPolicyTest.java