Skip to content

Commit 0335b63

Browse files
committed
Warn on using global namespace.
Test preventing empty namespaces.
1 parent 1b22b34 commit 0335b63

3 files changed

Lines changed: 21 additions & 1 deletion

File tree

src/main/java/com/bettercloud/vault/Vault.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,9 @@ public class Vault {
6565
*/
6666
public Vault(final VaultConfig vaultConfig) {
6767
this.vaultConfig = vaultConfig;
68+
if (this.vaultConfig.getNameSpace() != null && !this.vaultConfig.getNameSpace().isEmpty()) {
69+
System.out.println(String.format("The NameSpace %s has been bound to this Vault instance. Please keep this in mind when running operations.", this.vaultConfig.getNameSpace()));
70+
}
6871
if (this.vaultConfig.getSecretsEnginePathMap().isEmpty() && this.vaultConfig.getGlobalEngineVersion() == null) {
6972
System.out.println("Constructing a Vault instance with no provided Engine version, defaulting to version 2.");
7073
this.vaultConfig.setEngineVersion(2);
@@ -81,6 +84,9 @@ public Vault(final VaultConfig vaultConfig, final Integer engineVersion) {
8184
}
8285
vaultConfig.setEngineVersion(engineVersion);
8386
this.vaultConfig = vaultConfig;
87+
if (this.vaultConfig.getNameSpace() != null && !this.vaultConfig.getNameSpace().isEmpty()) {
88+
System.out.println(String.format("The Namespace %s has been bound to this Vault instance. Please keep this in mind when running operations.", this.vaultConfig.getNameSpace()));
89+
}
8490
}
8591

8692
/**
@@ -97,6 +103,9 @@ public Vault(final VaultConfig vaultConfig, final Integer engineVersion) {
97103
public Vault(final VaultConfig vaultConfig, final Boolean useSecretsEnginePathMap, final Integer globalFallbackVersion)
98104
throws VaultException {
99105
this.vaultConfig = vaultConfig;
106+
if (this.vaultConfig.getNameSpace() != null && !this.vaultConfig.getNameSpace().isEmpty()) {
107+
System.out.println(String.format("The Namespace %s has been bound to this Vault instance. Please keep this in mind when running operations.", this.vaultConfig.getNameSpace()));
108+
}
100109
this.vaultConfig.setEngineVersion(globalFallbackVersion);
101110
if (useSecretsEnginePathMap && this.vaultConfig.getSecretsEnginePathMap().isEmpty()) {
102111
try {

src/main/java/com/bettercloud/vault/VaultConfig.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ public VaultConfig environmentLoader(final EnvironmentLoader environmentLoader)
8585
* finalization with the build() method
8686
*/
8787
public VaultConfig nameSpace(final String nameSpace) {
88+
assert !nameSpace.isEmpty();
8889
this.nameSpace = nameSpace;
8990
return this;
9091
}

src/test/java/com/bettercloud/vault/VaultTests.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,21 @@ public void testGlobalEngineVersionVaultConstructor() {
3030

3131
@Test
3232
public void testNameSpaceProvidedVaultConstructor() {
33-
VaultConfig vaultConfig = new VaultConfig().nameSpace("namespace");
33+
VaultConfig vaultConfig = new VaultConfig().nameSpace("testNameSpace");
3434
Vault vault = new Vault(vaultConfig, 1);
3535
Assert.assertNotNull(vault);
3636
}
3737

38+
@Test
39+
public void testNameSpaceProvidedVaultConstructorCannotBeEmpty() {
40+
try {
41+
VaultConfig vaultConfig = new VaultConfig().nameSpace("");
42+
} catch (AssertionError e) {
43+
Assert.assertEquals(e.getClass(), AssertionError.class);
44+
}
45+
}
46+
47+
3848
@Test
3949
public void testNameSpaceNotProvidedVaultConstructor() {
4050
VaultConfig vaultConfig = new VaultConfig().nameSpace(null);

0 commit comments

Comments
 (0)