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

jinsongzhou pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/amoro.git


The following commit(s) were added to refs/heads/master by this push:
     new a2be23742 [Improvement]: Improved test testDecryptOption in 
TestConfigShade by removing redundancy and converting into Parameterized Test 
(#3513)
a2be23742 is described below

commit a2be23742d107a56b9093e2021b0e964166cc782
Author: Monil <[email protected]>
AuthorDate: Sun Apr 13 19:44:32 2025 -0700

    [Improvement]: Improved test testDecryptOption in TestConfigShade by 
removing redundancy and converting into Parameterized Test (#3513)
    
    * simplified test testDecryptOption in TestConfigShade by reducing 
redundancy and parameterizing
    
    * spotless:apply
---
 .../amoro/server/config/TestConfigShade.java       | 30 ++++++++++++----------
 1 file changed, 17 insertions(+), 13 deletions(-)

diff --git 
a/amoro-ams/src/test/java/org/apache/amoro/server/config/TestConfigShade.java 
b/amoro-ams/src/test/java/org/apache/amoro/server/config/TestConfigShade.java
index 92530936f..5b68c7104 100644
--- 
a/amoro-ams/src/test/java/org/apache/amoro/server/config/TestConfigShade.java
+++ 
b/amoro-ams/src/test/java/org/apache/amoro/server/config/TestConfigShade.java
@@ -31,6 +31,9 @@ import 
org.apache.amoro.shade.jackson2.com.fasterxml.jackson.databind.JsonNode;
 import org.apache.amoro.utils.JacksonUtil;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
 import org.yaml.snakeyaml.Yaml;
 
 import java.net.URL;
@@ -39,6 +42,7 @@ import java.nio.file.Files;
 import java.nio.file.Paths;
 import java.util.Base64;
 import java.util.Map;
+import java.util.stream.Stream;
 
 public class TestConfigShade {
   private static final String USERNAME = "admin";
@@ -47,19 +51,19 @@ public class TestConfigShade {
   private static final String BASE64_CONFIG_SHADE_IDENTIFIER =
       new Base64ConfigShade().getIdentifier();
 
-  @Test
-  public void testDecryptOptions() {
-    String encryptUsername = getBase64EncodedText(USERNAME);
-    String encryptPassword = getBase64EncodedText(PASSWORD);
-    Assertions.assertEquals(encryptUsername, "YWRtaW4=");
-    Assertions.assertEquals(encryptPassword, "cGFzc3dvcmQ=");
-
-    String decryptUsername =
-        ConfigShadeUtils.decryptOption(BASE64_CONFIG_SHADE_IDENTIFIER, 
encryptUsername);
-    String decryptPassword =
-        ConfigShadeUtils.decryptOption(BASE64_CONFIG_SHADE_IDENTIFIER, 
encryptPassword);
-    Assertions.assertEquals(decryptUsername, USERNAME);
-    Assertions.assertEquals(decryptPassword, PASSWORD);
+  static Stream<Arguments> encryptedValueProvider() {
+    return Stream.of(Arguments.of(USERNAME, "YWRtaW4="), 
Arguments.of(PASSWORD, "cGFzc3dvcmQ="));
+  }
+
+  @ParameterizedTest
+  @MethodSource("encryptedValueProvider")
+  public void testDecryptOption(String rawValue, String expectedEncoded) {
+    String actualEncoded = getBase64EncodedText(rawValue);
+    Assertions.assertEquals(expectedEncoded, actualEncoded);
+
+    String decrypted =
+        ConfigShadeUtils.decryptOption(BASE64_CONFIG_SHADE_IDENTIFIER, 
actualEncoded);
+    Assertions.assertEquals(rawValue, decrypted);
   }
 
   private String getBase64EncodedText(String plaintext) {

Reply via email to