@@ -0,0 +1,1704 @@
+/*%0A * Licensed under the Apache License, Version 2.0 (the %22License%22);%0A * you may not use this file except in compliance with the License.%0A * 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 */%0Apackage com.facebook.presto.hive.security;%0A%0Aimport com.facebook.presto.spi.connector.ConnectorAccessControl;%0Aimport org.testng.annotations.Test;%0A%0Aimport java.lang.reflect.Method;%0A%0Aimport static java.lang.String.format;%0A%0Apublic class TestPartitionsAwareAccessControl%0A%7B%0A    @Test%0A    public void testEverythingDelegated()%0A            throws Exception%0A    %7B%0A        checkEverythingImplemented(ConnectorAccessControl.class, PartitionsAwareAccessControl.class);%0A    %7D%0A%0A    private static %3CI%3E void checkEverythingImplemented(Class%3CI%3E interfaceClass, Class%3C? extends I%3E implementationClass)%0A            throws ReflectiveOperationException%0A    %7B%0A        for (Method interfaceMethod : interfaceClass.getMethods()) %7B%0A            Method implementationMethod = implementationClass.getMethod(interfaceMethod.getName(), interfaceMethod.getParameterTypes());%0A            if (interfaceMethod.equals(implementationMethod)) %7B%0A                throw new AssertionError(format(%0A                        %22Method should be overridden in %25s: %25s%22,%0A                        implementationClass,%0A                        interfaceMethod));%0A            %7D%0A        %7D%0A    %7D%0A%7D%0A

Test that delegation in PartitionsAwareAccessControl is complete