This is an automated email from the ASF dual-hosted git repository.
mrtnbalazs pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/knox.git
The following commit(s) were added to refs/heads/master by this push:
new 359f12a1a KNOX-2748 - Fixed HashiCorp alias service
getPasswordFromAliasForCluster (#716)
359f12a1a is described below
commit 359f12a1a1f5f0e3386ca9838d5409caf763fa14
Author: MrtnBalazs <[email protected]>
AuthorDate: Thu Jan 19 13:14:32 2023 +0100
KNOX-2748 - Fixed HashiCorp alias service getPasswordFromAliasForCluster
(#716)
* KNOX-2748 - Fixed HashiCorp alias service getPasswordFromAliasForCluster
* KNOX-2748 - Fixed PMD and formatting
* KNOX-2748 - Added not equals assertion to the test.
---
.../backend/hashicorp/vault/HashicorpVaultAliasService.java | 8 +++++---
.../backend/hashicorp/vault/TestHashicorpVaultAliasService.java | 6 ++++++
2 files changed, 11 insertions(+), 3 deletions(-)
diff --git
a/gateway-service-hashicorp-vault/src/main/java/org/apache/knox/gateway/backend/hashicorp/vault/HashicorpVaultAliasService.java
b/gateway-service-hashicorp-vault/src/main/java/org/apache/knox/gateway/backend/hashicorp/vault/HashicorpVaultAliasService.java
index 905d8d350..540b76fbc 100644
---
a/gateway-service-hashicorp-vault/src/main/java/org/apache/knox/gateway/backend/hashicorp/vault/HashicorpVaultAliasService.java
+++
b/gateway-service-hashicorp-vault/src/main/java/org/apache/knox/gateway/backend/hashicorp/vault/HashicorpVaultAliasService.java
@@ -153,10 +153,12 @@ public class HashicorpVaultAliasService extends
AbstractAliasService {
@Override
public char[] getPasswordFromAliasForCluster(String clusterName, String
alias, boolean generate) throws AliasServiceException {
- if(generate) {
- getPasswordFromAliasForCluster(clusterName, alias);
+ char[] password = getPasswordFromAliasForCluster(clusterName, alias);
+ if (password == null && generate) {
+ generateAliasForCluster(clusterName, alias);
+ password = getPasswordFromAliasForCluster(clusterName, alias);
}
- return getPasswordFromAliasForCluster(clusterName, alias);
+ return password;
}
@Override
diff --git
a/gateway-service-hashicorp-vault/src/test/java/org/apache/knox/gateway/backend/hashicorp/vault/TestHashicorpVaultAliasService.java
b/gateway-service-hashicorp-vault/src/test/java/org/apache/knox/gateway/backend/hashicorp/vault/TestHashicorpVaultAliasService.java
index 3acf449b3..a40c89697 100644
---
a/gateway-service-hashicorp-vault/src/test/java/org/apache/knox/gateway/backend/hashicorp/vault/TestHashicorpVaultAliasService.java
+++
b/gateway-service-hashicorp-vault/src/test/java/org/apache/knox/gateway/backend/hashicorp/vault/TestHashicorpVaultAliasService.java
@@ -47,6 +47,8 @@ import java.util.concurrent.ThreadLocalRandom;
import static
org.apache.knox.gateway.backend.hashicorp.vault.HashicorpVaultAliasService.VAULT_SEPARATOR;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
@@ -184,6 +186,10 @@ public class TestHashicorpVaultAliasService {
assertNull(aliasService.getPasswordFromAliasForCluster(clusterName,
alias));
assertEquals(0, aliasService.getAliasesForCluster(clusterName).size());
+ char[] generatedPassword =
aliasService.getPasswordFromAliasForCluster(clusterName, alias, true);
+ assertNotNull(generatedPassword != null);
+ assertNotEquals(generatedPassword, aliasPassword.toCharArray());
+
aliasService.stop();
}