jeffkbkim commented on code in PR #13704: URL: https://github.com/apache/kafka/pull/13704#discussion_r1191438825
########## group-coordinator/src/test/java/org/apache/kafka/coordinator/group/RecordHelpersTest.java: ########## @@ -383,4 +398,84 @@ public void testNewCurrentAssignmentTombstoneRecord() { "member-id" )); } + + @Test + public void testNewGroupMetadataRecord() { + Time time = new MockTime(); + + List<GroupMetadataValue.MemberMetadata> expectedMembers = new ArrayList<>(); + expectedMembers.add( + new GroupMetadataValue.MemberMetadata() + .setMemberId("member-1") + .setClientId("client-1") + .setClientHost("host-1") + .setRebalanceTimeout(1000) + .setSessionTimeout(1500) + .setGroupInstanceId("group-instance-1") + .setSubscription(new byte[]{0, 1}) + .setAssignment(new byte[]{1, 2}) + ); + + expectedMembers.add( + new GroupMetadataValue.MemberMetadata() + .setMemberId("member-2") + .setClientId("client-2") + .setClientHost("host-2") + .setRebalanceTimeout(1000) + .setSessionTimeout(1500) + .setGroupInstanceId("group-instance-2") + .setSubscription(new byte[]{1, 2}) + .setAssignment(new byte[]{2, 3}) + ); + + Record expectedRecord = new Record( + new ApiMessageAndVersion( + new GroupMetadataKey() + .setGroup("group-id"), + (short) 2), + new ApiMessageAndVersion( + new GroupMetadataValue() + .setProtocol("range") + .setProtocolType("consumer") + .setLeader("member-1") + .setGeneration(1) + .setCurrentStateTimestamp(time.milliseconds()) + .setMembers(expectedMembers), + (short) 3)); + + GenericGroup group = new GenericGroup( + new LogContext(), + "group-id", + GenericGroupState.PREPARING_REBALANCE, + time + ); + + Map<String, byte[]> memberAssignments = new HashMap<>(); + expectedMembers.forEach(member -> { + memberAssignments.put(member.memberId(), member.assignment()); + group.add(new GenericGroupMember( + member.memberId(), + Optional.of(member.groupInstanceId()), + member.clientId(), + member.clientHost(), + member.rebalanceTimeout(), + member.sessionTimeout(), + "consumer", + Collections.singletonList(new Protocol( + "range", + member.subscription() + )), + member.assignment() + )); + }); + + group.initNextGeneration(); + Record groupMetadataRecord = RecordHelpers.newGroupMetadataRecord( + group, + memberAssignments, + MetadataVersion.IBP_3_5_IV2 + ); + + assertEquals(expectedRecord, groupMetadataRecord); + } } Review Comment: i updated `testNewGroupMetadataRecord` for 3). can you take a look? -- 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