Implemented new exception AccessTokenRequiredException
[facebook-utils] / src / test / java / de / juplo / facebook / client / GraphApiErrorHandlerTest.java
index 15dfba3..3917404 100644 (file)
@@ -1,5 +1,6 @@
 package de.juplo.facebook.client;
 
+import de.juplo.facebook.exceptions.AccessTokenRequiredException;
 import de.juplo.facebook.exceptions.UnsupportedGetRequestException;
 import de.juplo.facebook.exceptions.UnexpectedErrorException;
 import de.juplo.facebook.exceptions.RateExceededException;
@@ -179,6 +180,29 @@ public class GraphApiErrorHandlerTest
     }
   }
 
+  @Test
+  public void testError104()
+  {
+    log.info("testError104");
+
+    requestFactory.setBody("{\"error\":{\"message\":\"An access token is required to request this resource.\",\"type\":\"OAuthException\",\"code\":104,\"fbtrace_id\":\"E2Jjkj5++LL\"}}");
+
+    try
+    {
+      clientTemplate.getForObject("ANY", SOME.class);
+      fail("The expected exception was not thrown");
+    }
+    catch(AccessTokenRequiredException e)
+    {
+      log.debug("{}", e.toString());
+      assertEquals("invalid_request", e.getOAuth2ErrorCode());
+      assertEquals(new Integer(104), e.getCode());
+      assertEquals("An access token is required to request this resource.", e.getMessage());
+      assertEquals("OAuthException", e.getType());
+      assertEquals("E2Jjkj5++LL", e.getTraceId());
+    }
+  }
+
   @Test
   public void testError613()
   {