Search in sources :

Example 1 with StringBeanRuntimeDelegate

use of ee.jakarta.tck.ws.rs.common.provider.StringBeanRuntimeDelegate in project jaxrs-api by eclipse-ee4j.

the class JAXRSClientIT method getStringHeadersUsingHeaderDelegateTest.

/*
   * @testName: getStringHeadersUsingHeaderDelegateTest
   * 
   * @assertion_ids: JAXRS:JAVADOC:446; JAXRS:JAVADOC:455; JAXRS:JAVADOC:456;
   * JAXRS:SPEC:85; JAXRS:JAVADOC:427;
   * 
   * @test_Strategy: Get a string view of header values associated with the
   * message. The method converts the non-string header values to strings using
   * a RuntimeDelegate.HeaderDelegate
   * 
   * ClientRequestFilter.abortWith
   */
@Test
public void getStringHeadersUsingHeaderDelegateTest() throws Fault {
    final String TCK = "cts";
    final StringBean bean = new StringBean(TCK);
    ContextProvider provider = new ContextProvider() {

        @Override
        protected void checkFilterContext(ClientRequestContext context) throws Fault {
            MultivaluedMap<String, String> map;
            map = context.getStringHeaders();
            StringBuilder value = new StringBuilder();
            value.append(map.getFirst(TCK));
            Response r = Response.ok(value.toString()).build();
            context.abortWith(r);
        }
    };
    RuntimeDelegate delegate = RuntimeDelegate.getInstance();
    RuntimeDelegate.setInstance(new StringBeanRuntimeDelegate(delegate));
    try {
        Invocation invocation = buildBuilder(provider).header(TCK, bean).buildGet();
        Response response = invoke(invocation);
        String body = response.readEntity(String.class);
        assertContains(body, TCK);
    } finally {
        RuntimeDelegate.setInstance(delegate);
        StringBeanRuntimeDelegate.assertNotStringBeanRuntimeDelegate();
    }
}
Also used : ClientRequestContext(jakarta.ws.rs.client.ClientRequestContext) Response(jakarta.ws.rs.core.Response) StringBeanRuntimeDelegate(ee.jakarta.tck.ws.rs.common.provider.StringBeanRuntimeDelegate) Invocation(jakarta.ws.rs.client.Invocation) StringBean(ee.jakarta.tck.ws.rs.common.provider.StringBean) RuntimeDelegate(jakarta.ws.rs.ext.RuntimeDelegate) StringBeanRuntimeDelegate(ee.jakarta.tck.ws.rs.common.provider.StringBeanRuntimeDelegate) Test(org.junit.jupiter.api.Test)

Example 2 with StringBeanRuntimeDelegate

use of ee.jakarta.tck.ws.rs.common.provider.StringBeanRuntimeDelegate in project jaxrs-api by eclipse-ee4j.

the class JAXRSClientIT method getStringHeadersUsingHeaderDelegateTest.

/*
   * @testName: getStringHeadersUsingHeaderDelegateTest
   * 
   * @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 getStringHeadersUsingHeaderDelegateTest() 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(bean.get());
        assertContainsIgnoreCase(bean.get(), header, "Header", bean.get(), "has unexpected value", header);
        logMsg("#getStringHeaders contains expected values", JaxrsUtil.iterableToString(",", headers.entrySet()));
    } finally {
        RuntimeDelegate.setInstance(original);
        StringBeanRuntimeDelegate.assertNotStringBeanRuntimeDelegate();
    }
}
Also used : Response(jakarta.ws.rs.core.Response) StringBeanRuntimeDelegate(ee.jakarta.tck.ws.rs.common.provider.StringBeanRuntimeDelegate) StringBean(ee.jakarta.tck.ws.rs.common.provider.StringBean) RuntimeDelegate(jakarta.ws.rs.ext.RuntimeDelegate) StringBeanRuntimeDelegate(ee.jakarta.tck.ws.rs.common.provider.StringBeanRuntimeDelegate) Test(org.junit.jupiter.api.Test)

Example 3 with StringBeanRuntimeDelegate

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:849;
   * 
   * @test_Strategy: Get a message header as a single string value. Each single
   * header value is converted to String using a RuntimeDelegate.HeaderDelegate
   * or using its toString
   */
