Refactoring: moved FacebookErrorMessage in its own file/class
[facebook-utils] / src / test / java / de / juplo / facebook / exceptions / FacebookErrorMessageMappingTest.java
1 package de.juplo.facebook.exceptions;
2
3
4 import com.fasterxml.jackson.core.JsonProcessingException;
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
13 /**
14  * @author Kai Moritz
15  */
16 public class FacebookErrorMessageMappingTest
17 {
18   final String example =
19       "{" +
20           "\"error\":{" +
21               "\"message\":\"Message describing the error\"," +
22               "\"type\":\"OAuthException\"," +
23               "\"code\":190," +
24               "\"error_subcode\":460," +
25               "\"error_user_title\":\"A title\"," +
26               "\"error_user_msg\":\"A message\"," +
27               "\"fbtrace_id\":\"EJplcsCHuLu\"" +
28           "}" +
29       "}";
30
31
32   @Test
33   public void testSerialize() throws JsonProcessingException
34   {
35     FacebookErrorMessage error = new FacebookErrorMessage();
36     error.message = "Message describing the error";
37     error.type = Type.OAuthException.name();
38     error.code = 190;
39     error.subCode = 460;
40     error.userTitle = "A title";
41     error.userMessage = "A message";
42     error.traceId = "EJplcsCHuLu";
43
44     assertEquals(example, OBJECT_MAPPER.writeValueAsString(error));
45   }
46
47   @Test
48   public void testDeserialize() throws IOException
49   {
50     FacebookErrorMessage error =
51         OBJECT_MAPPER.readValue(example, FacebookErrorMessage.class);
52
53     assertEquals("Message describing the error", error.message);
54     assertEquals(Type.OAuthException.name(), error.type);
55     assertEquals(new Integer(190), error.code);
56     assertEquals(new Integer(460), error.subCode);
57     assertEquals("A title", error.userTitle);
58     assertEquals("A message", error.userMessage);
59     assertEquals("EJplcsCHuLu", error.traceId);
60   }
61 }