chirag-wadhwa5 commented on code in PR #16916: URL: https://github.com/apache/kafka/pull/16916#discussion_r1724504350
########## core/src/test/scala/unit/kafka/server/GroupCoordinatorBaseRequestTest.scala: ########## @@ -25,48 +25,14 @@ import org.apache.kafka.common.message.LeaveGroupResponseData.MemberResponse import org.apache.kafka.common.message.SyncGroupRequestData.SyncGroupRequestAssignment import org.apache.kafka.common.message.{ConsumerGroupDescribeRequestData, ConsumerGroupDescribeResponseData, ConsumerGroupHeartbeatRequestData, ConsumerGroupHeartbeatResponseData, DeleteGroupsRequestData, DeleteGroupsResponseData, DescribeGroupsRequestData, DescribeGroupsResponseData, HeartbeatRequestData, HeartbeatResponseData, JoinGroupRequestData, JoinGroupResponseData, LeaveGroupResponseData, ListGroupsRequestData, ListGroupsResponseData, OffsetCommitRequestData, OffsetCommitResponseData, OffsetDeleteRequestData, OffsetDeleteResponseData, OffsetFetchResponseData, ShareGroupDescribeRequestData, ShareGroupDescribeResponseData, ShareGroupHeartbeatRequestData, ShareGroupHeartbeatResponseData, SyncGroupRequestData, SyncGroupResponseData} import org.apache.kafka.common.protocol.{ApiKeys, Errors} -import org.apache.kafka.common.requests.{AbstractRequest, AbstractResponse, ConsumerGroupDescribeRequest, ConsumerGroupDescribeResponse, ConsumerGroupHeartbeatRequest, ConsumerGroupHeartbeatResponse, DeleteGroupsRequest, DeleteGroupsResponse, DescribeGroupsRequest, DescribeGroupsResponse, HeartbeatRequest, HeartbeatResponse, JoinGroupRequest, JoinGroupResponse, LeaveGroupRequest, LeaveGroupResponse, ListGroupsRequest, ListGroupsResponse, OffsetCommitRequest, OffsetCommitResponse, OffsetDeleteRequest, OffsetDeleteResponse, OffsetFetchRequest, OffsetFetchResponse, ShareGroupDescribeRequest, ShareGroupDescribeResponse, ShareGroupHeartbeatRequest, ShareGroupHeartbeatResponse, SyncGroupRequest, SyncGroupResponse} +import org.apache.kafka.common.requests.{ConsumerGroupDescribeRequest, ConsumerGroupDescribeResponse, ConsumerGroupHeartbeatRequest, ConsumerGroupHeartbeatResponse, DeleteGroupsRequest, DeleteGroupsResponse, DescribeGroupsRequest, DescribeGroupsResponse, HeartbeatRequest, HeartbeatResponse, JoinGroupRequest, JoinGroupResponse, LeaveGroupRequest, LeaveGroupResponse, ListGroupsRequest, ListGroupsResponse, OffsetCommitRequest, OffsetCommitResponse, OffsetDeleteRequest, OffsetDeleteResponse, OffsetFetchRequest, OffsetFetchResponse, ShareGroupDescribeRequest, ShareGroupDescribeResponse, ShareGroupHeartbeatRequest, ShareGroupHeartbeatResponse, SyncGroupRequest, SyncGroupResponse} import org.junit.jupiter.api.Assertions.{assertEquals, fail} +import unit.kafka.server.RequestUtilitiesTest import java.util.Comparator -import java.util.stream.Collectors import scala.jdk.CollectionConverters._ -import scala.reflect.ClassTag -class GroupCoordinatorBaseRequestTest(cluster: ClusterInstance) { - private def brokers(): Seq[KafkaBroker] = cluster.brokers.values().stream().collect(Collectors.toList[KafkaBroker]).asScala.toSeq - - private def controllerServers(): Seq[ControllerServer] = cluster.controllers().values().asScala.toSeq - - protected def createOffsetsTopic(): Unit = { - TestUtils.createOffsetsTopicWithAdmin( - admin = cluster.createAdminClient(), - brokers = brokers(), - controllers = controllerServers() - ) - } - - protected def createTopic( - topic: String, - numPartitions: Int - ): Unit = { - TestUtils.createTopicWithAdmin( - admin = cluster.createAdminClient(), - brokers = brokers(), - controllers = controllerServers(), - topic = topic, - numPartitions = numPartitions - ) - } - - protected def isUnstableApiEnabled: Boolean = { - cluster.config.serverProperties.get("unstable.api.versions.enable") == "true" - } - - protected def isNewGroupCoordinatorEnabled: Boolean = { - cluster.config.serverProperties.get("group.coordinator.new.enable") == "true" || - cluster.config.serverProperties.get("group.coordinator.rebalance.protocols").contains("consumer") - } +class GroupCoordinatorBaseRequestTest(cluster: ClusterInstance) extends RequestUtilitiesTest(cluster) { Review Comment: Thanks for the review. It is a utilities class, but as per the implementation of the KafkaClusterTestKit, the cluster created as part of the test is passed on to the parent class via the primary constructor. ```class RequestUtilitiesTest(cluster: ClusterInstance) {``` And we need this cluster instance for the other utility methods to work, that's why it is being inherited. -- 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