package org.spotter.shared.service; import org.junit.Assert; import org.junit.Test; /** * Tests the {@link SpotterServiceResponse} class. */ public class SpotterServiceResponseTest { /** * Tests default constructor and values. */ @Test public void testNullPayload() { SpotterServiceResponse<Object> ssr = new SpotterServiceResponse<Object>(); Object obj = ssr.getPayload(); Assert.assertEquals(obj, null); String s = ssr.getPayload(String.class); Assert.assertEquals(s, null); } /** * Tests second constructor and the values. */ @Test public void testSimplePayload() { Object obj = new Object(); SpotterServiceResponse<Object> ssr = new SpotterServiceResponse<Object>(obj, ResponseStatus.OK); Object obj2 = ssr.getPayload(); Assert.assertEquals(obj, obj2); String s = "test"; ssr = new SpotterServiceResponse<Object>(s, ResponseStatus.OK); Object s2 = ssr.getPayload(); Assert.assertEquals(s, s2); } /** * Tests set+get status. */ @Test public void testStatus() { SpotterServiceResponse<Object> ssr = new SpotterServiceResponse<Object>(); ssr.setStatus(ResponseStatus.INVALID_STATE); ResponseStatus rs = ssr.getStatus(); Assert.assertEquals(ResponseStatus.INVALID_STATE, rs); ssr.setStatus(ResponseStatus.OK); rs = ssr.getStatus(); Assert.assertEquals(ResponseStatus.OK, rs); } /** * Tests the error message setter + getter. */ @Test public void testErrorMessage() { SpotterServiceResponse<Object> ssr = new SpotterServiceResponse<Object>(); ssr.setErrorMessage("error"); String rs = ssr.getErrorMessage(); Assert.assertEquals("error", rs); ssr.setErrorMessage("error2"); rs = ssr.getErrorMessage(); Assert.assertEquals("error2", rs); } /** * Tests the third constructor with an error message. */ @Test public void testErrorPayload() { SpotterServiceResponse<Object> ssr = new SpotterServiceResponse<Object>("payload", ResponseStatus.INVALID_STATE, "error"); String rs = ssr.getErrorMessage(); Assert.assertEquals("error", rs); rs = ssr.getPayload(String.class); Assert.assertEquals("payload", rs); } /** * Tests the invalid converting of the payload. */ @Test(expected=RuntimeException.class) public void testInvalidPayloadConverting() { SpotterServiceResponse<Object> ssr = new SpotterServiceResponse<Object>("payload", ResponseStatus.INVALID_STATE, "error"); int rs = ssr.getPayload(Integer.class); Assert.assertEquals(0, rs); } }