MINOR: Avoid leaking threads in DelegationTokenEndToEndAuthorizationWithOwnerTest.testDescribeTokenForOtherUserFails (#14959)

Reviewers: Lucas Brutschy <lbrutschy@confluent.io>
diff --git a/core/src/test/scala/integration/kafka/api/DelegationTokenEndToEndAuthorizationWithOwnerTest.scala b/core/src/test/scala/integration/kafka/api/DelegationTokenEndToEndAuthorizationWithOwnerTest.scala
index 6ea5f8e..f6fbd91 100644
--- a/core/src/test/scala/integration/kafka/api/DelegationTokenEndToEndAuthorizationWithOwnerTest.scala
+++ b/core/src/test/scala/integration/kafka/api/DelegationTokenEndToEndAuthorizationWithOwnerTest.scala
@@ -105,17 +105,14 @@
   @ParameterizedTest(name = TestInfoUtils.TestWithParameterizedQuorumName)
   @ValueSource(strings = Array("kraft", "zk"))
   def testDescribeTokenForOtherUserFails(quorum: String): Unit = {
-    val describeTokenFailAdminClient = createScramAdminClient(kafkaClientSaslMechanism, describeTokenFailPrincipal.getName, describeTokenFailPassword)
-    val otherClientAdminClient = createScramAdminClient(kafkaClientSaslMechanism, otherClientPrincipal.getName, otherClientPassword)
-    try {
-      otherClientAdminClient.createDelegationToken().delegationToken().get()
-      val tokens = describeTokenFailAdminClient.describeDelegationToken(
-        new DescribeDelegationTokenOptions().owners(Collections.singletonList(otherClientPrincipal)))
-        .delegationTokens.get.asScala
-      assertTrue(tokens.isEmpty)
-    } finally {
-      describeTokenFailAdminClient.close()
-      otherClientAdminClient.close()
+    TestUtils.resource(createScramAdminClient(kafkaClientSaslMechanism, describeTokenFailPrincipal.getName, describeTokenFailPassword)) { describeTokenFailAdminClient =>
+      TestUtils.resource(createScramAdminClient(kafkaClientSaslMechanism, otherClientPrincipal.getName, otherClientPassword)) { otherClientAdminClient =>
+        otherClientAdminClient.createDelegationToken().delegationToken().get()
+        val tokens = describeTokenFailAdminClient.describeDelegationToken(
+          new DescribeDelegationTokenOptions().owners(Collections.singletonList(otherClientPrincipal))
+        ).delegationTokens.get.asScala
+        assertTrue(tokens.isEmpty)
+      }
     }
   }