use of ee.jakarta.tck.ws.rs.common.provider.StringBeanRuntimeDelegate in project jaxrs-api by eclipse-ee4j.
the class JAXRSClientIT method getStringHeadersUsingToStringTest.
/*
* @testName: getStringHeadersUsingToStringTest
*
* @assertion_ids: JAXRS:JAVADOC:859;
*
* @test_Strategy: Get view of the response headers and their string values.
* Each single header value is converted to String using a
* RuntimeDelegate.HeaderDelegate or using its toString
*/
@Test
public void getStringHeadersUsingToStringTest() throws Fault {
RuntimeDelegate original = RuntimeDelegate.getInstance();
RuntimeDelegate.setInstance(new StringBeanRuntimeDelegate(original));
try {
StringBuilder builder = new StringBuilder("s1");
StringBuffer buffer = new StringBuffer("s2");
StringBean bean = new StringBean("s3");
Response response = Response.ok().header(builder.toString(), builder).header(buffer.toString(), buffer).header(bean.get(), bean).build();
MultivaluedMap<String, String> headers = response.getStringHeaders();
String header = headers.getFirst(builder.toString());
assertContainsIgnoreCase(header, builder.toString(), "Header", builder, "has unexpected value", header);
header = headers.getFirst(buffer.toString());
assertContainsIgnoreCase(header, buffer.toString(), "Header", builder, "has unexpected value", header);
logMsg("#getStringHeaders contains expected values", JaxrsUtil.iterableToString(",", headers.entrySet()));
} finally {
RuntimeDelegate.setInstance(original);
StringBeanRuntimeDelegate.assertNotStringBeanRuntimeDelegate();
}
}
use of ee.jakarta.tck.ws.rs.common.provider.StringBeanRuntimeDelegate in project jaxrs-api by eclipse-ee4j.
the class Resource method setStringBeanRuntime.
// For the methods that checks for the header delegate this is the way
// to add header delegate by switching runtimedelegate
// As long as the runtime delegate is one only for whole classloader
@Path("setstringbeanruntime")
@GET
public Response setStringBeanRuntime() {
RuntimeDelegate original = RuntimeDelegate.getInstance();
if (!(original instanceof StringBeanRuntimeDelegate)) {
StringBeanRuntimeDelegate sbrd = new StringBeanRuntimeDelegate(original);
RuntimeDelegate.setInstance(sbrd);
}
return createResponseWithHeader().build();
}
use of ee.jakarta.tck.ws.rs.common.provider.StringBeanRuntimeDelegate in project jaxrs-api by eclipse-ee4j.
the class JAXRSClientIT method getHeaderStringUsingHeaderDelegateTest.
/*
* @testName: getHeaderStringUsingHeaderDelegateTest
*
* @assertion_ids: JAXRS:JAVADOC:440; JAXRS:JAVADOC:455; JAXRS:JAVADOC:456;
* JAXRS:SPEC:85; JAXRS:JAVADOC:427;
*
* @test_Strategy: Get a message header as a single string value. Each single
* header value is converted to String using a RuntimeDelegate.HeaderDelegate.
*
* ClientRequestFilter.abortWith
*/
@Test
public void getHeaderStringUsingHeaderDelegateTest() throws Fault {
final String name = "BEAN";
final StringBean bean = new StringBean(name);
ContextProvider provider = new ContextProvider() {
@Override
protected void checkFilterContext(ClientRequestContext context) throws Fault {
String value = context.getHeaderString(name);
Response r = Response.ok(value).build();
context.abortWith(r);
}
};
RuntimeDelegate original = RuntimeDelegate.getInstance();
RuntimeDelegate.setInstance(new StringBeanRuntimeDelegate(original));
try {
Invocation invocation = buildBuilder(provider).header(name, bean).buildGet();
Response response = invoke(invocation);
String body = response.readEntity(String.class);
assertContains(name.toLowerCase(), body.toLowerCase());
} finally {
RuntimeDelegate.setInstance(original);
StringBeanRuntimeDelegate.assertNotStringBeanRuntimeDelegate();
}
}
use of ee.jakarta.tck.ws.rs.common.provider.StringBeanRuntimeDelegate in project jaxrs-api by eclipse-ee4j.
the class Resource method setOriginalRuntime.
// We need to switch back to the original runtime delegate since
// we cannot be sure what happen when the war with our runtimedelegate gets
// undeployed
@Path("setoriginalruntime")
@GET
public Response setOriginalRuntime() {
ResponseBuilder builder = createResponseWithHeader();
RuntimeDelegate stringBeanDelegate = RuntimeDelegate.getInstance();
if (stringBeanDelegate instanceof StringBeanRuntimeDelegate) {
RuntimeDelegate original = ((StringBeanRuntimeDelegate) stringBeanDelegate).getOriginal();
RuntimeDelegate.setInstance(original);
} else
builder = builder.status(Status.NO_CONTENT);
return builder.build();
}
Aggregations