30 lines
834 B
PHP
30 lines
834 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Plugin\AzuraCastOnDemandHls\Tests;
|
|
|
|
use InvalidArgumentException;
|
|
use PHPUnit\Framework\Attributes\CoversClass;
|
|
use PHPUnit\Framework\TestCase;
|
|
use Plugin\AzuraCastOnDemandHls\Config;
|
|
|
|
#[CoversClass(Config::class)]
|
|
final class ConfigTest extends TestCase
|
|
{
|
|
public function testDefaultsAreProductionSafe(): void
|
|
{
|
|
$config = new Config();
|
|
self::assertTrue($config->enabled);
|
|
self::assertSame(1800, $config->sessionTtl);
|
|
self::assertSame(6, $config->segmentDuration);
|
|
self::assertGreaterThanOrEqual($config->sessionTtl, $config->cacheTtl);
|
|
}
|
|
|
|
public function testTraversalCannotBeUsedAsCacheDirectory(): void
|
|
{
|
|
$this->expectException(InvalidArgumentException::class);
|
|
new Config(cacheDirectory: '../outside');
|
|
}
|
|
}
|