Merge pull request #151 from andreisavu/illegal-state-on-firewall-auth

Throw an IllegalStateException on firewall authorization failure
This commit is contained in:
Adrian Cole 2011-11-15 04:19:32 -08:00
commit 2f21049cbd
2 changed files with 13 additions and 0 deletions

View File

@ -77,6 +77,9 @@ public class CloudStackErrorHandler implements HttpErrorHandler {
exception = new IllegalStateException(message, exception);
}
break;
case 537:
exception = new IllegalStateException(message, exception);
break;
}
} finally {
if (response.getPayload() != null)

View File

@ -91,6 +91,16 @@ public class CloudStackErrorHandlerTest {
assertCodeMakes("GET", URI.create("https://cloudstack.com/foo"), 409, "", "Conflict", IllegalStateException.class);
}
@Test void test537MakesIllegalStateException() {
assertCodeMakes(
"GET",
URI.create("http://10.26.26.155:8080/client/api?response=json&command=createIpForwardingRule&ipaddressid=37&startport=22&protocol=tcp"),
537,
"",
"{ \"createipforwardingruleresponse\" : {\"errorcode\" : 537, \"errortext\" : \"There is already firewall rule specified for the ip address id=37\"} }",
IllegalStateException.class);
}
private void assertCodeMakes(String method, URI uri, int statusCode, String message, String content,
Class<? extends Exception> expected) {
assertCodeMakes(method, uri, statusCode, message, "text/xml", content, expected);