|
7 | 7 | use ConsumeTrait;
|
8 | 8 | use InvalidArgumentException;
|
9 | 9 | use PHPUnit\Framework\TestCase;
|
| 10 | +use RequireVersionTrait; |
10 | 11 |
|
11 | 12 | /**
|
12 | 13 | * @covers \RdKafka\TopicConf
|
|
16 | 17 | */
|
17 | 18 | class TopicConfTest extends TestCase
|
18 | 19 | {
|
| 20 | + use RequireVersionTrait; |
19 | 21 | use ConsumeTrait;
|
20 | 22 |
|
21 | 23 | public function testDump(): void
|
@@ -119,6 +121,17 @@ public function testSetPartitionerWithUnknownId(): void
|
119 | 121 | $conf->setPartitioner(9999);
|
120 | 122 | }
|
121 | 123 |
|
| 124 | + public function testSetPartitionerWithUnsupportedTypeShouldFail(): void |
| 125 | + { |
| 126 | + $this->requiresLibrdkafkaVersion('<', '1.4.0'); |
| 127 | + |
| 128 | + $conf = new TopicConf(); |
| 129 | + |
| 130 | + $this->expectException(\RuntimeException::class); |
| 131 | + $this->expectExceptionMessageMatches('/rd_kafka_msg_partitioner_fnv1a_random/'); |
| 132 | + $conf->setPartitioner(RD_KAFKA_MSG_PARTITIONER_FNV1A); |
| 133 | + } |
| 134 | + |
122 | 135 | /**
|
123 | 136 | * @group ffiOnly
|
124 | 137 | */
|
@@ -170,7 +183,11 @@ public function testSetPartitionerCbWithCallback(): void
|
170 | 183 | $topicConf = new TopicConf();
|
171 | 184 | $topicConf->setOpaque($expectedTopicOpaque);
|
172 | 185 | $topicConf->setPartitionerCb(
|
173 |
| - function (?string $key, int $partitionCount, ?object $topic_opaque = null, ?object $message_opaque = null) use (&$callbackTopicOpaque, &$callbackMessageOpaque) { |
| 186 | + function (?string $key, int $partitionCount, ?object $topic_opaque = null, ?object $message_opaque = null) use ( |
| 187 | + & |
| 188 | + $callbackTopicOpaque, |
| 189 | + &$callbackMessageOpaque |
| 190 | + ) { |
174 | 191 | $callbackTopicOpaque = $topic_opaque;
|
175 | 192 | $callbackMessageOpaque = $message_opaque;
|
176 | 193 | // force partition 2
|
|
0 commit comments