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:
10
.travis.yml
10
.travis.yml
@@ -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
|
||||
|
||||
|
||||
@@ -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}};";
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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}}'@'%';";
|
||||
|
||||
|
||||
@@ -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 "
|
||||
|
||||
@@ -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}};";
|
||||
|
||||
@@ -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\" } ]";
|
||||
|
||||
/**
|
||||
|
||||
@@ -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}}'@'%';";
|
||||
|
||||
|
||||
@@ -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 "
|
||||
|
||||
Reference in New Issue
Block a user