TaiJuWu commented on code in PR #20598:
URL: https://github.com/apache/kafka/pull/20598#discussion_r2692525010


##########
tools/src/test/java/org/apache/kafka/tools/BrokerApiVersionsCommandTest.java:
##########
@@ -28,36 +25,66 @@
 import org.apache.kafka.common.test.api.ClusterConfigProperty;
 import org.apache.kafka.common.test.api.ClusterTest;
 import org.apache.kafka.common.test.api.ClusterTestDefaults;
+import org.apache.kafka.common.test.api.Type;
 import org.apache.kafka.server.config.ServerConfigs;
 
 import java.util.Arrays;
+import java.util.EnumSet;
 import java.util.Iterator;
 import java.util.List;
-import java.util.Properties;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-@ClusterTestDefaults(serverProperties = {
+@ClusterTestDefaults(types = {Type.KRAFT, Type.CO_KRAFT}, serverProperties = {
     @ClusterConfigProperty(key = 
ServerConfigs.UNSTABLE_API_VERSIONS_ENABLE_CONFIG, value = "true"),
 })
 public class BrokerApiVersionsCommandTest {
+
     @ClusterTest
-    public void testBrokerApiVersionsCommandOutput(ClusterInstance 
clusterInstance) {
-        String output = ToolsTestUtils.grabConsoleOutput(() ->
-                BrokerApiVersionsCommand.mainNoExit("--bootstrap-server", 
clusterInstance.bootstrapServers()));
+    public void 
testBrokerApiVersionsCommandOutputUsingBrokerServer(ClusterInstance 
clusterInstance) {
+        testBrokerApiVersionsCommandOutput(clusterInstance, false);
+    }
+
+    @ClusterTest
+    public void 
testBrokerApiVersionsCommandOutputUsingController(ClusterInstance 
clusterInstance) {
+        testBrokerApiVersionsCommandOutput(clusterInstance, true);
+    }
+
+    private void testBrokerApiVersionsCommandOutput(ClusterInstance 
clusterInstance, boolean usingBootstrapController) {
+        String output = ToolsTestUtils.grabConsoleOutput(() -> {
+            if (usingBootstrapController) {
+                BrokerApiVersionsCommand.mainNoExit("--bootstrap-controller", 
clusterInstance.bootstrapControllers());
+            } else {
+                BrokerApiVersionsCommand.mainNoExit("--bootstrap-server", 
clusterInstance.bootstrapServers());
+            }
+        });
         Iterator<String> lineIter = 
Arrays.stream(output.split("\n")).iterator();
         assertTrue(lineIter.hasNext());
-        assertEquals(clusterInstance.bootstrapServers() + " (id: 0 rack: null 
isFenced: false) -> (", lineIter.next());
+        ApiMessageType.ListenerType listenerType = usingBootstrapController ?
+                ApiMessageType.ListenerType.CONTROLLER : 
ApiMessageType.ListenerType.BROKER;
 
-        ApiMessageType.ListenerType listenerType = 
ApiMessageType.ListenerType.BROKER;
+        if (usingBootstrapController) {
+            int id = clusterInstance.type() == Type.CO_KRAFT ? 0 : 3000;
+            assertEquals(clusterInstance.bootstrapControllers() + " (id: " + 
id + " rack: null isFenced: false) -> (", lineIter.next());
+        } else {
+            assertEquals(clusterInstance.bootstrapServers() + " (id: 0 rack: 
null isFenced: false) -> (", lineIter.next());
+        }

Review Comment:
   refactor?



-- 
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]

Reply via email to