Use Spring Cloud Vault-specific users for integration tests.

Use springvault instead of spring for integration tests with databases to avoid naming conflicts. MySQL requires short (<16 chars) user names and PostgreSQL does not permit names with hypens.

Fixes gh-65.
This commit is contained in:
Mark Paluch
2017-01-10 15:09:47 +01:00
parent 57721b68c1
commit 6d0ef0e400
9 changed files with 15 additions and 15 deletions

View File

@@ -44,13 +44,13 @@ install:
- sudo service rabbitmq-server restart
before_script:
- mysql -e "CREATE USER 'spring' IDENTIFIED by 'vault';"
- mysql -uroot -e "GRANT ALL PRIVILEGES ON *.* TO 'spring'@'%' WITH GRANT OPTION;";
- psql -U postgres -c "CREATE ROLE spring WITH LOGIN PASSWORD 'vault' CREATEROLE CREATEUSER;"
- mysql -e "CREATE USER 'springvault' IDENTIFIED by 'springvault';"
- mysql -uroot -e "GRANT ALL PRIVILEGES ON *.* TO 'springvault'@'%' WITH GRANT OPTION;";
- psql -U postgres -c "CREATE ROLE springvault WITH LOGIN PASSWORD 'springvault' CREATEROLE CREATEUSER;"
- |-
mongo admin --eval "db.createUser({user: 'spring', pwd:'vault', roles:['root']});"
mongo admin --eval "db.createUser({user: 'springvault', pwd:'springvault', roles:['root']});"
- sleep 30 # wait until Cassandra is up
- apache-cassandra-2.2.8/bin/cqlsh localhost -u cassandra -p cassandra -e "CREATE USER 'spring' WITH PASSWORD 'vault' SUPERUSER"
- apache-cassandra-2.2.8/bin/cqlsh localhost -u cassandra -p cassandra -e "CREATE USER 'springvault' WITH PASSWORD 'springvault' SUPERUSER"
script: mvn clean verify

View File

@@ -46,8 +46,8 @@ public class CassandraSecretIntegrationTests extends IntegrationTestSupport {
private final static String CASSANDRA_HOST = "localhost";
private final static int CASSANDRA_PORT = 9042;
private final static String CASSANDRA_USERNAME = "cassandra";
private final static String CASSANDRA_PASSWORD = "cassandra";
private final static String CASSANDRA_USERNAME = "springvault";
private final static String CASSANDRA_PASSWORD = "springvault";
private final static String CREATE_USER_AND_GRANT_CQL = "CREATE USER '{{username}}' WITH PASSWORD '{{password}}' NOSUPERUSER;"
+ "GRANT SELECT ON ALL KEYSPACES TO {{username}};";

View File

@@ -47,7 +47,7 @@ public class MongoSecretIntegrationTests extends IntegrationTestSupport {
private final static int MONGODB_PORT = 27017;
private final static String MONGODB_HOST = "localhost";
private final static String ROOT_CREDENTIALS = String.format(
"mongodb://spring:vault@%s:%d/admin?ssl=false", MONGODB_HOST, MONGODB_PORT);
"mongodb://springvault:springvault@%s:%d/admin?ssl=false", MONGODB_HOST, MONGODB_PORT);
private final static String ROLES = "[ \"readWrite\", { \"role\": \"read\", \"db\": \"admin\" } ]";
private VaultProperties vaultProperties = Settings.createVaultProperties();

View File

@@ -44,7 +44,7 @@ public class MySqlSecretIntegrationTests extends IntegrationTestSupport {
private final static int MYSQL_PORT = 3306;
private final static String MYSQL_HOST = "localhost";
private final static String ROOT_CREDENTIALS = String
.format("spring:vault@tcp(%s:%d)/", MYSQL_HOST, MYSQL_PORT);
.format("springvault:springvault@tcp(%s:%d)/", MYSQL_HOST, MYSQL_PORT);
private final static String CREATE_USER_AND_GRANT_SQL = "CREATE USER '{{name}}'@'%' IDENTIFIED BY '{{password}}';"
+ "GRANT SELECT ON *.* TO '{{name}}'@'%';";

View File

@@ -47,7 +47,7 @@ public class PostgreSqlSecretIntegrationTests extends IntegrationTestSupport {
private final static int POSTGRES_PORT = 5432;
private final static String CONNECTION_URL = String.format(
"postgresql://spring:vault@%s:%d/postgres?sslmode=disable", POSTGRES_HOST,
"postgresql://springvault:springvault@%s:%d/postgres?sslmode=disable", POSTGRES_HOST,
POSTGRES_PORT);
private final static String CREATE_USER_AND_GRANT_SQL = "CREATE ROLE \"{{name}}\" WITH "

View File

@@ -58,8 +58,8 @@ public class VaultConfigCassandraTests {
private final static String CASSANDRA_HOST = "localhost";
private final static int CASSANDRA_PORT = 9042;
private final static String CASSANDRA_USERNAME = "cassandra";
private final static String CASSANDRA_PASSWORD = "cassandra";
private final static String CASSANDRA_USERNAME = "springvault";
private final static String CASSANDRA_PASSWORD = "springvault";
private final static String CREATE_USER_AND_GRANT_CQL = "CREATE USER '{{username}}' WITH PASSWORD '{{password}}' NOSUPERUSER;"
+ "GRANT SELECT ON ALL KEYSPACES TO {{username}};";

View File

@@ -62,7 +62,7 @@ public class VaultConfigMongoTests {
private final static int MONGODB_PORT = 27017;
private final static String MONGODB_HOST = "localhost";
private final static String ROOT_CREDENTIALS = String.format(
"mongodb://spring:vault@%s:%d/admin?ssl=false", MONGODB_HOST, MONGODB_PORT);
"mongodb://springvault:springvault@%s:%d/admin?ssl=false", MONGODB_HOST, MONGODB_PORT);
private final static String ROLES = "[ \"readWrite\", { \"role\": \"read\", \"db\": \"admin\" } ]";
/**

View File

@@ -54,7 +54,7 @@ public class VaultConfigMySqlTests {
private final static int MYSQL_PORT = 3306;
private final static String MYSQL_HOST = "localhost";
private final static String ROOT_CREDENTIALS = String
.format("spring:vault@tcp(%s:%d)/", MYSQL_HOST, MYSQL_PORT);
.format("springvault:springvault@tcp(%s:%d)/", MYSQL_HOST, MYSQL_PORT);
private final static String CREATE_USER_AND_GRANT_SQL = "CREATE USER '{{name}}'@'%' IDENTIFIED BY '{{password}}';"
+ "GRANT SELECT ON *.* TO '{{name}}'@'%';";

View File

@@ -59,7 +59,7 @@ public class VaultConfigPostgreSqlTests {
private final static int POSTGRES_PORT = 5432;
private final static String CONNECTION_URL = String.format(
"postgresql://spring:vault@%s:%d/postgres?sslmode=disable", POSTGRES_HOST,
"postgresql://springvault:springvault@%s:%d/postgres?sslmode=disable", POSTGRES_HOST,
POSTGRES_PORT);
private final static String CREATE_USER_AND_GRANT_SQL = "CREATE ROLE \"{{name}}\" WITH "