From cc6b919212ae62d75850214ae2c93379b78ff325 Mon Sep 17 00:00:00 2001 From: "Kuan-Po (Cooper) Tseng" Date: Tue, 2 Apr 2024 04:21:10 +0800 Subject: [PATCH] KAFKA-16435 Add test for KAFKA-16428 (#15635) Reviewers: Chia-Ping Tsai --- .../zk/migration/ZkConfigMigrationClientTest.scala | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/core/src/test/scala/unit/kafka/zk/migration/ZkConfigMigrationClientTest.scala b/core/src/test/scala/unit/kafka/zk/migration/ZkConfigMigrationClientTest.scala index 971fdecbb83..755817f3687 100644 --- a/core/src/test/scala/unit/kafka/zk/migration/ZkConfigMigrationClientTest.scala +++ b/core/src/test/scala/unit/kafka/zk/migration/ZkConfigMigrationClientTest.scala @@ -40,9 +40,10 @@ import org.apache.kafka.metadata.migration.ZkMigrationLeadershipState import org.apache.kafka.server.common.ApiMessageAndVersion import org.apache.kafka.server.config.ConfigType import org.apache.kafka.server.util.MockRandom -import org.junit.jupiter.api.Assertions.{assertEquals, assertTrue, fail} +import org.junit.jupiter.api.Assertions.{assertEquals, assertFalse, assertTrue, fail} import org.junit.jupiter.api.Test +import java.nio.charset.StandardCharsets.UTF_8 import java.util import java.util.Properties import scala.collection.Map @@ -112,10 +113,20 @@ class ZkConfigMigrationClientTest extends ZkMigrationTestHarness { assertEquals(newProps.get(key), value) } } + assertPathExistenceAndData("/config/changes/config_change_0000000000", """{"version":2,"entity_path":"brokers/1"}""") migrationState = migrationClient.configClient().deleteConfigs( new ConfigResource(ConfigResource.Type.BROKER, "1"), migrationState) assertEquals(0, zkClient.getEntityConfigs(ConfigType.BROKER, "1").size()) + assertPathExistenceAndData("/config/changes/config_change_0000000001", """{"version":2,"entity_path":"brokers/1"}""") + + // make sure there is no more config change notification in znode + assertFalse(zkClient.pathExists("/config/changes/config_change_0000000002")) + } + + private def assertPathExistenceAndData(expectedPath: String, data: String): Unit = { + assertTrue(zkClient.pathExists(expectedPath)) + assertEquals(Some(data), zkClient.getDataAndStat(expectedPath)._1.map(new String(_, UTF_8))) } @Test