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();
   }
 

Reply via email to