<?php

use PHPUnit\Framework\TestCase;

class KafkaConfigTest extends TestCase
{
    public function testEmptyBrokersThrows(): void
    {
        $this->expectException(\InvalidArgumentException::class);
        new KafkaConfig('');
    }

    public function testGetBrokersReturnsValue(): void
    {
        $config = new KafkaConfig('b1:9092,b2:9092');
        $this->assertSame('b1:9092,b2:9092', $config->getBrokers());
    }

    public function testBaseConfContainsBrokersAndExtra(): void
    {
        if (!extension_loaded('rdkafka')) {
            $this->markTestSkipped('rdkafka extension not installed.');
        }

        $config = new KafkaConfig('127.0.0.1:9092', ['client.id' => 'unit-test']);
        $conf   = $config->baseConf();

        $this->assertInstanceOf(\RdKafka\Conf::class, $conf);

        $dump = $conf->dump();
        $this->assertSame('127.0.0.1:9092', $dump['metadata.broker.list']);
        $this->assertSame('unit-test', $dump['client.id']);
    }
}
