This is an automated email from the ASF dual-hosted git repository.

clebertsuconic pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git


The following commit(s) were added to refs/heads/main by this push:
     new 5320bd03b3 ARTEMIS-4273 mask command not using codec props
5320bd03b3 is described below

commit 5320bd03b35c83a57d77a998da05e5a2bde4226d
Author: Justin Bertram <[email protected]>
AuthorDate: Mon May 8 14:30:57 2023 -0500

    ARTEMIS-4273 mask command not using codec props
---
 .../apache/activemq/artemis/cli/commands/Mask.java |  2 +-
 .../org/apache/activemq/cli/test/ArtemisTest.java  | 25 +++++++++++++++++++++-
 .../test/resources/broker-with-password-codec.xml  |  2 +-
 3 files changed, 26 insertions(+), 3 deletions(-)

diff --git 
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Mask.java 
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Mask.java
index 9ef9e6f46d..0e496a67ff 100644
--- 
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Mask.java
+++ 
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Mask.java
@@ -65,8 +65,8 @@ public class Mask extends ActionAbstract {
          codec = 
PasswordMaskingUtil.getCodec(brokerConfiguration.getPasswordCodec());
       } else {
          codec = PasswordMaskingUtil.getDefaultCodec();
+         codec.init(params);
       }
-      codec.init(params);
 
       String masked = codec.encode(password);
       context.out.println("result: " + masked);
diff --git 
a/artemis-cli/src/test/java/org/apache/activemq/cli/test/ArtemisTest.java 
b/artemis-cli/src/test/java/org/apache/activemq/cli/test/ArtemisTest.java
index 9d62df9e53..d534224b9c 100644
--- a/artemis-cli/src/test/java/org/apache/activemq/cli/test/ArtemisTest.java
+++ b/artemis-cli/src/test/java/org/apache/activemq/cli/test/ArtemisTest.java
@@ -1259,7 +1259,9 @@ public class ArtemisTest extends CliTestBase {
       mask.setPasswordCodec(true);
       result = (String) mask.execute(context);
       assertEquals(TestPasswordCodec.class, mask.getCodec().getClass());
-      assertEquals(result, result);
+      assertEquals(((TestPasswordCodec) mask.getCodec()).getPropertyOne(), 
"1234");
+      assertEquals(((TestPasswordCodec) mask.getCodec()).getPropertyTwo(), 
"9876");
+      assertEquals(password, result);
    }
 
    @Test
@@ -2285,6 +2287,19 @@ public class ArtemisTest extends CliTestBase {
    }
 
    public static class TestPasswordCodec implements SensitiveDataCodec<String> 
{
+      public String PROP_NAME_ONE = "propertyNameOne";
+      public String PROP_NAME_TWO = "propertyNameTwo";
+
+      private String propertyOne;
+      private String propertyTwo;
+
+      @Override
+      public void init(Map<String, String> params) throws Exception {
+         if (params != null) {
+            propertyOne = params.get(PROP_NAME_ONE);
+            propertyTwo = params.get(PROP_NAME_TWO);
+         }
+      }
 
       @Override
       public String decode(Object mask) throws Exception {
@@ -2295,6 +2310,14 @@ public class ArtemisTest extends CliTestBase {
       public String encode(Object secret) throws Exception {
          return secret.toString();
       }
+
+      public String getPropertyOne() {
+         return propertyOne;
+      }
+
+      public String getPropertyTwo() {
+         return propertyTwo;
+      }
    }
 
 }
diff --git a/artemis-cli/src/test/resources/broker-with-password-codec.xml 
b/artemis-cli/src/test/resources/broker-with-password-codec.xml
index f5e9f89e38..9240f7e5cc 100644
--- a/artemis-cli/src/test/resources/broker-with-password-codec.xml
+++ b/artemis-cli/src/test/resources/broker-with-password-codec.xml
@@ -34,7 +34,7 @@ under the License.
 
       
<large-messages-directory>./target/large-messages</large-messages-directory>
 
-      
<password-codec>org.apache.activemq.cli.test.ArtemisTest$TestPasswordCodec</password-codec>
+      
<password-codec>org.apache.activemq.cli.test.ArtemisTest$TestPasswordCodec;propertyNameOne=1234;propertyNameTwo=9876</password-codec>
 
       <connectors>
          <!-- Default Connector.  Returned to clients during broadcast and 
distributed around cluster.  See broadcast and discovery-groups -->

Reply via email to