Health status query and response model implemented (#15)
This commit is contained in:
@ -48,6 +48,7 @@ import static org.junit.Assume.*;
|
||||
* @since 0.1
|
||||
*/
|
||||
public class HTTPVaultConnectorTest {
|
||||
private static String VAULT_VERISON = "0.8.1"; // the vault version this test is supposed to run against
|
||||
private static String KEY = "81011a8061e5c028bd0d9503eeba40bd9054b9af0408d080cb24f57405c27a61";
|
||||
private static String TOKEN_ROOT = "d1bd50e2-587b-6e68-d80b-a9a507625cb7";
|
||||
private static String USER_VALID = "validUser";
|
||||
@ -135,6 +136,36 @@ public class HTTPVaultConnectorTest {
|
||||
assertThat("Vault not unsealed", sealStatus.isSealed(), is(false));
|
||||
}
|
||||
|
||||
/**
|
||||
* Test health status
|
||||
*/
|
||||
@Test
|
||||
public void healthTest() {
|
||||
HealthResponse res = null;
|
||||
try {
|
||||
res = connector.getHealth();
|
||||
} catch (VaultConnectorException e) {
|
||||
fail("Retrieving health status failed: " + e.getMessage());
|
||||
}
|
||||
assertThat("Health response should be set", res, is(notNullValue()));
|
||||
assertThat("Unexpected version", res.getVersion(), is(VAULT_VERISON));
|
||||
assertThat("Unexpected init status", res.isInitialized(), is(true));
|
||||
assertThat("Unexpected seal status", res.isSealed(), is(false));
|
||||
assertThat("Unexpected standby status", res.isStandby(), is(false));
|
||||
|
||||
// No seal vault and verify correct status.
|
||||
authRoot();
|
||||
connector.seal();
|
||||
assumeTrue(connector.sealStatus().isSealed());
|
||||
connector.resetAuth(); // SHould work unauthenticated
|
||||
try {
|
||||
res = connector.getHealth();
|
||||
} catch (VaultConnectorException e) {
|
||||
fail("Retrieving health status failed when sealed: " + e.getMessage());
|
||||
}
|
||||
assertThat("Unexpected seal status", res.isSealed(), is(true));
|
||||
}
|
||||
|
||||
/**
|
||||
* Test listing of authentication backends
|
||||
*/
|
||||
|
@ -0,0 +1,56 @@
|
||||
package de.stklcode.jvault.connector.model.response;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.is;
|
||||
import static org.hamcrest.Matchers.notNullValue;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.junit.Assert.fail;
|
||||
|
||||
/**
|
||||
* JUnit Test for {@link AuthResponse} model.
|
||||
*
|
||||
* @author Stefan Kalscheuer
|
||||
* @since 0.7.0
|
||||
*/
|
||||
public class HealthResponseTest {
|
||||
private static final String CLUSTER_ID = "c9abceea-4f46-4dab-a688-5ce55f89e228";
|
||||
private static final String CLUSTER_NAME = "vault-cluster-5515c810";
|
||||
private static final String VERSION = "0.6.2";
|
||||
private static final Long SERVER_TIME_UTC = 1469555798L;
|
||||
private static final Boolean STANDBY = false;
|
||||
private static final Boolean SEALED = false;
|
||||
private static final Boolean INITIALIZED = true;
|
||||
|
||||
private static final String RES_JSON = "{\n" +
|
||||
" \"cluster_id\": \"" + CLUSTER_ID + "\",\n" +
|
||||
" \"cluster_name\": \"" + CLUSTER_NAME + "\",\n" +
|
||||
" \"version\": \"" + VERSION + "\",\n" +
|
||||
" \"server_time_utc\": " + SERVER_TIME_UTC + ",\n" +
|
||||
" \"standby\": " + STANDBY + ",\n" +
|
||||
" \"sealed\": " + SEALED + ",\n" +
|
||||
" \"initialized\": " + INITIALIZED + "\n" +
|
||||
"}";
|
||||
/**
|
||||
* Test creation from JSON value as returned by Vault (JSON example copied from Vault documentation).
|
||||
*/
|
||||
@Test
|
||||
public void jsonRoundtrip() {
|
||||
try {
|
||||
HealthResponse res = new ObjectMapper().readValue(RES_JSON, HealthResponse.class);
|
||||
assertThat("Parsed response is NULL", res, is(notNullValue()));
|
||||
assertThat("Incorrect cluster ID", res.getClusterID(), is(CLUSTER_ID));
|
||||
assertThat("Incorrect cluster name", res.getClusterName(), is(CLUSTER_NAME));
|
||||
assertThat("Incorrect version", res.getVersion(), is(VERSION));
|
||||
assertThat("Incorrect server time", res.getServerTimeUTC(), is(SERVER_TIME_UTC));
|
||||
assertThat("Incorrect standby state", res.isStandby(), is(STANDBY));
|
||||
assertThat("Incorrect seal state", res.isSealed(), is(SEALED));
|
||||
assertThat("Incorrect initialization state", res.isInitialized(), is(INITIALIZED));
|
||||
} catch (IOException e) {
|
||||
fail("Health deserialization failed: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user