fix: Remove incorrect @throws annotations and move away from OC_App

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
This commit is contained in:
Côme Chilliet 2025-02-24 17:02:48 +01:00 committed by Côme Chilliet
parent 3a6345a945
commit d189ed3dd9
2 changed files with 10 additions and 31 deletions

View file

@ -7,9 +7,8 @@
*/
namespace OC\Migration;
use OC\NeedsUpdateException;
use OC\Repair;
use OC_App;
use OCP\App\IAppManager;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\BackgroundJob\IJobList;
use OCP\BackgroundJob\TimedJob;
@ -26,6 +25,7 @@ class BackgroundRepair extends TimedJob {
ITimeFactory $time,
private LoggerInterface $logger,
private IJobList $jobList,
private IAppManager $appManager,
) {
parent::__construct($time);
$this->setInterval(15 * 60);
@ -34,7 +34,6 @@ class BackgroundRepair extends TimedJob {
/**
* @param array $argument
* @throws \Exception
* @throws \OC\NeedsUpdateException
*/
protected function run($argument): void {
if (!isset($argument['app']) || !isset($argument['step'])) {
@ -44,13 +43,7 @@ class BackgroundRepair extends TimedJob {
}
$app = $argument['app'];
try {
$this->loadApp($app);
} catch (NeedsUpdateException $ex) {
// as long as the app is not yet done with it's offline migration
// we better not start with the live migration
return;
}
$this->appManager->loadApp($app);
$step = $argument['step'];
$this->repair->setRepairSteps([]);
@ -73,13 +66,4 @@ class BackgroundRepair extends TimedJob {
// remove the job once executed successfully
$this->jobList->remove($this, $this->argument);
}
/**
* @codeCoverageIgnore
* @param $app
* @throws NeedsUpdateException
*/
protected function loadApp($app): void {
OC_App::loadApp($app);
}
}

View file

@ -9,9 +9,9 @@ namespace Test\Migration;
use OC\BackgroundJob\JobList;
use OC\Migration\BackgroundRepair;
use OC\NeedsUpdateException;
use OC\Repair;
use OC\Repair\Events\RepairStepEvent;
use OCP\App\IAppManager;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\Migration\IOutput;
@ -48,6 +48,7 @@ class BackgroundRepairTest extends TestCase {
private LoggerInterface $logger;
private IEventDispatcher $dispatcher;
private ITimeFactory $time;
private IAppManager $appManager;
private Repair $repair;
protected function setUp(): void {
@ -63,9 +64,10 @@ class BackgroundRepairTest extends TestCase {
$this->time = $this->createMock(ITimeFactory::class);
$this->time->method('getTime')
->willReturn(999999);
$this->appManager = $this->createMock(IAppManager::class);
$this->repair = new Repair($this->dispatcher, $this->logger);
$this->job = $this->getMockBuilder(BackgroundRepair::class)
->setConstructorArgs([$this->repair, $this->time, $this->logger, $this->jobList])
->setConstructorArgs([$this->repair, $this->time, $this->logger, $this->jobList, $this->appManager])
->setMethods(['loadApp'])
->getMock();
}
@ -75,16 +77,6 @@ class BackgroundRepairTest extends TestCase {
$this->job->start($this->jobList);
}
public function testAppUpgrading(): void {
$this->jobList->expects($this->never())->method('remove');
$this->job->expects($this->once())->method('loadApp')->with('test')->willThrowException(new NeedsUpdateException());
$this->job->setArgument([
'app' => 'test',
'step' => 'j'
]);
$this->job->start($this->jobList);
}
public function testUnknownStep(): void {
$this->dispatcher->expects($this->never())->method('dispatchTyped');
@ -103,6 +95,9 @@ class BackgroundRepairTest extends TestCase {
->with($this->equalTo(new RepairStepEvent('A test repair step')));
$this->jobList->expects($this->once())->method('remove');
$this->appManager->expects(self::once())
->method('loadApp')
->with('test');
$this->job->setArgument([
'app' => 'test',