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) {