Updated Branches: refs/heads/master e5a43385b -> af7c00358
JCLOUDS-44: Map TooManyBuckets to proper exception Project: http://git-wip-us.apache.org/repos/asf/incubator-jclouds/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-jclouds/commit/af7c0035 Tree: http://git-wip-us.apache.org/repos/asf/incubator-jclouds/tree/af7c0035 Diff: http://git-wip-us.apache.org/repos/asf/incubator-jclouds/diff/af7c0035 Branch: refs/heads/master Commit: af7c003582c2ca657c2547de9f670f693aef1ca7 Parents: e5a4338 Author: Andrew Gaul <[email protected]> Authored: Tue May 14 15:55:30 2013 -0700 Committer: Andrew Gaul <[email protected]> Committed: Fri May 17 10:53:14 2013 -0700 ---------------------------------------------------------------------- .../aws/handlers/ParseAWSErrorFromXmlContent.java | 2 ++ .../handlers/ParseAWSErrorFromXmlContentTest.java | 11 +++++++++++ 2 files changed, 13 insertions(+), 0 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/af7c0035/apis/sts/src/main/java/org/jclouds/aws/handlers/ParseAWSErrorFromXmlContent.java ---------------------------------------------------------------------- diff --git a/apis/sts/src/main/java/org/jclouds/aws/handlers/ParseAWSErrorFromXmlContent.java b/apis/sts/src/main/java/org/jclouds/aws/handlers/ParseAWSErrorFromXmlContent.java index 7a347dc..53b3e96 100644 --- a/apis/sts/src/main/java/org/jclouds/aws/handlers/ParseAWSErrorFromXmlContent.java +++ b/apis/sts/src/main/java/org/jclouds/aws/handlers/ParseAWSErrorFromXmlContent.java @@ -103,6 +103,8 @@ public class ParseAWSErrorFromXmlContent implements HttpErrorHandler { exception = new UnsupportedOperationException(message, exception); else if ("AddressLimitExceeded".equals(errorCode)) exception = new InsufficientResourcesException(message, exception); + else if ("TooManyBuckets".equals(errorCode)) + exception = new InsufficientResourcesException(message, exception); else if (errorCode != null && (errorCode.indexOf("NotFound") != -1 || errorCode.endsWith(".Unknown"))) exception = new ResourceNotFoundException(message, exception); else if ("IncorrectState".equals(errorCode) http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/af7c0035/apis/sts/src/test/java/org/jclouds/aws/handlers/ParseAWSErrorFromXmlContentTest.java ---------------------------------------------------------------------- diff --git a/apis/sts/src/test/java/org/jclouds/aws/handlers/ParseAWSErrorFromXmlContentTest.java b/apis/sts/src/test/java/org/jclouds/aws/handlers/ParseAWSErrorFromXmlContentTest.java index 30092e3..bf6d4a5 100644 --- a/apis/sts/src/test/java/org/jclouds/aws/handlers/ParseAWSErrorFromXmlContentTest.java +++ b/apis/sts/src/test/java/org/jclouds/aws/handlers/ParseAWSErrorFromXmlContentTest.java @@ -100,6 +100,17 @@ public class ParseAWSErrorFromXmlContentTest { } @Test + public void test400WithTooManyBucketsCodeMakesInsufficientResourcesException() { + assertCodeMakes( + POST, + URI.create("https://ec2.us-east-1.amazonaws.com/"), + BAD_REQUEST.getStatusCode(), + "", + "<Response><Errors><Error><Code>TooManyBuckets</Code><Message>You have attempted to create more buckets than allowed</Message></Error></Errors><RequestID>c14f531a-cc35-4b48-8149-2655c7e6dc76</RequestID></Response>", + InsufficientResourcesException.class); + } + + @Test public void test400WithInUseCodeSetsIllegalStateException() { assertCodeMakes(GET, URI.create("https://amazonaws.com/foo"), BAD_REQUEST.getStatusCode(), "", "<Error><Code>InvalidPlacementGroup.InUse</Code></Error>", IllegalStateException.class);
