Add tests for containsHeaderString
diff --git a/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/api/client/clientrequestcontext/JAXRSClientIT.java b/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/api/client/clientrequestcontext/JAXRSClientIT.java index 0cf291d..12f1fb2 100644 --- a/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/api/client/clientrequestcontext/JAXRSClientIT.java +++ b/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/api/client/clientrequestcontext/JAXRSClientIT.java
@@ -861,6 +861,59 @@ } /* + * @testName: containsHeaderStringTest + * + * @assertion_ids: JAXRS:JAVADOC:???; + * + * @test_Strategy: Check if the specified headers a specified value. + * + * ClientRequestFilter.abortWith + */ + @Test + public void containsHeaderStringTest() throws Fault { + ContextProvider provider = new ContextProvider() { + @Override + protected void checkFilterContext(ClientRequestContext context) throws Fault { + boolean testCacheControlSingle = context.containsHeaderString("cache-control", "no-store"::equalsIgnoreCase); + boolean testCacheControlMultiple = context.containsHeaderString("CACHE-CONTROL", ",", "no-transform"::equalsIgnoreCase); + boolean testCacheControlWhiteSpaceFail = !(context.containsHeaderString("CACHE-CONTROL", ",", "Max-Age"::equalsIgnoreCase)); + boolean testCacheControlCaseFail = !(context.containsHeaderString("cache-control", ",", "no-transform"::equals)); + boolean testCacheControlSeparator = context.containsHeaderString("cache-control2", ";", "no-transform"::equalsIgnoreCase); + boolean testCacheControlSeparatorFail = !(context.containsHeaderString("cache-control2", ",", "no-transform"::equalsIgnoreCase)); + String entity = "testCache-control-single = " + + testCacheControlSingle + + ", testCache-control-multiple = " + + testCacheControlMultiple + + ", testCache-control-fail-white-space = " + + testCacheControlWhiteSpaceFail + + ", testCache-control-fail-case = " + + testCacheControlCaseFail + + ", testCache-control-separator = " + + testCacheControlSeparator + + ", testCache-control-fail-separator = " + + testCacheControlSeparatorFail; + Response r = Response.ok(entity).build(); + context.abortWith(r); + } + }; + Invocation invocation = buildBuilder(provider) + .header("cache-control", "no-store") + .header("cache-control", "{Max - Age, no-transform}") + .header("cache-control2", "{no-store;no-transform}") + .buildGet(); + Response response = invoke(invocation); + + String entity = response.readEntity(String.class); + assertTrue(entity.contains("testCache-control-single = true")); + assertTrue(entity.contains("testCache-control-multiple = true")); + assertTrue(entity.contains("testCache-control-fail-white-space = true")); + assertTrue(entity.contains("testCache-control-fail-case = true")); + assertTrue(entity.contains("testCache-control-separator = true")); + assertTrue(entity.contains("testCache-control-fail-separator = true")); + } + + + /* * @testName: getHeaderStringTest * * @assertion_ids: JAXRS:JAVADOC:440; JAXRS:JAVADOC:455; JAXRS:JAVADOC:456;