You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2024/10/28 10:03:28 UTC

(shardingsphere) branch master updated: Add more test cases on GenericTableRandomReplaceAlgorithm (#33438)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new da1bbad64d7 Add more test cases on GenericTableRandomReplaceAlgorithm (#33438)
da1bbad64d7 is described below

commit da1bbad64d7e48fb425acb7a9f20f5710e92e1ca
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Mon Oct 28 18:03:21 2024 +0800

    Add more test cases on GenericTableRandomReplaceAlgorithm (#33438)
---
 .../mask/algorithm/replace/GenericTableRandomReplaceAlgorithm.java  | 6 +++---
 .../algorithm/replace/GenericTableRandomReplaceAlgorithmTest.java   | 3 +++
 .../ingest/incremental/wal/decode/MppdbDecodingPluginTest.java      | 4 +---
 3 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/replace/GenericTableRandomReplaceAlgorithm.java b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/replace/GenericTableRandomReplaceAlgorithm.java
index 0e14b329a44..9a3d9b849e7 100644
--- a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/replace/GenericTableRandomReplaceAlgorithm.java
+++ b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/replace/GenericTableRandomReplaceAlgorithm.java
@@ -83,11 +83,11 @@ public final class GenericTableRandomReplaceAlgorithm implements MaskAlgorithm<O
         char[] chars = result.toCharArray();
         for (int i = 0; i < chars.length; i++) {
             char c = chars[i];
-            if ('A' <= c && c <= 'Z') {
+            if (c >= 'A' && c <= 'Z') {
                 chars[i] = uppercaseLetterCodes.get(random.nextInt(uppercaseLetterCodes.size()));
-            } else if ('a' <= c && c <= 'z') {
+            } else if (c >= 'a' && c <= 'z') {
                 chars[i] = lowercaseLetterCodes.get(random.nextInt(lowercaseLetterCodes.size()));
-            } else if ('0' <= c && c <= '9') {
+            } else if (c >= '0' && c <= '9') {
                 chars[i] = digitalCodes.get(random.nextInt(digitalCodes.size()));
             } else {
                 chars[i] = specialCodes.get(random.nextInt(specialCodes.size()));
diff --git a/features/mask/core/src/test/java/org/apache/shardingsphere/mask/algorithm/replace/GenericTableRandomReplaceAlgorithmTest.java b/features/mask/core/src/test/java/org/apache/shardingsphere/mask/algorithm/replace/GenericTableRandomReplaceAlgorithmTest.java
index e8341b3f310..ab40ff68801 100644
--- a/features/mask/core/src/test/java/org/apache/shardingsphere/mask/algorithm/replace/GenericTableRandomReplaceAlgorithmTest.java
+++ b/features/mask/core/src/test/java/org/apache/shardingsphere/mask/algorithm/replace/GenericTableRandomReplaceAlgorithmTest.java
@@ -31,6 +31,7 @@ import java.util.stream.Collectors;
 import static org.hamcrest.CoreMatchers.anyOf;
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertNull;
 
 class GenericTableRandomReplaceAlgorithmTest {
     
@@ -39,6 +40,7 @@ class GenericTableRandomReplaceAlgorithmTest {
         GenericTableRandomReplaceAlgorithm maskAlgorithm = (GenericTableRandomReplaceAlgorithm) TypedSPILoader.getService(MaskAlgorithm.class, "GENERIC_TABLE_RANDOM_REPLACE",
                 PropertiesBuilder.build(new Property("uppercase-letter-codes", "A,B,C,D"),
                         new Property("lowercase-letter-codes", "a,b,c,d"), new Property("digital-codes", "1,2,3,4"), new Property("special-codes", "~!@#")));
+        assertNull(maskAlgorithm.mask(null));
         assertThat(maskAlgorithm.mask(""), is(""));
         assertThat(maskAlgorithm.mask("Ab1!").charAt(0), anyOf(is('A'), is('B'), is('C'), is('D')));
         assertThat(maskAlgorithm.mask("Ab1!").charAt(1), anyOf(is('a'), is('b'), is('c'), is('d')));
@@ -49,6 +51,7 @@ class GenericTableRandomReplaceAlgorithmTest {
     @Test
     void assertMaskWithEmptyProps() {
         GenericTableRandomReplaceAlgorithm maskAlgorithm = (GenericTableRandomReplaceAlgorithm) TypedSPILoader.getService(MaskAlgorithm.class, "GENERIC_TABLE_RANDOM_REPLACE", new Properties());
+        assertNull(maskAlgorithm.mask(null));
         assertThat(maskAlgorithm.mask("Ab1!").substring(0, 1), anyOf(Arrays.stream("ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("")).map(CoreMatchers::is).collect(Collectors.toList())));
         assertThat(maskAlgorithm.mask("Ab1!").substring(1, 2), anyOf(Arrays.stream("abcdefghijklmnopqrstuvwxyz".split("")).map(CoreMatchers::is).collect(Collectors.toList())));
         assertThat(maskAlgorithm.mask("Ab1!").substring(2, 3), anyOf(Arrays.stream("0123456789".split("")).map(CoreMatchers::is).collect(Collectors.toList())));
diff --git a/kernel/data-pipeline/dialect/opengauss/src/test/java/org/apache/shardingsphere/data/pipeline/opengauss/ingest/incremental/wal/decode/MppdbDecodingPluginTest.java b/kernel/data-pipeline/dialect/opengauss/src/test/java/org/apache/shardingsphere/data/pipeline/opengauss/ingest/incremental/wal/decode/MppdbDecodingPluginTest.java
index 4a00864fb82..219e35e25fa 100644
--- a/kernel/data-pipeline/dialect/opengauss/src/test/java/org/apache/shardingsphere/data/pipeline/opengauss/ingest/incremental/wal/decode/MppdbDecodingPluginTest.java
+++ b/kernel/data-pipeline/dialect/opengauss/src/test/java/org/apache/shardingsphere/data/pipeline/opengauss/ingest/incremental/wal/decode/MppdbDecodingPluginTest.java
@@ -52,9 +52,7 @@ import static org.mockito.Mockito.when;
 
 class MppdbDecodingPluginTest {
     
-    private final LogSequenceNumber pgSequenceNumber = LogSequenceNumber.valueOf("0/14EFDB8");
-    
-    private final OpenGaussLogSequenceNumber logSequenceNumber = new OpenGaussLogSequenceNumber(pgSequenceNumber);
+    private final OpenGaussLogSequenceNumber logSequenceNumber = new OpenGaussLogSequenceNumber(LogSequenceNumber.valueOf("0/14EFDB8"));
     
     @Test
     void assertDecodeWriteRowEvent() {