The types of the exeptions are now mapped to an enum
[facebook-errors] / src / test / java / de / juplo / facebook / exceptions / FacebookErrorMessageMappingTest.java
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 }