diff --git a/apps/files_sharing/lib/Controller/ExternalSharesController.php b/apps/files_sharing/lib/Controller/ExternalSharesController.php index 8760c012181a3..7f266ea53a3b7 100644 --- a/apps/files_sharing/lib/Controller/ExternalSharesController.php +++ b/apps/files_sharing/lib/Controller/ExternalSharesController.php @@ -7,12 +7,10 @@ */ namespace OCA\Files_Sharing\Controller; -use OCA\Files_Sharing\BackgroundJob\ExternalShareScanJob; use OCA\Files_Sharing\External\Manager; use OCP\AppFramework\Controller; use OCP\AppFramework\Http\Attribute\NoAdminRequired; use OCP\AppFramework\Http\JSONResponse; -use OCP\BackgroundJob\IJobList; use OCP\IRequest; /** @@ -25,7 +23,6 @@ public function __construct( string $appName, IRequest $request, private readonly Manager $externalManager, - private IJobList $jobList, ) { parent::__construct($appName, $request); } @@ -46,7 +43,6 @@ public function create(string $id): JSONResponse { $externalShare = $this->externalManager->getShare($id); if ($externalShare !== false) { $this->externalManager->acceptShare($externalShare); - $this->jobList->add(ExternalShareScanJob::class, [$externalShare->getUser(), $externalShare->getMountpoint()]); } return new JSONResponse(); } diff --git a/apps/files_sharing/lib/External/Manager.php b/apps/files_sharing/lib/External/Manager.php index fa0831b98082c..946e4407f8a34 100644 --- a/apps/files_sharing/lib/External/Manager.php +++ b/apps/files_sharing/lib/External/Manager.php @@ -12,8 +12,10 @@ use OC\Files\SetupManager; use OC\User\NoUserException; use OCA\FederatedFileSharing\Events\FederatedShareAddedEvent; +use OCA\Files_Sharing\BackgroundJob\ExternalShareScanJob; use OCA\Files_Sharing\Helper; use OCP\AppFramework\Db\DoesNotExistException; +use OCP\BackgroundJob\IJobList; use OCP\DB\Exception; use OCP\EventDispatcher\IEventDispatcher; use OCP\Federation\ICloudFederationFactory; @@ -58,6 +60,7 @@ public function __construct( private ICertificateManager $certificateManager, private ExternalShareMapper $externalShareMapper, private IConfig $config, + private IJobList $jobList, ) { $this->user = $userSession->getUser(); } @@ -246,6 +249,7 @@ public function acceptShare(ExternalShare $externalShare, ?IUser $user = null): $externalShare->setMountpoint($mountPoint); $this->externalShareMapper->update($externalShare); $userShareAccepted = true; + $this->jobList->add(ExternalShareScanJob::class, [$externalShare->getUser(), $externalShare->getMountpoint()]); } } else { try { diff --git a/apps/files_sharing/tests/Controller/ExternalShareControllerTest.php b/apps/files_sharing/tests/Controller/ExternalShareControllerTest.php index 401594876d4b2..620b770511eeb 100644 --- a/apps/files_sharing/tests/Controller/ExternalShareControllerTest.php +++ b/apps/files_sharing/tests/Controller/ExternalShareControllerTest.php @@ -11,7 +11,6 @@ use OCA\Files_Sharing\External\ExternalShare; use OCA\Files_Sharing\External\Manager; use OCP\AppFramework\Http\JSONResponse; -use OCP\BackgroundJob\IJobList; use OCP\IRequest; use PHPUnit\Framework\MockObject\MockObject; @@ -23,13 +22,11 @@ class ExternalShareControllerTest extends \Test\TestCase { private IRequest&MockObject $request; private Manager&MockObject $externalManager; - private IJobList&MockObject $jobList; protected function setUp(): void { parent::setUp(); $this->request = $this->createMock(IRequest::class); $this->externalManager = $this->createMock(Manager::class); - $this->jobList = $this->createMock(IJobList::class); } public function getExternalShareController(): ExternalSharesController { @@ -37,7 +34,6 @@ public function getExternalShareController(): ExternalSharesController { 'files_sharing', $this->request, $this->externalManager, - $this->jobList, ); } @@ -61,9 +57,6 @@ public function testCreate(): void { ->expects($this->once()) ->method('acceptShare') ->with($share); - $this->jobList - ->expects($this->once()) - ->method('add'); $this->assertEquals(new JSONResponse(), $this->getExternalShareController()->create('4')); } diff --git a/apps/files_sharing/tests/External/ManagerTest.php b/apps/files_sharing/tests/External/ManagerTest.php index bbfe60f4cbc78..2ce4a90027198 100644 --- a/apps/files_sharing/tests/External/ManagerTest.php +++ b/apps/files_sharing/tests/External/ManagerTest.php @@ -18,6 +18,7 @@ use OCA\Files_Sharing\External\Manager; use OCA\Files_Sharing\External\MountProvider; use OCA\Files_Sharing\Tests\TestCase; +use OCP\BackgroundJob\IJobList; use OCP\Contacts\IManager; use OCP\EventDispatcher\IEventDispatcher; use OCP\Federation\ICloudFederationFactory; @@ -73,6 +74,7 @@ class ManagerTest extends TestCase { protected ICertificateManager&MockObject $certificateManager; private ExternalShareMapper $externalShareMapper; private IConfig $config; + private IJobList&MockObject $jobList; protected function setUp(): void { parent::setUp(); @@ -84,6 +86,7 @@ protected function setUp(): void { $this->cloudFederationProviderManager = $this->createMock(ICloudFederationProviderManager::class); $this->cloudFederationFactory = $this->createMock(ICloudFederationFactory::class); $this->config = $this->createMock(IConfig::class); + $this->jobList = $this->createMock(IJobList::class); $this->groupManager = $this->createMock(IGroupManager::class); $this->userManager = $this->createMock(IUserManager::class); $this->eventDispatcher = $this->createMock(IEventDispatcher::class); @@ -173,6 +176,7 @@ private function createManagerForUser(IUser $user): Manager&MockObject { $this->certificateManager, $this->externalShareMapper, $this->config, + $this->jobList, ] )->onlyMethods(['tryOCMEndPoint'])->getMock(); }