rondagostino commented on code in PR #14083: URL: https://github.com/apache/kafka/pull/14083#discussion_r1298748051
########## core/src/test/scala/unit/kafka/server/DelegationTokenRequestsTest.scala: ########## @@ -109,13 +127,44 @@ class DelegationTokenRequestsTest extends BaseRequestTest with SaslSetup { val expireResult2 = adminClient.expireDelegationToken(token2.hmac()) expiryTimestamp = expireResult2.expiryTimestamp().get() + val expireResult3 = adminClient.expireDelegationToken(token3.hmac()) + expiryTimestamp = expireResult3.expiryTimestamp().get() + + TestUtils.waitUntilTrue(() => brokers.forall(server => server.tokenCache.tokens().size() == 0), + "Timed out waiting for token to propagate to all servers") + tokens = adminClient.describeDelegationToken().delegationTokens().get() assertTrue(tokens.size == 0) //create token with invalid principal type - val renewer3 = List(SecurityUtils.parseKafkaPrincipal("Group:Renewer3")).asJava - val createResult3 = adminClient.createDelegationToken(new CreateDelegationTokenOptions().renewers(renewer3)) - assertThrows(classOf[ExecutionException], () => createResult3.delegationToken().get()).getCause.isInstanceOf[InvalidPrincipalTypeException] + val renewer4 = List(SecurityUtils.parseKafkaPrincipal("Group:Renewer4")).asJava + val createResult4 = adminClient.createDelegationToken(new CreateDelegationTokenOptions().renewers(renewer4)) + val createResult4Error = assertThrows(classOf[ExecutionException], () => createResult4.delegationToken().get()) + assertTrue(createResult4Error.getCause.isInstanceOf[InvalidPrincipalTypeException]) + + // Try to renew a deleted token + val renewResultPostDelete = adminClient.renewDelegationToken(token1.hmac()) + val renewResultPostDeleteError = assertThrows(classOf[ExecutionException], () => renewResultPostDelete.expiryTimestamp().get()) + assertTrue(renewResultPostDeleteError.getCause.isInstanceOf[DelegationTokenNotFoundException]) + + // Create a DelegationToken with a short lifetime to validate the expire code + val createResult5 = adminClient.createDelegationToken(new CreateDelegationTokenOptions() + .renewers(renewer1) + .maxlifeTimeMs(60 * 1000)) + val token5 = createResult5.delegationToken().get() + + TestUtils.waitUntilTrue(() => brokers.forall(server => server.tokenCache.tokens().size() == 1), + "Timed out waiting for token to propagate to all servers") + + Thread.sleep(2 * 60 *1000) Review Comment: Maybe we can use `TestUtils.waitUntilTrue()` instead, with a 2-minute timeout -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org