X-Git-Url: https://juplo.de/gitweb/?p=facebook-utils;a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fde%2Fjuplo%2Ffacebook%2Fclient%2FGraphApiErrorHandlerTest.java;h=c9921fae90be569393aab11edd5c13ee638109b1;hp=3917404dab62c9c21e9c0abb0cbdc363e825b21a;hb=24361a39e7ec511fd621c0fee59263e70ab0c2c9;hpb=8c94038f0ae450c0487867b444485fdb36f7acc7 diff --git a/src/test/java/de/juplo/facebook/client/GraphApiErrorHandlerTest.java b/src/test/java/de/juplo/facebook/client/GraphApiErrorHandlerTest.java index 3917404..c9921fa 100644 --- a/src/test/java/de/juplo/facebook/client/GraphApiErrorHandlerTest.java +++ b/src/test/java/de/juplo/facebook/client/GraphApiErrorHandlerTest.java @@ -1,10 +1,12 @@ package de.juplo.facebook.client; import de.juplo.facebook.exceptions.AccessTokenRequiredException; +import de.juplo.facebook.exceptions.CallbackVerificationFailedException; import de.juplo.facebook.exceptions.UnsupportedGetRequestException; import de.juplo.facebook.exceptions.UnexpectedErrorException; import de.juplo.facebook.exceptions.RateExceededException; import de.juplo.facebook.exceptions.GraphApiException; +import de.juplo.facebook.exceptions.GraphApiException.Type; import de.juplo.facebook.exceptions.UnknownErrorException; import de.juplo.facebook.exceptions.PageMigratedException; import de.juplo.facebook.exceptions.UnmappedErrorException; @@ -83,7 +85,7 @@ public class GraphApiErrorHandlerTest assertEquals("invalid_request", e.getOAuth2ErrorCode()); assertEquals(new Integer(1), e.getCode()); assertEquals("An unknown error has occurred.", e.getMessage()); - assertEquals("OAuthException", e.getType()); + assertEquals(Type.OAuthException, e.getType()); } } @@ -114,7 +116,7 @@ public class GraphApiErrorHandlerTest assertEquals("invalid_request", e.getOAuth2ErrorCode()); assertEquals(new Integer(2), e.getCode()); assertEquals("An unexpected error has occurred. Please retry your request later.", e.getMessage()); - assertEquals("OAuthException", e.getType()); + assertEquals(Type.OAuthException, e.getType()); } } @@ -145,7 +147,7 @@ public class GraphApiErrorHandlerTest assertEquals("invalid_request", e.getOAuth2ErrorCode()); assertEquals(new Integer(21), e.getCode()); assertEquals("(#21) Page ID 590408587650316 was migrated to page ID 1421620791415603. Please update your API calls to the new ID", e.getMessage()); - assertEquals("OAuthException", e.getType()); + assertEquals(Type.OAuthException, e.getType()); } } @@ -176,7 +178,7 @@ public class GraphApiErrorHandlerTest assertEquals("invalid_request", e.getOAuth2ErrorCode()); assertEquals(new Integer(100), e.getCode()); assertEquals("Unsupported get request.", e.getMessage()); - assertEquals("GraphMethodException", e.getType()); + assertEquals(Type.GraphMethodException, e.getType()); } } @@ -198,7 +200,7 @@ public class GraphApiErrorHandlerTest 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(Type.OAuthException, e.getType()); assertEquals("E2Jjkj5++LL", e.getTraceId()); } } @@ -230,7 +232,28 @@ public class GraphApiErrorHandlerTest assertEquals("invalid_request", e.getOAuth2ErrorCode()); assertEquals(new Integer(613), e.getCode()); assertEquals("(#613) Calls to stream have exceeded the rate of 600 calls per 600 seconds.", e.getMessage()); - assertEquals("OAuthException", e.getType()); + assertEquals(Type.OAuthException, e.getType()); + } + } + + @Test + public void testError2200() + { + requestFactory.setBody("{\"error\":{\"message\":\"(#2200) callback verification failed: \",\"type\":\"OAuthException\",\"code\":2200,\"fbtrace_id\":\"ESLjoZKvPXg\"}}"); + + try + { + clientTemplate.getForObject("ANY", SOME.class); + fail("The expected exception was not thrown"); + } + catch(CallbackVerificationFailedException e) + { + log.debug("{}", e.toString()); + assertEquals("invalid_request", e.getOAuth2ErrorCode()); + assertEquals(new Integer(2200), e.getCode()); + assertEquals("(#2200) callback verification failed: ", e.getMessage()); + assertEquals(Type.OAuthException, e.getType()); + assertEquals("ESLjoZKvPXg", e.getTraceId()); } } @@ -245,7 +268,7 @@ public class GraphApiErrorHandlerTest " \"error\":\n" + " {\n" + " \"message\": \"This error does not exist.\",\n" + - " \"type\": \"NonexistentException\",\n" + + " \"type\": \"NonexistentTypeException\",\n" + " \"code\": 999999999\n" + " }\n" + "}"); @@ -261,7 +284,13 @@ public class GraphApiErrorHandlerTest assertEquals("invalid_request", e.getOAuth2ErrorCode()); assertEquals(new Integer(999999999), e.getCode()); assertEquals("This error does not exist.", e.getMessage()); - assertEquals("NonexistentException", e.getType()); + try + { + Type type = e.getType(); + log.error("unknown type: {}", type); + fail("unmapped type was resolved by enum: " + type); + } + catch (IllegalArgumentException ee) {} } } @@ -276,7 +305,7 @@ public class GraphApiErrorHandlerTest " \"error\":\n" + " {\n" + " \"message\": null,\n" + - " \"type\": \"Whatever\",\n" + + " \"type\": \"WhateverTypeException\",\n" + " \"code\": 999999999\n" + " }\n" + "}"); @@ -290,7 +319,13 @@ public class GraphApiErrorHandlerTest { log.debug("{}", e.toString()); assertNull(e.getMessage()); - assertEquals("Whatever", e.getType()); + try + { + Type type = e.getType(); + log.error("unknown type: {}", type); + fail("unmapped type was resolved by enum: " + type); + } + catch (IllegalArgumentException ee) {} assertEquals(new Integer(999999999), e.getCode()); assertNull(e.getSubCode()); assertNull(e.getUserTitle()); @@ -307,7 +342,7 @@ public class GraphApiErrorHandlerTest "{\n" + " \"error\":\n" + " {\n" + - " \"type\": \"Whatever\",\n" + + " \"type\": \"WhateverTypeException\",\n" + " \"code\": 999999999\n" + " }\n" + "}"); @@ -321,7 +356,13 @@ public class GraphApiErrorHandlerTest { log.debug("{}", e.toString()); assertNull(e.getMessage()); - assertEquals("Whatever", e.getType()); + try + { + Type type = e.getType(); + log.error("unknown type: {}", type); + fail("unmapped type was resolved by enum: " + type); + } + catch (IllegalArgumentException ee) {} assertEquals(new Integer(999999999), e.getCode()); assertNull(e.getSubCode()); assertNull(e.getUserTitle());