mirror of
https://github.com/nextcloud/server.git
synced 2026-06-08 16:26:59 -04:00
Fix RepairTest
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
This commit is contained in:
parent
a2a7150d6d
commit
5d313da709
1 changed files with 26 additions and 19 deletions
|
|
@ -8,14 +8,19 @@
|
|||
|
||||
namespace Test;
|
||||
|
||||
use OCP\EventDispatcher\IEventDispatcher;
|
||||
use OCP\Migration\IRepairStep;
|
||||
use OC\Repair;
|
||||
use OC\Repair\Events\RepairInfoEvent;
|
||||
use OC\Repair\Events\RepairStepEvent;
|
||||
use OC\Repair\Events\RepairWarningEvent;
|
||||
use OC\Repair\Events\RepairErrorEvent;
|
||||
use Psr\Log\LoggerInterface;
|
||||
use Symfony\Component\EventDispatcher\EventDispatcher;
|
||||
|
||||
class RepairStepTest implements IRepairStep {
|
||||
private $warning;
|
||||
class TestRepairStep implements IRepairStep {
|
||||
private bool $warning;
|
||||
|
||||
public function __construct($warning = false) {
|
||||
public function __construct(bool $warning = false) {
|
||||
$this->warning = $warning;
|
||||
}
|
||||
|
||||
|
|
@ -33,28 +38,27 @@ class RepairStepTest implements IRepairStep {
|
|||
}
|
||||
|
||||
class RepairTest extends TestCase {
|
||||
/** @var \OC\Repair */
|
||||
private $repair;
|
||||
private Repair $repair;
|
||||
|
||||
/** @var string[] */
|
||||
private $outputArray;
|
||||
private array $outputArray = [];
|
||||
|
||||
protected function setUp(): void {
|
||||
parent::setUp();
|
||||
$dispatcher = new EventDispatcher();
|
||||
$dispatcher = \OC::$server->get(IEventDispatcher::class);
|
||||
$this->repair = new \OC\Repair([], $dispatcher, $this->createMock(LoggerInterface::class));
|
||||
|
||||
$dispatcher->addListener('\OC\Repair::warning', function ($event) {
|
||||
/** @var \Symfony\Component\EventDispatcher\GenericEvent $event */
|
||||
$this->outputArray[] = 'warning: ' . $event->getArgument(0);
|
||||
$dispatcher->addListener(RepairWarningEvent::class, function (RepairWarningEvent $event) {
|
||||
$this->outputArray[] = 'warning: ' . $event->getMessage();
|
||||
});
|
||||
$dispatcher->addListener('\OC\Repair::info', function ($event) {
|
||||
/** @var \Symfony\Component\EventDispatcher\GenericEvent $event */
|
||||
$this->outputArray[] = 'info: ' . $event->getArgument(0);
|
||||
$dispatcher->addListener(RepairInfoEvent::class, function (RepairInfoEvent $event) {
|
||||
$this->outputArray[] = 'info: ' . $event->getMessage();
|
||||
});
|
||||
$dispatcher->addListener('\OC\Repair::step', function ($event) {
|
||||
/** @var \Symfony\Component\EventDispatcher\GenericEvent $event */
|
||||
$this->outputArray[] = 'step: ' . $event->getArgument(0);
|
||||
$dispatcher->addListener(RepairStepEvent::class, function (RepairStepEvent $event) {
|
||||
$this->outputArray[] = 'step: ' . $event->getStepName();
|
||||
});
|
||||
$dispatcher->addListener(RepairErrorEvent::class, function (RepairErrorEvent $event) {
|
||||
$this->outputArray[] = 'error: ' . $event->getMessage();
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -88,7 +92,7 @@ class RepairTest extends TestCase {
|
|||
$mock = $this->createMock(TestRepairStep::class);
|
||||
$mock->expects($this->any())
|
||||
->method('run')
|
||||
->will($this->throwException(new \Exception()));
|
||||
->will($this->throwException(new \Exception('Exception text')));
|
||||
$mock->expects($this->any())
|
||||
->method('getName')
|
||||
->willReturn('Exception Test');
|
||||
|
|
@ -103,11 +107,14 @@ class RepairTest extends TestCase {
|
|||
$thrown = true;
|
||||
}
|
||||
|
||||
$this->assertTrue($thrown);
|
||||
$this->assertFalse($thrown);
|
||||
// jump out after exception
|
||||
$this->assertEquals(
|
||||
[
|
||||
'step: Exception Test',
|
||||
'error: Exception text',
|
||||
'step: Test Name',
|
||||
'info: Simulated info',
|
||||
],
|
||||
$this->outputArray
|
||||
);
|
||||
Loading…
Reference in a new issue