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

Reply via email to