import data.Message; import org.glassfish.jersey.server.ResourceConfig; import org.glassfish.jersey.test.JerseyTest; import org.glassfish.jersey.test.TestProperties; import org.junit.Test; import resources.MessageResource; import javax.ws.rs.client.Entity; import javax.ws.rs.core.Application; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; public class MessageResourceTest extends JerseyTest { private int user1 = 1, user2 = 2; private Message message = new Message(); @Override public Application configure() { enable(TestProperties.LOG_TRAFFIC); enable(TestProperties.DUMP_ENTITY); return new ResourceConfig(MessageResource.class); } @Test public void testGetMessages(){ Response output = target("message/"+user1+"/"+user2).request().get(); assertEquals("Should return status 200", 200, output.getStatus()); assertEquals("application/json",output.getHeaderString("Content-type")); assertNotNull(output.getEntity()); } @Test public void testNewMessage(){ message.setUserId1(user1); message.setUserId2(user2); message.setMessageContent("Testing newMessage method"); Response output = target("message").request().post(Entity.entity(message, MediaType.APPLICATION_JSON_TYPE)); assertEquals("Should return status 200",200,output.getStatus()); assertEquals("Testing newMessage method",message.getMessageContent()); assertEquals("application/json",output.getHeaderString("Content-type")); } }