frankvicky commented on code in PR #22511:
URL: https://github.com/apache/kafka/pull/22511#discussion_r3381112874
##########
group-coordinator/src/test/java/org/apache/kafka/coordinator/group/GroupCoordinatorConfigTest.java:
##########
@@ -821,6 +826,90 @@ public void testDLQTopicNamePrefixCustomValue() {
assertEquals("my-dlq-", config.errorsDLQTopicNamePrefix());
}
+ @Test
+ public void testStreamsGroupTopologyDescriptionPluginDefaultIsNull() {
+ GroupCoordinatorConfig config = createConfig(new HashMap<>());
+ assertNull(config.streamsGroupTopologyDescriptionPlugin(Map.of()));
+ }
+
+ @Test
+ public void testStreamsGroupTopologyDescriptionPluginLoadedAndConfigured()
{
+ Map<String, Object> configs = new HashMap<>();
+
configs.put(GroupCoordinatorConfig.STREAMS_GROUP_TOPOLOGY_DESCRIPTION_PLUGIN_CLASS_CONFIG,
+ TestTopologyDescriptionPlugin.class.getName());
+ GroupCoordinatorConfig config = createConfig(configs);
+
+ StreamsGroupTopologyDescriptionPlugin plugin =
+ config.streamsGroupTopologyDescriptionPlugin(Map.of());
+ assertInstanceOf(TestTopologyDescriptionPlugin.class, plugin);
+ assertNotNull(((TestTopologyDescriptionPlugin) plugin).configs);
+ }
+
+ @Test
+ public void testStreamsGroupTopologyDescriptionPluginAcceptsClassObject() {
+ Map<String, Object> configs = new HashMap<>();
+
configs.put(GroupCoordinatorConfig.STREAMS_GROUP_TOPOLOGY_DESCRIPTION_PLUGIN_CLASS_CONFIG,
+ TestTopologyDescriptionPlugin.class);
+ GroupCoordinatorConfig config = createConfig(configs);
+
+ assertInstanceOf(TestTopologyDescriptionPlugin.class,
+ config.streamsGroupTopologyDescriptionPlugin(Map.of()));
+ }
+
+ @Test
+ public void
testStreamsGroupTopologyDescriptionPluginReceivesAdditionalConfigs() {
+ Map<String, Object> configs = new HashMap<>();
+
configs.put(GroupCoordinatorConfig.STREAMS_GROUP_TOPOLOGY_DESCRIPTION_PLUGIN_CLASS_CONFIG,
+ TestTopologyDescriptionPlugin.class);
+ GroupCoordinatorConfig config = createConfig(configs);
+
+ try (TestTopologyDescriptionPlugin plugin =
(TestTopologyDescriptionPlugin)
+
config.streamsGroupTopologyDescriptionPlugin(Map.of("injected.handle",
"value"))) {
+ assertEquals("value", plugin.configs.get("injected.handle"));
+ }
+ }
+
+ @Test
+ public void
testStreamsGroupTopologyDescriptionPluginReturnsFreshInstancePerCall() {
+ Map<String, Object> configs = new HashMap<>();
+
configs.put(GroupCoordinatorConfig.STREAMS_GROUP_TOPOLOGY_DESCRIPTION_PLUGIN_CLASS_CONFIG,
+ TestTopologyDescriptionPlugin.class);
+ GroupCoordinatorConfig config = createConfig(configs);
+
+ StreamsGroupTopologyDescriptionPlugin first =
+ config.streamsGroupTopologyDescriptionPlugin(Map.of());
+ StreamsGroupTopologyDescriptionPlugin second =
+ config.streamsGroupTopologyDescriptionPlugin(Map.of());
+ assertNotSame(first, second);
+ }
Review Comment:
updated the pr description.
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]