@@ -92,10 +92,11 @@ class AuthorizerIntegrationTest extends AbstractAuthorizerIntegrationTest {
92
92
val requestKeyToError = (topicNames : Map [Uuid , String ], version : Short ) => Map [ApiKeys , Nothing => Errors ](
93
93
ApiKeys .METADATA -> ((resp : requests.MetadataResponse ) => resp.errors.asScala.find(_._1 == topic).getOrElse((" test" , Errors .NONE ))._2),
94
94
ApiKeys .PRODUCE -> ((resp : requests.ProduceResponse ) => {
95
- val topicId : Uuid = topicNames.find(topicName => topicName._2 == topic).map(_._1).getOrElse(Uuid .ZERO_UUID )
95
+ val topicId = topicNames.find(topicName => topicName._2 == topic).map(_._1).getOrElse(Uuid .ZERO_UUID )
96
+ val topicName = if (version >= 12 ) " " else topic
96
97
Errors .forCode(
97
98
resp.data
98
- .responses.find(topic , topicId)
99
+ .responses.find(topicName , topicId)
99
100
.partitionResponses.asScala.find(_.index == part).get
100
101
.errorCode
101
102
)
@@ -250,18 +251,20 @@ class AuthorizerIntegrationTest extends AbstractAuthorizerIntegrationTest {
250
251
new requests.MetadataRequest .Builder (List (topic).asJava, allowAutoTopicCreation).build()
251
252
}
252
253
253
- private def createProduceRequest =
254
+ private def createProduceRequestWithId ( id : Uuid ) = {
254
255
requests.ProduceRequest .forCurrentMagic(new ProduceRequestData ()
255
- .setTopicData(new ProduceRequestData .TopicProduceDataCollection (
256
- Collections .singletonList(new ProduceRequestData .TopicProduceData ()
257
- .setName(tp.topic).setPartitionData(Collections .singletonList(
258
- new ProduceRequestData .PartitionProduceData ()
259
- .setIndex(tp.partition)
260
- .setRecords(MemoryRecords .withRecords(CompressionType .NONE , new SimpleRecord (" test" .getBytes))))))
261
- .iterator))
262
- .setAcks(1 .toShort)
263
- .setTimeoutMs(5000 ))
256
+ .setTopicData(new ProduceRequestData .TopicProduceDataCollection (
257
+ Collections .singletonList(new ProduceRequestData .TopicProduceData ()
258
+ .setName(tp.topic).setTopicId(id ).setPartitionData(Collections .singletonList(
259
+ new ProduceRequestData .PartitionProduceData ()
260
+ .setIndex(tp.partition)
261
+ .setRecords(MemoryRecords .withRecords(CompressionType .NONE , new SimpleRecord (" test" .getBytes))))))
262
+ .iterator))
263
+ .setAcks(1 .toShort)
264
+ .setTimeoutMs(5000 ))
264
265
.build()
266
+ }
267
+ private def createProduceRequest = createProduceRequestWithId(getTopicIds().getOrElse(tp.topic, Uuid .ZERO_UUID ))
265
268
266
269
private def createFetchRequest = {
267
270
val partitionMap = new util.LinkedHashMap [TopicPartition , requests.FetchRequest .PartitionData ]
@@ -708,7 +711,7 @@ class AuthorizerIntegrationTest extends AbstractAuthorizerIntegrationTest {
708
711
val topicNames = Map (id -> " topic" )
709
712
val requestKeyToRequest = mutable.LinkedHashMap [ApiKeys , AbstractRequest ](
710
713
ApiKeys .METADATA -> createMetadataRequest(allowAutoTopicCreation = false ),
711
- ApiKeys .PRODUCE -> createProduceRequest ,
714
+ ApiKeys .PRODUCE -> createProduceRequestWithId(id) ,
712
715
ApiKeys .FETCH -> createFetchRequestWithUnknownTopic(id, ApiKeys .FETCH .latestVersion()),
713
716
ApiKeys .LIST_OFFSETS -> createListOffsetsRequest,
714
717
ApiKeys .OFFSET_COMMIT -> createOffsetCommitRequest,
0 commit comments