zhaohaidao commented on code in PR #14271: URL: https://github.com/apache/kafka/pull/14271#discussion_r1324869392
########## group-coordinator/src/test/java/org/apache/kafka/coordinator/group/GroupMetadataManagerTest.java: ########## @@ -8574,6 +8584,93 @@ public void testHeartbeatDuringRebalanceCausesRebalanceInProgress() throws Excep assertEquals(Errors.REBALANCE_IN_PROGRESS.code(), heartbeatResponse.errorCode()); } + @Test + public void testListGroups() { + String consumerGroupId = "consumer-group-id"; + String genericGroupId = "generic-group-id"; + String memberId1 = Uuid.randomUuid().toString(); + String genericGroupType = "generic"; + Uuid fooTopicId = Uuid.randomUuid(); + String fooTopicName = "foo"; + + MockPartitionAssignor assignor = new MockPartitionAssignor("range"); + GroupMetadataManagerTestContext context = new GroupMetadataManagerTestContext.Builder() + .withAssignors(Collections.singletonList(assignor)) + .withConsumerGroup(new ConsumerGroupBuilder(consumerGroupId, 10)) + .build(); + context.replay(newGroupMetadataRecord( + genericGroupId, + new GroupMetadataValue() + .setMembers(Collections.emptyList()) + .setGeneration(2) + .setLeader(null) + .setProtocolType(genericGroupType) + .setProtocol("range") + .setCurrentStateTimestamp(context.time.milliseconds()), + MetadataVersion.latest())); + context.commit(); + context.getOrCreateSnapshot(); + GenericGroup genericGroup = context.groupMetadataManager.getOrMaybeCreateGenericGroup(genericGroupId, false); + + Map<String, ListGroupsResponseData.ListedGroup> actualAllGroupMap = + context.sendListGroups(Collections.emptyList()) + .stream().collect(Collectors.toMap(ListGroupsResponseData.ListedGroup::groupId, Function.identity())); + Map<String, ListGroupsResponseData.ListedGroup> expectAllGroupMap = + Stream.of(new ListGroupsResponseData.ListedGroup() + .setGroupId(genericGroup.groupId()) + .setProtocolType(genericGroupType) + .setGroupState(EMPTY.toString()), + new ListGroupsResponseData.ListedGroup() + .setGroupId(consumerGroupId) + .setProtocolType(ConsumerProtocol.PROTOCOL_TYPE) + .setGroupState(ConsumerGroup.ConsumerGroupState.EMPTY.toString())) + .collect(Collectors.toMap(ListGroupsResponseData.ListedGroup::groupId, Function.identity())); Review Comment: done. -- 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