You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by yx...@apache.org on 2023/06/14 00:12:51 UTC

[shardingsphere] branch master updated: Remove EncryptRule.getCipherColumn() (#26329)

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

yx9o 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 572327602e3 Remove EncryptRule.getCipherColumn() (#26329)
572327602e3 is described below

commit 572327602e35306176668d1b493050059580a98c
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Wed Jun 14 08:12:33 2023 +0800

    Remove EncryptRule.getCipherColumn() (#26329)
    
    * Refactor EncryptOrderByItemTokenGeneratorTest
    
    * Remove EncryptRule.getCipherColumn()
---
 .../shardingsphere/encrypt/rule/EncryptRule.java   | 14 ------------
 .../EncryptOrderByItemTokenGeneratorTest.java      | 25 +++++++++-------------
 .../encrypt/rule/EncryptRuleTest.java              | 11 ----------
 3 files changed, 10 insertions(+), 40 deletions(-)

diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptRule.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptRule.java
index 566c923d9ae..ebe0d84dfb3 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptRule.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptRule.java
@@ -17,7 +17,6 @@
 
 package org.apache.shardingsphere.encrypt.rule;
 
-import com.google.common.base.Preconditions;
 import lombok.Getter;
 import org.apache.shardingsphere.encrypt.api.config.CompatibleEncryptRuleConfiguration;
 import org.apache.shardingsphere.encrypt.api.config.EncryptRuleConfiguration;
@@ -188,19 +187,6 @@ public final class EncryptRule implements DatabaseRule, TableContainedRule {
         return result;
     }
     
-    /**
-     * Get cipher column.
-     *
-     * @param tableName table name
-     * @param logicColumnName logic column name
-     * @return cipher column
-     */
-    public String getCipherColumn(final String tableName, final String logicColumnName) {
-        Optional<EncryptTable> table = findEncryptTable(tableName);
-        Preconditions.checkState(table.isPresent());
-        return table.get().getCipherColumn(logicColumnName);
-    }
-    
     /**
      * Get logic and cipher columns map.
      *
diff --git a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptOrderByItemTokenGeneratorTest.java b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptOrderByItemTokenGeneratorTest.java
index 30c7e06e98c..42a3958a028 100644
--- a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptOrderByItemTokenGeneratorTest.java
+++ b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptOrderByItemTokenGeneratorTest.java
@@ -17,7 +17,6 @@
 
 package org.apache.shardingsphere.encrypt.rewrite.token.generator;
 
-import org.apache.shardingsphere.encrypt.api.encrypt.standard.StandardEncryptAlgorithm;
 import org.apache.shardingsphere.encrypt.rule.EncryptRule;
 import org.apache.shardingsphere.encrypt.rule.EncryptTable;
 import org.apache.shardingsphere.infra.binder.segment.select.orderby.OrderByItem;
@@ -48,16 +47,23 @@ import static org.mockito.Mockito.when;
 
 class EncryptOrderByItemTokenGeneratorTest {
     
-    private EncryptOrderByItemTokenGenerator generator;
+    private final EncryptOrderByItemTokenGenerator generator = new EncryptOrderByItemTokenGenerator();
     
     @BeforeEach
     void setup() {
-        generator = new EncryptOrderByItemTokenGenerator();
-        generator.setEncryptRule(buildEncryptRule());
+        generator.setEncryptRule(mockEncryptRule());
         generator.setDatabaseName("db_schema");
         generator.setSchemas(Collections.singletonMap("test", mock(ShardingSphereSchema.class)));
     }
     
+    private EncryptRule mockEncryptRule() {
+        EncryptRule result = mock(EncryptRule.class);
+        EncryptTable encryptTable = mock(EncryptTable.class);
+        when(encryptTable.findEncryptorName("certificate_number")).thenReturn(Optional.of("encryptor_name"));
+        when(result.findEncryptTable("t_encrypt")).thenReturn(Optional.of(encryptTable));
+        return result;
+    }
+    
     @Test
     void assertGenerateSQLTokens() {
         assertThat(generator.generateSQLTokens(buildSelectStatementContext()).size(), is(1));
@@ -77,15 +83,4 @@ class EncryptOrderByItemTokenGeneratorTest {
         when(result.getTablesContext()).thenReturn(new TablesContext(Collections.singletonList(simpleTableSegment), DatabaseTypeEngine.getDatabaseType("MySQL")));
         return result;
     }
-    
-    private EncryptRule buildEncryptRule() {
-        EncryptRule result = mock(EncryptRule.class);
-        EncryptTable encryptTable = mock(EncryptTable.class);
-        when(result.getCipherColumn("t_encrypt", "certificate_number")).thenReturn("cipher_certificate_number");
-        when(result.findAssistedQueryColumn("t_encrypt", "certificate_number")).thenReturn(Optional.of("assisted_certificate_number"));
-        when(encryptTable.findEncryptorName("certificate_number")).thenReturn(Optional.of("encryptor_name"));
-        when(result.findStandardEncryptor("t_encrypt", "certificate_number")).thenReturn(Optional.of(mock(StandardEncryptAlgorithm.class)));
-        when(result.findEncryptTable("t_encrypt")).thenReturn(Optional.of(encryptTable));
-        return result;
-    }
 }
diff --git a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rule/EncryptRuleTest.java b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rule/EncryptRuleTest.java
index 9c9a5ddc95d..32771ec6318 100644
--- a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rule/EncryptRuleTest.java
+++ b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rule/EncryptRuleTest.java
@@ -73,17 +73,6 @@ class EncryptRuleTest {
         }
     }
     
-    @Test
-    void assertGetCipherColumnWhenEncryptColumnExist() {
-        assertThat(new EncryptRule(createEncryptRuleConfiguration()).getCipherColumn("t_encrypt", "pwd"), is("pwd_cipher"));
-    }
-    
-    @Test
-    void assertGetCipherColumnWhenNoEncryptColumn() {
-        // TODO should not throw NPE
-        assertThrows(NullPointerException.class, () -> new EncryptRule(createEncryptRuleConfiguration()).getCipherColumn("t_encrypt", "pwd_cipher"));
-    }
-    
     @Test
     void assertGetLogicAndCipherColumns() {
         assertFalse(new EncryptRule(createEncryptRuleConfiguration()).getLogicAndCipherColumnsMap("t_encrypt").isEmpty());