Skip to content
Snippets Groups Projects
Unverified Commit a923e755 authored by Bjoern Schiessle's avatar Bjoern Schiessle
Browse files

check if the user still exists before we try to cleanup the previews

parent a3f86b99
No related branches found
No related tags found
No related merge requests found
......@@ -30,6 +30,7 @@ use OCP\Files\IRootFolder;
use OCP\Files\NotFoundException;
use OCP\Files\NotPermittedException;
use OCP\ILogger;
use OCP\IUserManager;
class CleanPreviewsBackgroundJob extends QueuedJob {
/** @var IRootFolder */
......@@ -44,6 +45,9 @@ class CleanPreviewsBackgroundJob extends QueuedJob {
/** @var ITimeFactory */
private $timeFactory;
/** @var IUserManager */
private $userManager;
/**
* CleanPreviewsBackgroundJob constructor.
*
......@@ -51,19 +55,26 @@ class CleanPreviewsBackgroundJob extends QueuedJob {
* @param ILogger $logger
* @param IJobList $jobList
* @param ITimeFactory $timeFactory
* @param IUserManager $userManager
*/
public function __construct(IRootFolder $rootFolder,
ILogger $logger,
IJobList $jobList,
ITimeFactory $timeFactory) {
ITimeFactory $timeFactory,
IUserManager $userManager) {
$this->rootFolder = $rootFolder;
$this->logger = $logger;
$this->jobList = $jobList;
$this->timeFactory = $timeFactory;
$this->userManager = $userManager;
}
public function run($arguments) {
$uid = $arguments['uid'];
if (!$this->userManager->userExists($uid)) {
$this->logger->info('User no longer exists, skip user ' . $uid);
return;
}
$this->logger->info('Started preview cleanup for ' . $uid);
$empty = $this->cleanupPreviews($uid);
......
......@@ -30,6 +30,7 @@ use OCP\Files\IRootFolder;
use OCP\Files\NotFoundException;
use OCP\Files\NotPermittedException;
use OCP\ILogger;
use OCP\IUserManager;
use Test\TestCase;
class CleanPreviewsBackgroundJobTest extends TestCase {
......@@ -48,6 +49,9 @@ class CleanPreviewsBackgroundJobTest extends TestCase {
/** @var CleanPreviewsBackgroundJob */
private $job;
/** @var IUserManager|\PHPUnit_Framework_MockObject_MockObject */
private $userManager;
public function setUp() {
parent::setUp();
......@@ -55,12 +59,17 @@ class CleanPreviewsBackgroundJobTest extends TestCase {
$this->logger = $this->createMock(ILogger::class);
$this->jobList = $this->createMock(IJobList::class);
$this->timeFactory = $this->createMock(ITimeFactory::class);
$this->userManager = $this->createMock(IUserManager::class);
$this->userManager->expects($this->any())->method('userExists')->willReturn(true);
$this->job = new CleanPreviewsBackgroundJob(
$this->rootFolder,
$this->logger,
$this->jobList,
$this->timeFactory);
$this->timeFactory,
$this->userManager
);
}
public function testCleanupPreviewsUnfinished() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment