Yunyung commented on code in PR #18935: URL: https://github.com/apache/kafka/pull/18935#discussion_r2023713551
########## clients/src/test/java/org/apache/kafka/common/network/ChannelBuildersTest.java: ########## @@ -34,16 +37,42 @@ import static org.junit.jupiter.api.Assertions.assertInstanceOf; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; public class ChannelBuildersTest { @Test - public void testCreateConfigurableKafkaPrincipalBuilder() { - Map<String, Object> configs = new HashMap<>(); - configs.put(BrokerSecurityConfigs.PRINCIPAL_BUILDER_CLASS_CONFIG, ConfigurableKafkaPrincipalBuilder.class); - KafkaPrincipalBuilder builder = ChannelBuilders.createPrincipalBuilder(configs, null, null); - assertInstanceOf(ConfigurableKafkaPrincipalBuilder.class, builder); - assertTrue(((ConfigurableKafkaPrincipalBuilder) builder).configured); + public void testCreateConfigurableKafkaPrincipalBuilder() throws Exception { + Map<String, Object> configs = Map.of( + BrokerSecurityConfigs.PRINCIPAL_BUILDER_CLASS_CONFIG, ConfigurableKafkaPrincipalBuilder.class); + Selector.SelectorMetrics selectorMetrics = mock(Selector.SelectorMetrics.class); + when(selectorMetrics.metrics()).thenReturn(null); + when(selectorMetrics.metricTags()).thenReturn(Map.of("k1", "v1")); + try (Plugin<KafkaPrincipalBuilder> builderPlugin = + ChannelBuilders.createPrincipalBuilderPlugin(configs, null, null, selectorMetrics)) { + assertInstanceOf(ConfigurableKafkaPrincipalBuilder.class, builderPlugin.get()); + assertTrue(((ConfigurableKafkaPrincipalBuilder) builderPlugin.get()).configured); + } + } + + @Test + public void testCreateMonitorableKafkaPrincipalBuilder() throws Exception { + Map<String, Object> configs = Map.of( + BrokerSecurityConfigs.PRINCIPAL_BUILDER_CLASS_CONFIG, MonitorableKafkaPrincipalBuilder.class); + Metrics metrics = new Metrics(); + Selector.SelectorMetrics selectorMetrics = mock(Selector.SelectorMetrics.class); + when(selectorMetrics.metrics()).thenReturn(metrics); + when(selectorMetrics.metricTags()).thenReturn(Map.of("k1", "v1")); Review Comment: Could we test if k1 and v1 are actually created here? Additionally, would it be better to name them using the listener name and network processor ID? ########## clients/src/test/java/org/apache/kafka/common/security/authenticator/SaslServerAuthenticatorTest.java: ########## @@ -287,12 +290,15 @@ private MockedStatic<?> mockSaslServer(SaslServer saslServer, String mechanism, } private MockedStatic<?> mockKafkaPrincipal(String principalType, String name) { + Review Comment: nit: remove extra space -- 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