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;
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());
}
}
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());
}
}
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());
}
}
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());
}
}
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());
}
}
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());
}
}
" \"error\":\n" +
" {\n" +
" \"message\": \"This error does not exist.\",\n" +
- " \"type\": \"NonexistentException\",\n" +
+ " \"type\": \"NonexistentTypeException\",\n" +
" \"code\": 999999999\n" +
" }\n" +
"}");
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) {}
}
}
" \"error\":\n" +
" {\n" +
" \"message\": null,\n" +
- " \"type\": \"Whatever\",\n" +
+ " \"type\": \"WhateverTypeException\",\n" +
" \"code\": 999999999\n" +
" }\n" +
"}");
{
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());
"{\n" +
" \"error\":\n" +
" {\n" +
- " \"type\": \"Whatever\",\n" +
+ " \"type\": \"WhateverTypeException\",\n" +
" \"code\": 999999999\n" +
" }\n" +
"}");
{
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());
import com.fasterxml.jackson.core.JsonProcessingException;
import de.juplo.facebook.exceptions.GraphApiException.FacebookErrorMessage;
import static de.juplo.facebook.exceptions.GraphApiException.OBJECT_MAPPER;
+import de.juplo.facebook.exceptions.GraphApiException.Type;
import java.io.IOException;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
{
FacebookErrorMessage error = new FacebookErrorMessage();
error.message = "Message describing the error";
- error.type = "OAuthException";
+ error.type = Type.OAuthException.name();
error.code = 190;
error.subCode = 460;
error.userTitle = "A title";
OBJECT_MAPPER.readValue(example, FacebookErrorMessage.class);
assertEquals("Message describing the error", error.message);
- assertEquals("OAuthException", error.type);
+ assertEquals(Type.OAuthException.name(), error.type);
assertEquals(new Integer(190), error.code);
assertEquals(new Integer(460), error.subCode);
assertEquals("A title", error.userTitle);