Package com.thoughtworks.inproctester.jersey.tests

Source Code of com.thoughtworks.inproctester.jersey.tests.InProcessJerseyTest

package com.thoughtworks.inproctester.jersey.tests;

import com.sun.jersey.api.client.ClientResponse;
import com.sun.jersey.api.client.WebResource;
import com.sun.jersey.api.client.config.ClientConfig;
import com.sun.jersey.api.client.config.DefaultClientConfig;
import com.sun.jersey.test.framework.JerseyTest;
import com.sun.jersey.test.framework.WebAppDescriptor;
import org.codehaus.jackson.JsonNode;
import org.codehaus.jackson.jaxrs.JacksonJsonProvider;
import org.codehaus.jackson.map.ObjectMapper;
import org.junit.Assert;
import org.junit.Test;

import javax.ws.rs.core.MediaType;
import java.awt.*;

public class InProcessJerseyTest extends JerseyTest {


    public static ClientConfig loadClientConfig() {
        ClientConfig clientConfig = new DefaultClientConfig();
        clientConfig.getClasses().add(JacksonJsonProvider.class);
        return clientConfig;
    }


    private ObjectMapper objectMapper = new ObjectMapper();

    public InProcessJerseyTest() throws Exception {
        super(new WebAppDescriptor.Builder("com.thoughtworks.inproctester.jersey.testapp")
                .clientConfig(loadClientConfig())
                .servletPath("/*")
//                .initParam("com.sun.jersey.config.feature.Redirect", "true")
                .initParam("com.sun.jersey.api.json.POJOMappingFeature", "true")
                .contextPath("/jersey").build());
    }


    @Test
    public void shouldAddResource() throws Exception {
        WebResource webResource = resource();
        JsonNode testResource = objectMapper.readValue("{\"name\":\"test\"}", JsonNode.class);
        ClientResponse createResponse = webResource.path("/").type(MediaType.APPLICATION_JSON).entity(testResource).post(ClientResponse.class);

        Assert.assertEquals(201, createResponse.getStatus());
        Assert.assertEquals(testResource, createResponse.getEntity(JsonNode.class));

        JsonNode testResourceFromServer = webResource.uri(createResponse.getLocation()).accept(MediaType.APPLICATION_JSON).get(JsonNode.class);
        Assert.assertEquals(testResource, testResourceFromServer);
    }


}
TOP

Related Classes of com.thoughtworks.inproctester.jersey.tests.InProcessJerseyTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.