|
|
|
@ -22,23 +22,62 @@ |
|
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/> |
|
|
|
* |
|
|
|
*/ |
|
|
|
|
|
|
|
namespace OCA\Files_Trashbin\Tests\BackgroundJob; |
|
|
|
|
|
|
|
use OCA\Files_Trashbin\BackgroundJob\ExpireTrash; |
|
|
|
use OCA\Files_Trashbin\Expiration; |
|
|
|
use OCP\BackgroundJob\IJobList; |
|
|
|
use OCP\IConfig; |
|
|
|
use OCP\ILogger; |
|
|
|
use OCP\IUserManager; |
|
|
|
use PHPUnit\Framework\MockObject\MockObject; |
|
|
|
use Test\TestCase; |
|
|
|
|
|
|
|
class ExpireTrashTest extends TestCase { |
|
|
|
/** @var IConfig|MockObject */ |
|
|
|
private $config; |
|
|
|
|
|
|
|
/** @var IUserManager|MockObject */ |
|
|
|
private $userManager; |
|
|
|
|
|
|
|
/** @var Expiration|MockObject */ |
|
|
|
private $expiration; |
|
|
|
|
|
|
|
/** @var IJobList|MockObject */ |
|
|
|
private $jobList; |
|
|
|
|
|
|
|
/** @var ILogger|MockObject */ |
|
|
|
private $logger; |
|
|
|
|
|
|
|
class ExpireTrashTest extends \Test\TestCase { |
|
|
|
public function testConstructAndRun() { |
|
|
|
$backgroundJob = new ExpireTrash( |
|
|
|
$this->createMock(IUserManager::class), |
|
|
|
$this->getMockBuilder('OCA\Files_Trashbin\Expiration')->disableOriginalConstructor()->getMock() |
|
|
|
); |
|
|
|
protected function setUp(): void { |
|
|
|
parent::setUp(); |
|
|
|
|
|
|
|
$this->config = $this->createMock(IConfig::class); |
|
|
|
$this->userManager = $this->createMock(IUserManager::class); |
|
|
|
$this->expiration = $this->createMock(Expiration::class); |
|
|
|
$this->jobList = $this->createMock(IJobList::class); |
|
|
|
$this->logger = $this->createMock(ILogger::class); |
|
|
|
|
|
|
|
$this->jobList->expects($this->once()) |
|
|
|
->method('setLastRun'); |
|
|
|
$this->jobList->expects($this->once()) |
|
|
|
->method('setExecutionTime'); |
|
|
|
} |
|
|
|
|
|
|
|
public function testConstructAndRun(): void { |
|
|
|
$job = new ExpireTrash($this->config, $this->userManager, $this->expiration); |
|
|
|
$job->execute($this->jobList, $this->logger); |
|
|
|
} |
|
|
|
|
|
|
|
$jobList = $this->createMock(IJobList::class); |
|
|
|
public function testBackgroundJobDeactivated(): void { |
|
|
|
$this->config->method('getAppValue') |
|
|
|
->with('files_trashbin', 'background_job_expire_trash', 'yes') |
|
|
|
->willReturn('no'); |
|
|
|
$this->expiration->expects($this->never()) |
|
|
|
->method('getMaxAgeAsTimestamp'); |
|
|
|
|
|
|
|
/** @var \OC\BackgroundJob\JobList $jobList */ |
|
|
|
$backgroundJob->execute($jobList); |
|
|
|
$this->addToAssertionCount(1); |
|
|
|
$job = new ExpireTrash($this->config, $this->userManager, $this->expiration); |
|
|
|
$job->execute($this->jobList, $this->logger); |
|
|
|
} |
|
|
|
} |