Updated Branches: refs/heads/1.6.x 85e976e7f -> f88989f6d
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/f88989f6 Tree: http://git-wip-us.apache.org/repos/asf/incubator-jclouds/tree/f88989f6 Diff: http://git-wip-us.apache.org/repos/asf/incubator-jclouds/diff/f88989f6 Branch: refs/heads/1.6.x Commit: f88989f6dfd7a59305e5f4cb3b30508f9292ac00 Parents: 85e976e Author: Andrew Gaul <[email protected]> Authored: Tue May 14 15:55:30 2013 -0700 Committer: Andrew Gaul <[email protected]> Committed: Fri May 17 10:54:22 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/f88989f6/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/f88989f6/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);
