AndrewJSchofield commented on code in PR #19781: URL: https://github.com/apache/kafka/pull/19781#discussion_r2102460660
########## group-coordinator/src/test/java/org/apache/kafka/coordinator/group/GroupMetadataManagerTest.java: ########## @@ -21963,6 +22016,47 @@ public void testMaybeCleanupShareGroupStateInitDeletedTopicsPresent() { assertEquals(expectedResult, context.groupMetadataManager.maybeCleanupShareGroupState(Set.of(t1Id, t2Id))); } + @Test + public void testCombineInitMaps() { + // Both empty. + Map<Uuid, InitMapValue> m1 = Map.of(); + Map<Uuid, InitMapValue> m2 = Map.of(); + + assertEquals(Map.of(), GroupMetadataManager.combineInitMaps(m1, m2)); + + Uuid t1Id = Uuid.randomUuid(); + String t1Name = "t1"; + Uuid t2Id = Uuid.randomUuid(); + String t2Name = "t2"; + + // m1 non-empty, m2 empty. + m1 = Map.of(t1Id, new InitMapValue(t1Name, Set.of(0), 1)); + assertEquals(m1, GroupMetadataManager.combineInitMaps(m1, m2)); + + // m1 empty, m2 non-empty. + m1 = Map.of(); + m2 = Map.of(t1Id, new InitMapValue(t1Name, Set.of(0), 1)); + assertEquals(m2, GroupMetadataManager.combineInitMaps(m1, m2)); + + // m1 non-empty, m2 non-empty. + m1 = Map.of(t1Id, new InitMapValue(t1Name, Set.of(0), 1)); + m2 = Map.of(t2Id, new InitMapValue(t2Name, Set.of(0), 1)); + assertEquals(Map.of( + t1Id, new InitMapValue(t1Name, Set.of(0), 1), + t2Id, new InitMapValue(t2Name, Set.of(0), 1) + ), GroupMetadataManager.combineInitMaps(m1, m2)); + + // m1 non-empty, m2 non-empty (differ by partition) + m1 = Map.of(t1Id, new InitMapValue(t1Name, Set.of(0), 1)); Review Comment: In these cases, there has to be a choice of timestamp to use. Please use separate timestamps so the assertion can check that the expected timestamp was used. -- 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