View Javadoc
1   package de.juplo.facebook.exceptions;
2   
3   import com.fasterxml.jackson.core.JsonProcessingException;
4   import de.juplo.facebook.exceptions.GraphApiException.FacebookErrorMessage;
5   import static de.juplo.facebook.exceptions.GraphApiException.OBJECT_MAPPER;
6   import de.juplo.facebook.exceptions.GraphApiException.Type;
7   import java.io.IOException;
8   import org.junit.Test;
9   import static org.junit.Assert.assertEquals;
10  
11  /**
12   * @author Kai Moritz
13   */
14  public class FacebookErrorMessageMappingTest
15  {
16    final String example =
17        "{" +
18            "\"error\":{" +
19                "\"message\":\"Message describing the error\"," +
20                "\"type\":\"OAuthException\"," +
21                "\"code\":190," +
22                "\"error_subcode\":460," +
23                "\"error_user_title\":\"A title\"," +
24                "\"error_user_msg\":\"A message\"," +
25                "\"fbtrace_id\":\"EJplcsCHuLu\"" +
26            "}" +
27        "}";
28  
29  
30    @Test
31    public void testSerialize() throws JsonProcessingException
32    {
33      FacebookErrorMessage error = new FacebookErrorMessage();
34      error.message = "Message describing the error";
35      error.type = Type.OAuthException.name();
36      error.code = 190;
37      error.subCode = 460;
38      error.userTitle = "A title";
39      error.userMessage = "A message";
40      error.traceId = "EJplcsCHuLu";
41  
42      assertEquals(example, OBJECT_MAPPER.writeValueAsString(error));
43    }
44  
45    @Test
46    public void testDeserialize() throws IOException
47    {
48      FacebookErrorMessage error =
49          OBJECT_MAPPER.readValue(example, FacebookErrorMessage.class);
50  
51      assertEquals("Message describing the error", error.message);
52      assertEquals(Type.OAuthException.name(), error.type);
53      assertEquals(new Integer(190), error.code);
54      assertEquals(new Integer(460), error.subCode);
55      assertEquals("A title", error.userTitle);
56      assertEquals("A message", error.userMessage);
57      assertEquals("EJplcsCHuLu", error.traceId);
58    }
59  }