Added tests for parse exceptions.
This commit is contained in:
parent
1ed5d8d992
commit
6904ed6817
@ -195,16 +195,6 @@ public class HTTPVaultConnectorOfflineTest {
|
|||||||
assertThat("Unexpected type of exception", e, instanceOf(InvalidResponseException.class));
|
assertThat("Unexpected type of exception", e, instanceOf(InvalidResponseException.class));
|
||||||
assertThat("Unexpected exception message", e.getMessage(), is("Response unavailable"));
|
assertThat("Unexpected exception message", e.getMessage(), is("Response unavailable"));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Simulate un-mappable response.
|
|
||||||
mockResponse(200, "", ContentType.APPLICATION_JSON);
|
|
||||||
try {
|
|
||||||
connector.sealStatus();
|
|
||||||
fail("Querying seal status succeeded on invalid instance");
|
|
||||||
} catch (Exception e) {
|
|
||||||
assertThat("Unexpected type of exception", e, instanceOf(InvalidResponseException.class));
|
|
||||||
assertThat("Unexpected exception message", e.getMessage(), is("Unable to parse response"));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -232,16 +222,130 @@ public class HTTPVaultConnectorOfflineTest {
|
|||||||
assertThat("Unexpected type of exception", e, instanceOf(InvalidResponseException.class));
|
assertThat("Unexpected type of exception", e, instanceOf(InvalidResponseException.class));
|
||||||
assertThat("Unexpected exception message", e.getMessage(), is("Response unavailable"));
|
assertThat("Unexpected exception message", e.getMessage(), is("Response unavailable"));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test behavior on unparsable responses.
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void parseExceptionTest() throws IOException {
|
||||||
|
HTTPVaultConnector connector = new HTTPVaultConnector("https://127.0.0.1", null, 0, 250);
|
||||||
|
// Mock authorization.
|
||||||
|
setPrivate(connector, "authorized", true);
|
||||||
|
// Mock response.
|
||||||
|
initHttpMock();
|
||||||
|
mockResponse(200, "invalid", ContentType.APPLICATION_JSON);
|
||||||
|
|
||||||
|
// Now test the methods.
|
||||||
|
try {
|
||||||
|
connector.sealStatus();
|
||||||
|
fail("sealStatus() succeeded on invalid instance");
|
||||||
|
} catch (Exception e) {
|
||||||
|
assertParseError(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
connector.unseal("key");
|
||||||
|
fail("unseal() succeeded on invalid instance");
|
||||||
|
} catch (Exception e) {
|
||||||
|
assertParseError(e);
|
||||||
|
}
|
||||||
|
|
||||||
// Simulate un-mappable response.
|
|
||||||
mockResponse(200, "", ContentType.APPLICATION_JSON);
|
|
||||||
try {
|
try {
|
||||||
connector.getHealth();
|
connector.getHealth();
|
||||||
fail("Querying health status succeeded on invalid instance");
|
fail("getHealth() succeeded on invalid instance");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertThat("Unexpected type of exception", e, instanceOf(InvalidResponseException.class));
|
assertParseError(e);
|
||||||
assertThat("Unexpected exception message", e.getMessage(), is("Unable to parse response"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
connector.getAuthBackends();
|
||||||
|
fail("getAuthBackends() succeeded on invalid instance");
|
||||||
|
} catch (Exception e) {
|
||||||
|
assertParseError(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
connector.authToken("token");
|
||||||
|
fail("authToken() succeeded on invalid instance");
|
||||||
|
} catch (Exception e) {
|
||||||
|
assertParseError(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
connector.lookupAppRole("roleName");
|
||||||
|
fail("lookupAppRole() succeeded on invalid instance");
|
||||||
|
} catch (Exception e) {
|
||||||
|
assertParseError(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
connector.getAppRoleID("roleName");
|
||||||
|
fail("getAppRoleID() succeeded on invalid instance");
|
||||||
|
} catch (Exception e) {
|
||||||
|
assertParseError(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
connector.createAppRoleSecret("roleName");
|
||||||
|
fail("createAppRoleSecret() succeeded on invalid instance");
|
||||||
|
} catch (Exception e) {
|
||||||
|
assertParseError(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
connector.lookupAppRoleSecret("roleName", "secretID");
|
||||||
|
fail("lookupAppRoleSecret() succeeded on invalid instance");
|
||||||
|
} catch (Exception e) {
|
||||||
|
assertParseError(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
connector.listAppRoles();
|
||||||
|
fail("listAppRoles() succeeded on invalid instance");
|
||||||
|
} catch (Exception e) {
|
||||||
|
assertParseError(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
connector.listAppRoleSecrets("roleName");
|
||||||
|
fail("listAppRoleSecrets() succeeded on invalid instance");
|
||||||
|
} catch (Exception e) {
|
||||||
|
assertParseError(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
connector.read("key");
|
||||||
|
fail("read() succeeded on invalid instance");
|
||||||
|
} catch (Exception e) {
|
||||||
|
assertParseError(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
connector.list("path");
|
||||||
|
fail("list() succeeded on invalid instance");
|
||||||
|
} catch (Exception e) {
|
||||||
|
assertParseError(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
connector.renew("leaseID");
|
||||||
|
fail("renew() succeeded on invalid instance");
|
||||||
|
} catch (Exception e) {
|
||||||
|
assertParseError(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
connector.lookupToken("token");
|
||||||
|
fail("lookupToken() succeeded on invalid instance");
|
||||||
|
} catch (Exception e) {
|
||||||
|
assertParseError(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void assertParseError(Exception e) {
|
||||||
|
assertThat("Unexpected type of exception", e, instanceOf(InvalidResponseException.class));
|
||||||
|
assertThat("Unexpected exception message", e.getMessage(), is("Unable to parse response"));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user