From 908049fccc8eb09007798ead7b6c4bbd109d141d Mon Sep 17 00:00:00 2001 From: Lan Ding Date: Sat, 19 Jul 2025 19:31:25 +0800 Subject: [PATCH] MINOR: add a test for Protocol (#20169) see https://github.com/apache/kafka/pull/19769#issuecomment-3065869429 This patch adds a test to `ProtocolTest` to ensure the Protocol page displays the correct API version range. Reviewers: Yung , TengYao Chi , Gaurav Narula , Ken Huang , Jimmy Wang --- .../apache/kafka/common/protocol/ProtocolTest.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/clients/src/test/java/org/apache/kafka/common/protocol/ProtocolTest.java b/clients/src/test/java/org/apache/kafka/common/protocol/ProtocolTest.java index adcabba1a49..7a6d05778ed 100644 --- a/clients/src/test/java/org/apache/kafka/common/protocol/ProtocolTest.java +++ b/clients/src/test/java/org/apache/kafka/common/protocol/ProtocolTest.java @@ -19,6 +19,7 @@ package org.apache.kafka.common.protocol; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; public class ProtocolTest { @@ -27,6 +28,18 @@ public class ProtocolTest { var html = Protocol.toHtml(); assertFalse(html.isBlank()); assertFalse(html.contains("LeaderAndIsr"), "Removed LeaderAndIsr should not show in HTML"); + + String requestVersion; + String responseVersion; + for (ApiKeys key : ApiKeys.clientApis()) { + for (short version = key.oldestVersion(); version <= key.latestVersion(); version++) { + requestVersion = key.name + " Request (Version: " + version; + responseVersion = key.name + " Response (Version: " + version; + + assertTrue(html.contains(requestVersion), "Missing request header for " + key.name + " version:" + version); + assertTrue(html.contains(responseVersion), "Missing response header for " + key.name + " version:" + version); + } + } } }