package com.alibaba.fastjson.support.jaxrs; import org.glassfish.jersey.client.ClientConfig; import org.glassfish.jersey.server.ResourceConfig; import org.glassfish.jersey.test.JerseyTest; import org.glassfish.jersey.test.TestProperties; import org.junit.Test; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.core.Application; import java.util.Date; import static org.junit.Assert.*; public class TestIssue885 extends JerseyTest { @Path("user") public static class UserResource { @GET public User getUser() { User user = new User(); user.setId(12345L); user.setName("smallnest"); user.setCreatedOn(new Date()); return user; } } @Override protected void configureClient(ClientConfig config) { config.register(new FastJsonFeature()).register(FastJsonProvider.class); } @Override protected Application configure() { enable(TestProperties.LOG_TRAFFIC); enable(TestProperties.DUMP_ENTITY); ResourceConfig config = new ResourceConfig(); //config.register(new FastJsonFeature()).register(FastJsonProvider.class); config.register(new FastJsonFeature()).register(new FastJsonProvider().setPretty(true)); config.packages("com.alibaba.fastjson"); return config; } @Test public void testWriteTo() { final String user = target("user").request().accept("application/json").get(String.class); // {"createdOn":1412036891919,"id":12345,"name":"smallnest"}] assertTrue(user.indexOf("createdOn") > 0); assertTrue(user.indexOf("\"id\":12345") > 0); assertTrue(user.indexOf("\"name\":\"smallnest\"") > 0); } @Test public void testWriteToWithPretty() { //System.out.println("@@@@@Test Pretty"); final String user = target("user").queryParam("pretty", "true").request().accept("application/json").get(String.class); // {"createdOn":1412036891919,"id":12345,"name":"smallnest"}] assertTrue(user.indexOf("createdOn") > 0); assertTrue(user.indexOf("\"id\":12345") > 0); assertTrue(user.indexOf("\"name\":\"smallnest\"") > 0); //response does not contain a return character //assertTrue(user.indexOf("\n\t") > 0); } @Test public void testReadFrom() { final User user = target("user").request().accept("application/json").get(User.class); assertNotNull(user); assertNotNull(user.getCreatedOn()); assertEquals(user.getId().longValue(), 12345L); assertEquals(user.getName(), "smallnest"); } }