2018-11-06 15:43:53 +01:00
|
|
|
<?php
|
|
|
|
/**
|
2024-05-10 15:09:14 +02:00
|
|
|
* SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
|
|
|
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
2018-11-06 15:43:53 +01:00
|
|
|
*/
|
|
|
|
|
|
|
|
namespace Test\Repair;
|
|
|
|
|
2019-01-20 11:13:41 +01:00
|
|
|
use OC\Avatar\AvatarManager;
|
2018-11-06 15:43:53 +01:00
|
|
|
use OC\Repair\ClearGeneratedAvatarCache;
|
2022-09-19 19:03:27 +02:00
|
|
|
use OCP\BackgroundJob\IJobList;
|
2019-11-22 20:52:10 +01:00
|
|
|
use OCP\IConfig;
|
2024-09-19 18:07:58 +02:00
|
|
|
use PHPUnit\Framework\MockObject\MockObject;
|
2018-11-06 15:43:53 +01:00
|
|
|
|
|
|
|
class ClearGeneratedAvatarCacheTest extends \Test\TestCase {
|
|
|
|
|
2024-09-19 18:07:58 +02:00
|
|
|
private AvatarManager&MockObject $avatarManager;
|
|
|
|
private IConfig&MockObject $config;
|
|
|
|
private IJobList&MockObject $jobList;
|
2022-09-19 19:03:27 +02:00
|
|
|
|
|
|
|
protected ClearGeneratedAvatarCache $repair;
|
2018-11-06 15:43:53 +01:00
|
|
|
|
2019-11-21 16:40:38 +01:00
|
|
|
protected function setUp(): void {
|
2018-11-06 15:43:53 +01:00
|
|
|
parent::setUp();
|
|
|
|
|
|
|
|
$this->avatarManager = $this->createMock(AvatarManager::class);
|
2020-10-05 15:12:57 +02:00
|
|
|
$this->config = $this->createMock(IConfig::class);
|
2022-09-19 19:03:27 +02:00
|
|
|
$this->jobList = $this->createMock(IJobList::class);
|
2018-11-06 15:43:53 +01:00
|
|
|
|
2022-09-19 19:03:27 +02:00
|
|
|
$this->repair = new ClearGeneratedAvatarCache($this->config, $this->avatarManager, $this->jobList);
|
2018-11-06 15:43:53 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
public function shouldRunDataProvider() {
|
|
|
|
return [
|
|
|
|
['11.0.0.0', true],
|
|
|
|
['15.0.0.3', true],
|
|
|
|
['13.0.5.2', true],
|
|
|
|
['12.0.0.0', true],
|
2023-05-09 12:27:46 +02:00
|
|
|
['26.0.0.1', true],
|
2018-11-06 15:43:53 +01:00
|
|
|
['15.0.0.2', true],
|
|
|
|
['13.0.0.0', true],
|
2022-08-31 14:24:25 +02:00
|
|
|
['27.0.0.5', false]
|
2018-11-06 15:43:53 +01:00
|
|
|
];
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @dataProvider shouldRunDataProvider
|
|
|
|
*
|
|
|
|
* @param string $from
|
|
|
|
* @param boolean $expected
|
|
|
|
*/
|
|
|
|
public function testShouldRun($from, $expected): void {
|
|
|
|
$this->config->expects($this->any())
|
2023-04-05 17:42:14 +02:00
|
|
|
->method('getSystemValueString')
|
2020-04-09 09:22:29 +02:00
|
|
|
->with('version', '0.0.0.0')
|
|
|
|
->willReturn($from);
|
2018-11-06 15:43:53 +01:00
|
|
|
|
|
|
|
$this->assertEquals($expected, $this->invokePrivate($this->repair, 'shouldRun'));
|
|
|
|
}
|
|
|
|
}
|