nextcloud/apps/files/tests/Service/ChunkedUploadConfigTest.php
Josh c86e2d1e67
test: add coverage for ChunkedUploadConfig
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-27 23:44:45 -04:00

50 lines
1.3 KiB
PHP

<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\Files\Tests\Service;
use OCA\Files\Service\ChunkedUploadConfig;
use OCP\IConfig;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\MockObject\MockObject;
use Test\TestCase;
class ChunkedUploadConfigTest extends TestCase {
private IConfig&MockObject $config;
protected function setUp(): void {
parent::setUp();
$this->config = $this->createMock(IConfig::class);
$this->overwriteService(IConfig::class, $this->config);
}
protected function tearDown(): void {
$this->restoreAllServices();
parent::tearDown();
}
public static function dataGetMaxParallelCount(): array {
return [
'configured positive value' => [3, 3],
'boundary minimum' => [1, 1],
'zero becomes one' => [0, 1],
'negative becomes one' => [-2, 1],
'large value passes through' => [100, 100],
];
}
#[DataProvider('dataGetMaxParallelCount')]
public function testGetMaxParallelCount(int $configuredValue, int $expectedValue): void {
$this->config->expects($this->once())
->method('getSystemValueInt')
->with('files.chunked_upload.max_parallel_count', 5)
->willReturn($configuredValue);
$this->assertSame($expectedValue, ChunkedUploadConfig::getMaxParallelCount());
}
}