You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by mm...@apache.org on 2021/11/01 19:24:39 UTC

[accumulo] branch main updated: Modify shutdown test in ManagerApiIT (#2333)

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

mmiller pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo.git


The following commit(s) were added to refs/heads/main by this push:
     new 82df376  Modify shutdown test in ManagerApiIT (#2333)
82df376 is described below

commit 82df376b1fe5b222c6156a64afeac252beb26441
Author: Mike Miller <mm...@apache.org>
AuthorDate: Mon Nov 1 15:24:30 2021 -0400

    Modify shutdown test in ManagerApiIT (#2333)
    
    * Closes #2327
    * Rework last test to create 2 connections before shutting down
---
 .../accumulo/test/functional/ManagerApiIT.java     | 25 ++++++++++++++++------
 1 file changed, 19 insertions(+), 6 deletions(-)

diff --git a/test/src/main/java/org/apache/accumulo/test/functional/ManagerApiIT.java b/test/src/main/java/org/apache/accumulo/test/functional/ManagerApiIT.java
index 199cfab..1b39b4c 100644
--- a/test/src/main/java/org/apache/accumulo/test/functional/ManagerApiIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/functional/ManagerApiIT.java
@@ -210,12 +210,19 @@ public class ManagerApiIT extends SharedMiniClusterBase {
   // see the junit annotation to control test ordering at the top of this class
   @Test
   public void z99_testPermissions_shutdown() throws Exception {
-    // To shutdown, user needs SystemPermission.SYSTEM
-    op = user -> client -> client.shutdown(null, user, false);
-    expectPermissionDenied(op, regularUser);
-    // We should be able to do both of the following RPC calls before it actually shuts down
-    expectPermissionSuccess(op, rootUser);
-    expectPermissionSuccess(op, privilegedUser);
+    // grab connections before shutting down
+    var rootUserBuilder = Accumulo.newClient().from(getClientProps()).as(rootUser.getPrincipal(),
+        rootUser.getToken());
+    var privUserBuilder = Accumulo.newClient().from(getClientProps())
+        .as(privilegedUser.getPrincipal(), privilegedUser.getToken());
+    try (var rootClient = rootUserBuilder.build(); var privClient = privUserBuilder.build()) {
+      // To shutdown, user needs SystemPermission.SYSTEM
+      op = user -> client -> client.shutdown(null, user, false);
+      expectPermissionDenied(op, regularUser);
+      // We should be able to do both of the following RPC calls before it actually shuts down
+      expectPermissionSuccess(op, (ClientContext) rootClient);
+      expectPermissionSuccess(op, (ClientContext) privClient);
+    }
   }
 
   private static void expectPermissionSuccess(
@@ -228,6 +235,12 @@ public class ManagerApiIT extends SharedMiniClusterBase {
     }
   }
 
+  private static void expectPermissionSuccess(
+      Function<TCredentials,ClientExec<ManagerClientService.Client>> op, ClientContext context)
+      throws Exception {
+    ManagerClient.executeVoid(context, op.apply(context.rpcCreds()));
+  }
+
   private static void expectPermissionDenied(
       Function<TCredentials,ClientExec<ManagerClientService.Client>> op, Credentials user)
       throws Exception {