@@ -0,0 +1,3432 @@
+/*%0A * Licensed to the Apache Software Foundation (ASF) under one or more%0A * contributor license agreements.  See the NOTICE file distributed with%0A * this work for additional information regarding copyright ownership.%0A * The ASF licenses this file to You under the Apache License, Version 2.0%0A * (the %22License%22); you may not use this file except in compliance with%0A * the License.  You may obtain a copy of the License at%0A *%0A *     http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS,%0A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A * See the License for the specific language governing permissions and%0A * limitations under the License.%0A */%0A%0Apackage org.apache.shardingsphere.proxy.backend.text.distsql.ral.common.show;%0A%0Aimport org.apache.shardingsphere.authority.config.AuthorityRuleConfiguration;%0Aimport org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration;%0Aimport org.apache.shardingsphere.infra.metadata.rule.ShardingSphereRuleMetaData;%0Aimport org.apache.shardingsphere.infra.metadata.user.ShardingSphereUser;%0Aimport org.apache.shardingsphere.mode.manager.ContextManager;%0Aimport org.apache.shardingsphere.proxy.backend.context.ProxyContext;%0Aimport org.apache.shardingsphere.proxy.backend.response.data.QueryResponseRow;%0Aimport org.apache.shardingsphere.proxy.backend.text.distsql.ral.common.show.executor.ShowAuthorityRuleExecutor;%0Aimport org.junit.Test;%0Aimport org.junit.runner.RunWith;%0Aimport org.mockito.junit.MockitoJUnitRunner;%0A%0Aimport java.sql.SQLException;%0Aimport java.util.ArrayList;%0Aimport java.util.Collections;%0Aimport java.util.List;%0Aimport java.util.Properties;%0A%0Aimport static org.hamcrest.CoreMatchers.is;%0Aimport static org.junit.Assert.assertThat;%0Aimport static org.mockito.Mockito.RETURNS_DEEP_STUBS;%0Aimport static org.mockito.Mockito.mock;%0Aimport static org.mockito.Mockito.when;%0A%0A@RunWith(MockitoJUnitRunner.class)%0Apublic final class ShowAuthorityRuleExecutorTest %7B%0A    %0A    private final ShowAuthorityRuleExecutor executor = new ShowAuthorityRuleExecutor();%0A    %0A    @Test%0A    public void assertAuthorityRule() throws SQLException %7B%0A        ContextManager contextManager = mock(ContextManager.class, RETURNS_DEEP_STUBS);%0A        when(contextManager.getMetaDataContexts().getGlobalRuleMetaData()).thenReturn(getGlobalRuleMetaData());%0A        ProxyContext.getInstance().init(contextManager);%0A        executor.execute();%0A        executor.next();%0A        QueryResponseRow queryResponseRow = executor.getQueryResponseRow();%0A        List%3CObject%3E data = new ArrayList%3C%3E(queryResponseRow.getData());%0A        assertThat(data.size(), is(3));%0A        assertThat(data.get(0), is(%22root@localhost%22));%0A        assertThat(data.get(1), is(%22ALL_PRIVILEGES_PERMITTED%22));%0A        assertThat(data.get(2), is(%22%22));%0A    %7D%0A    %0A    private ShardingSphereRuleMetaData getGlobalRuleMetaData() %7B%0A        ShardingSphereUser root = new ShardingSphereUser(%22root%22, %22%22, %22localhost%22);%0A        AuthorityRuleConfiguration authorityRuleConfiguration = new AuthorityRuleConfiguration(Collections.singletonList(root),%0A                new ShardingSphereAlgorithmConfiguration(%22ALL_PRIVILEGES_PERMITTED%22, new Properties()));%0A        return new ShardingSphereRuleMetaData(Collections.singleton(authorityRuleConfiguration), Collections.emptyList());%0A    %7D%0A%7D%0A

Add test case for ShowAuthorityRuleExecutor (#14915)