@Test
public void getHeaderStringUsingHeaderDelegateTest() throws Fault {
    StringBean bean = new StringBean("s3");
    RuntimeDelegate original = RuntimeDelegate.getInstance();
    RuntimeDelegate.setInstance(new StringBeanRuntimeDelegate(original));
    try {
        Response response = Response.ok().header(bean.get(), bean).build();
        String header = response.getHeaderString(bean.get());
        assertContainsIgnoreCase(header, bean.get(), "Header", bean.get(), "has unexpected value", header);
        logMsg("HeaderDelegate is used for header", bean.get());
    } finally {
        RuntimeDelegate.setInstance(original);
        StringBeanRuntimeDelegate.assertNotStringBeanRuntimeDelegate();
    }
}
Also used : Response(jakarta.ws.rs.core.Response) StringBeanRuntimeDelegate(ee.jakarta.tck.ws.rs.common.provider.StringBeanRuntimeDelegate) StringBean(ee.jakarta.tck.ws.rs.common.provider.StringBean) RuntimeDelegate(jakarta.ws.rs.ext.RuntimeDelegate) StringBeanRuntimeDelegate(ee.jakarta.tck.ws.rs.common.provider.StringBeanRuntimeDelegate) Test(org.junit.jupiter.api.Test)

Example 4 with StringBeanRuntimeDelegate

use of ee.jakarta.tck.ws.rs.common.provider.StringBeanRuntimeDelegate in project jaxrs-api by eclipse-ee4j.

the class ResponseTest 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 Response.ok().build();
}
Also used : StringBeanRuntimeDelegate(ee.jakarta.tck.ws.rs.common.provider.StringBeanRuntimeDelegate) RuntimeDelegate(jakarta.ws.rs.ext.RuntimeDelegate) StringBeanRuntimeDelegate(ee.jakarta.tck.ws.rs.common.provider.StringBeanRuntimeDelegate) Path(jakarta.ws.rs.Path) GET(jakarta.ws.rs.GET)

Example 5 with StringBeanRuntimeDelegate

use of ee.jakarta.tck.ws.rs.common.provider.StringBeanRuntimeDelegate in project jaxrs-api by eclipse-ee4j.

the class ResponseTest 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() {
    Response response = null;
    RuntimeDelegate stringBeanDelegate = RuntimeDelegate.getInstance();
    if (stringBeanDelegate instanceof StringBeanRuntimeDelegate) {
        RuntimeDelegate original = ((StringBeanRuntimeDelegate) stringBeanDelegate).getOriginal();
        RuntimeDelegate.setInstance(original);
        response = Response.ok().build();
    } else
        response = Response.status(Status.NO_CONTENT).build();
    return response;
}
Also used : Response(jakarta.ws.rs.core.Response) StringBeanRuntimeDelegate(ee.jakarta.tck.ws.rs.common.provider.StringBeanRuntimeDelegate) RuntimeDelegate(jakarta.ws.rs.ext.RuntimeDelegate) StringBeanRuntimeDelegate(ee.jakarta.tck.ws.rs.common.provider.StringBeanRuntimeDelegate) Path(jakarta.ws.rs.Path) GET(jakarta.ws.rs.GET)

Aggregations

StringBeanRuntimeDelegate (ee.jakarta.tck.ws.rs.common.provider.StringBeanRuntimeDelegate)9 RuntimeDelegate (jakarta.ws.rs.ext.RuntimeDelegate)9 Response (jakarta.ws.rs.core.Response)6 StringBean (ee.jakarta.tck.ws.rs.common.provider.StringBean)5 Test (org.junit.jupiter.api.Test)5 GET (jakarta.ws.rs.GET)4 Path (jakarta.ws.rs.Path)4 ClientRequestContext (jakarta.ws.rs.client.ClientRequestContext)2 Invocation (jakarta.ws.rs.client.Invocation)2 ResponseBuilder (jakarta.ws.rs.core.Response.ResponseBuilder)1