Upgrade to Vault 0.6.2.

Setup test run with Vault 0.5.3 to 0.6.2, guard tests accessing features available since specific versions.

Fixes gh-44.
This commit is contained in:
Mark Paluch
2016-10-08 20:48:14 +02:00
parent 0f0a6957e3
commit 80d38f46ff
11 changed files with 308 additions and 10 deletions

View File

@@ -20,12 +20,12 @@ import static org.junit.Assume.*;
import static org.springframework.cloud.vault.config.databases.VaultConfigDatabaseBootstrapConfiguration.DatabaseSecretBackendMetadataFactory.*;
import java.net.InetSocketAddress;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import org.junit.Before;
import org.junit.Test;
import org.springframework.cloud.vault.config.VaultConfigOperations;
import org.springframework.cloud.vault.config.VaultConfigTemplate;
import org.springframework.cloud.vault.config.VaultProperties;
@@ -84,9 +84,14 @@ public class CassandraSecretIntegrationTests extends IntegrationTestSupport {
String.format("%s/config/connection", cassandra.getBackend()),
connection);
Map<String, String> role = new HashMap<>();
role.put("creation_cql", CREATE_USER_AND_GRANT_CQL);
role.put("consistency", "All");
vaultOperations.write(
String.format("%s/roles/%s", cassandra.getBackend(), cassandra.getRole()),
Collections.singletonMap("creation_cql", CREATE_USER_AND_GRANT_CQL));
role);
configOperations = new VaultConfigTemplate(vaultOperations, vaultProperties);
}

View File

@@ -26,12 +26,14 @@ import java.util.Map;
import org.junit.Before;
import org.junit.Test;
import org.springframework.cloud.vault.config.VaultConfigOperations;
import org.springframework.cloud.vault.config.VaultConfigTemplate;
import org.springframework.cloud.vault.config.VaultProperties;
import org.springframework.cloud.vault.util.CanConnect;
import org.springframework.cloud.vault.util.IntegrationTestSupport;
import org.springframework.cloud.vault.util.Settings;
import org.springframework.cloud.vault.util.Version;
import org.springframework.vault.core.VaultOperations;
/**
@@ -61,6 +63,7 @@ public class MongoSecretIntegrationTests extends IntegrationTestSupport {
public void setUp() throws Exception {
assumeTrue(CanConnect.to(new InetSocketAddress(MONGODB_HOST, MONGODB_PORT)));
assumeTrue(prepare().getVersion().isGreaterThanOrEqualTo(Version.parse("0.6.2")));
mongodb.setEnabled(true);
mongodb.setRole("readonly");
@@ -88,8 +91,8 @@ public class MongoSecretIntegrationTests extends IntegrationTestSupport {
@Test
public void shouldCreateCredentialsCorrectly() throws Exception {
Map<String, String> secretProperties = configOperations
.read(forDatabase(mongodb)).getData();
Map<String, String> secretProperties = configOperations.read(forDatabase(mongodb))
.getData();
assertThat(secretProperties).containsKeys("spring.data.mongodb.username",
"spring.data.mongodb.password");

View File

@@ -20,13 +20,13 @@ import static org.junit.Assume.*;
import java.net.InetSocketAddress;
import java.sql.SQLException;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
@@ -91,8 +91,12 @@ public class VaultConfigCassandraTests {
vaultOperations.write(String.format("%s/config/connection", "cassandra"),
connection);
vaultOperations.write("cassandra/roles/readonly",
Collections.singletonMap("creation_cql", CREATE_USER_AND_GRANT_CQL));
Map<String, String> role = new HashMap<>();
role.put("creation_cql", CREATE_USER_AND_GRANT_CQL);
role.put("consistency", "All");
vaultOperations.write("cassandra/roles/readonly", role);
}
@Value("${spring.data.cassandra.username}")

View File

@@ -36,6 +36,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.cloud.vault.util.CanConnect;
import org.springframework.cloud.vault.util.VaultRule;
import org.springframework.cloud.vault.util.Version;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.vault.core.VaultOperations;
@@ -77,6 +78,9 @@ public class VaultConfigMongoTests {
VaultRule vaultRule = new VaultRule();
vaultRule.before();
assumeTrue(vaultRule.prepare().getVersion()
.isGreaterThanOrEqualTo(Version.parse("0.6.2")));
if (!vaultRule.prepare().hasSecretBackend("mongodb")) {
vaultRule.prepare().mountSecret("mongodb");
}