dajac commented on a change in pull request #9374:
URL: https://github.com/apache/kafka/pull/9374#discussion_r511800360
##########
File path:
clients/src/test/java/org/apache/kafka/clients/admin/KafkaAdminClientTest.java
##########
@@ -4505,50 +4505,57 @@ public void testDescribeUserScramCredentials() throws
Exception {
user0CredentialInfo1.setIterations(user0Iterations1);
final String user1Name = "user1";
- ScramMechanism user1ScramMechanism = ScramMechanism.SCRAM_SHA_256;
- int user1Iterations = 4096;
+ final ScramMechanism user1ScramMechanism =
ScramMechanism.SCRAM_SHA_256;
+ final int user1Iterations = 4096;
final CredentialInfo user1CredentialInfo = new CredentialInfo();
user1CredentialInfo.setMechanism(user1ScramMechanism.type());
user1CredentialInfo.setIterations(user1Iterations);
- DescribeUserScramCredentialsResponseData responseData = new
DescribeUserScramCredentialsResponseData();
+ final DescribeUserScramCredentialsResponseData responseData = new
DescribeUserScramCredentialsResponseData();
responseData.setResults(Arrays.asList(
new
DescribeUserScramCredentialsResponseData.DescribeUserScramCredentialsResult()
.setUser(user0Name)
.setCredentialInfos(Arrays.asList(user0CredentialInfo0, user0CredentialInfo1)),
new
DescribeUserScramCredentialsResponseData.DescribeUserScramCredentialsResult()
.setUser(user1Name)
-
.setCredentialInfos(Arrays.asList(user1CredentialInfo))));
-
- env.kafkaClient().prepareResponse(new
DescribeUserScramCredentialsResponse(responseData));
-
- List<String> usersRequestedList = asList(user0Name, user1Name);
- Set<String> usersRequestedSet =
usersRequestedList.stream().collect(Collectors.toSet());
- DescribeUserScramCredentialsResult result =
env.adminClient().describeUserScramCredentials(usersRequestedList);
- Map<String, UserScramCredentialsDescription> descriptionResults =
result.all().get();
- KafkaFuture<UserScramCredentialsDescription>
user0DescriptionFuture = result.description(user0Name);
- KafkaFuture<UserScramCredentialsDescription>
user1DescriptionFuture = result.description(user1Name);
- Set<String> usersDescribedFromUsersSet =
result.users().get().stream().collect(Collectors.toSet());
- assertEquals(usersRequestedSet, usersDescribedFromUsersSet);
- Set<String> usersDescribedFromMapKeySet =
descriptionResults.keySet();
- assertEquals(usersRequestedSet, usersDescribedFromMapKeySet);
-
- UserScramCredentialsDescription userScramCredentialsDescription0 =
descriptionResults.get(user0Name);
- assertEquals(user0Name, userScramCredentialsDescription0.name());
- assertEquals(2,
userScramCredentialsDescription0.credentialInfos().size());
- assertEquals(user0ScramMechanism0,
userScramCredentialsDescription0.credentialInfos().get(0).mechanism());
- assertEquals(user0Iterations0,
userScramCredentialsDescription0.credentialInfos().get(0).iterations());
- assertEquals(user0ScramMechanism1,
userScramCredentialsDescription0.credentialInfos().get(1).mechanism());
- assertEquals(user0Iterations1,
userScramCredentialsDescription0.credentialInfos().get(1).iterations());
- assertEquals(userScramCredentialsDescription0,
user0DescriptionFuture.get());
-
- UserScramCredentialsDescription userScramCredentialsDescription1 =
descriptionResults.get(user1Name);
- assertEquals(user1Name, userScramCredentialsDescription1.name());
- assertEquals(1,
userScramCredentialsDescription1.credentialInfos().size());
- assertEquals(user1ScramMechanism,
userScramCredentialsDescription1.credentialInfos().get(0).mechanism());
- assertEquals(user1Iterations,
userScramCredentialsDescription1.credentialInfos().get(0).iterations());
- assertEquals(userScramCredentialsDescription1,
user1DescriptionFuture.get());
+
.setCredentialInfos(singletonList(user1CredentialInfo))));
+ final DescribeUserScramCredentialsResponse response = new
DescribeUserScramCredentialsResponse(responseData);
+
+ final Set<String> usersRequestedSet = new HashSet<>();
+ usersRequestedSet.add(user0Name);
+ usersRequestedSet.add(user1Name);
+
+ for (final List<String> users : asList(null, new
ArrayList<String>(), asList(user0Name, null, user1Name))) {
Review comment:
Sorry, I was not clear. It would be great if we could define separate
unit tests for the different cases that we want to test. In case of failure, we
would know directly which one of the cases has failed. This is why I suggested
to pass an argument `users` as an argument to
`testDescribeUserScramCredentials`.
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]