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/29 02:59:08 UTC

(shardingsphere) branch master updated: Add more test cases on MaskRule (#33447)

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 42a8189b5cd Add more test cases on MaskRule (#33447)
42a8189b5cd is described below

commit 42a8189b5cd89b1ea35cd21fcfe4e6973132d6a7
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Tue Oct 29 10:59:02 2024 +0800

    Add more test cases on MaskRule (#33447)
---
 .../shardingsphere/mask/rule/MaskRuleTest.java     | 43 ++++++++++++++++++++--
 1 file changed, 39 insertions(+), 4 deletions(-)

diff --git a/features/mask/core/src/test/java/org/apache/shardingsphere/mask/rule/MaskRuleTest.java b/features/mask/core/src/test/java/org/apache/shardingsphere/mask/rule/MaskRuleTest.java
index 08b95f43b7f..ff92a461273 100644
--- a/features/mask/core/src/test/java/org/apache/shardingsphere/mask/rule/MaskRuleTest.java
+++ b/features/mask/core/src/test/java/org/apache/shardingsphere/mask/rule/MaskRuleTest.java
@@ -43,15 +43,15 @@ class MaskRuleTest {
     }
     
     private MaskRuleConfiguration createMaskRuleConfiguration() {
-        MaskColumnRuleConfiguration maskColumnRuleConfig = new MaskColumnRuleConfiguration("user_id", "t_mask_user_id_md5");
-        MaskTableRuleConfiguration maskTableRuleConfig = new MaskTableRuleConfiguration("t_mask", Collections.singleton(maskColumnRuleConfig));
+        MaskColumnRuleConfiguration maskColumnRuleConfig = new MaskColumnRuleConfiguration("foo_id", "t_mask_foo_id_md5");
+        MaskTableRuleConfiguration maskTableRuleConfig = new MaskTableRuleConfiguration("foo_tbl", Collections.singleton(maskColumnRuleConfig));
         AlgorithmConfiguration algorithmConfig = new AlgorithmConfiguration("md5", new Properties());
-        return new MaskRuleConfiguration(Collections.singleton(maskTableRuleConfig), Collections.singletonMap("t_mask_user_id_md5", algorithmConfig));
+        return new MaskRuleConfiguration(Collections.singleton(maskTableRuleConfig), Collections.singletonMap("t_mask_foo_id_md5", algorithmConfig));
     }
     
     @Test
     void assertFindMaskTableWhenTableNameExists() {
-        assertTrue(maskRule.findMaskTable("t_mask").isPresent());
+        assertTrue(maskRule.findMaskTable("foo_tbl").isPresent());
     }
     
     @Test
@@ -65,4 +65,39 @@ class MaskRuleTest {
         maskRule.updateConfiguration(toBeUpdatedRuleConfig);
         assertThat(maskRule.getConfiguration(), is(toBeUpdatedRuleConfig));
     }
+    
+    @Test
+    void assertPartialUpdateWithToBeAddedTables() {
+        assertTrue(maskRule.partialUpdate(createPartialAddTablesMaskRuleConfiguration()));
+        assertTrue(maskRule.findMaskTable("bar_tbl").isPresent());
+    }
+    
+    private MaskRuleConfiguration createPartialAddTablesMaskRuleConfiguration() {
+        MaskColumnRuleConfiguration maskColumnRuleConfig = new MaskColumnRuleConfiguration("bar_id", "t_mask_bar_id_md5");
+        MaskTableRuleConfiguration maskTableRuleConfig = new MaskTableRuleConfiguration("bar_tbl", Collections.singleton(maskColumnRuleConfig));
+        AlgorithmConfiguration algorithmConfig = new AlgorithmConfiguration("md5", new Properties());
+        return new MaskRuleConfiguration(Collections.singleton(maskTableRuleConfig), Collections.singletonMap("t_mask_bar_id_md5", algorithmConfig));
+    }
+    
+    @Test
+    void assertPartialUpdateWithToBeRemovedTables() {
+        assertTrue(maskRule.partialUpdate(createPartialRemoveTablesMaskRuleConfiguration()));
+        assertFalse(maskRule.findMaskTable("foo_tbl").isPresent());
+    }
+    
+    private MaskRuleConfiguration createPartialRemoveTablesMaskRuleConfiguration() {
+        AlgorithmConfiguration algorithmConfig = new AlgorithmConfiguration("md5", new Properties());
+        return new MaskRuleConfiguration(Collections.emptyList(), Collections.singletonMap("t_mask_bar_id_md5", algorithmConfig));
+    }
+    
+    @Test
+    void assertPartialUpdateWithToBeRemovedAlgorithms() {
+        assertFalse(maskRule.partialUpdate(createPartialRemovedAlgorithmsMaskRuleConfiguration()));
+    }
+    
+    private MaskRuleConfiguration createPartialRemovedAlgorithmsMaskRuleConfiguration() {
+        MaskColumnRuleConfiguration maskColumnRuleConfig = new MaskColumnRuleConfiguration("foo_id", "t_mask_foo_id_md5");
+        MaskTableRuleConfiguration maskTableRuleConfig = new MaskTableRuleConfiguration("foo_tbl", Collections.singleton(maskColumnRuleConfig));
+        return new MaskRuleConfiguration(Collections.singleton(maskTableRuleConfig), Collections.emptyMap());
+    }
 }