@Override
    public void checkBeforeUpdate(final CreateEncryptRuleStatement sqlStatement) {
        if (!sqlStatement.isIfNotExists()) {
            checkDuplicateRuleNames(sqlStatement);
        }
        checkColumnNames(sqlStatement);
        checkAlgorithmTypes(sqlStatement);
        checkToBeCreatedEncryptors(sqlStatement);
        checkDataSources();
    }
@Test
    void assertCreateAESEncryptRuleWithPropertiesNotExists() {
        CreateEncryptRuleStatement sqlStatement = createWrongAESEncryptorSQLStatement();
        EncryptRule rule = mock(EncryptRule.class);
        when(rule.getConfiguration()).thenReturn(getCurrentRuleConfiguration());
        executor.setRule(rule);
        assertThrows(AlgorithmInitializationException.class, () -> executor.checkBeforeUpdate(sqlStatement));
    }