public CompletableFuture<Boolean> allowNamespacePolicyOperationAsync(NamespaceName namespaceName,
                                                                         PolicyName policy,
                                                                         PolicyOperation operation,
                                                                         String role,
                                                                         AuthenticationDataSource authData) {
        if (!this.conf.isAuthorizationEnabled()) {
            return CompletableFuture.completedFuture(true);
        }
        return provider.allowNamespacePolicyOperationAsync(namespaceName, policy, operation, role, authData);
    }
@Test(dataProvider = "roles")
    public void testNamespacePolicyOperationAsync(String role, String originalRole, boolean shouldPass)
            throws Exception {
        boolean isAuthorized = authorizationService.allowNamespacePolicyOperationAsync(
                NamespaceName.get("public/default"), PolicyName.ALL, PolicyOperation.READ, originalRole, role, null)
                .get();
        checkResult(shouldPass, isAuthorized);
    }