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 <[email protected]>
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() {