From 478241ceb0e04d534ebf68745adeb008ea7100f8 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Mon, 26 Aug 2019 13:47:35 +0200 Subject: [PATCH] adjust tests Signed-off-by: Arthur Schiwon --- .../Storage/Wrapper/AvailabilityTest.php | 94 +++++++++++-------- 1 file changed, 53 insertions(+), 41 deletions(-) diff --git a/tests/lib/Files/Storage/Wrapper/AvailabilityTest.php b/tests/lib/Files/Storage/Wrapper/AvailabilityTest.php index 5ea7f8403ce..1672d17e36b 100644 --- a/tests/lib/Files/Storage/Wrapper/AvailabilityTest.php +++ b/tests/lib/Files/Storage/Wrapper/AvailabilityTest.php @@ -21,29 +21,46 @@ namespace Test\Files\Storage\Wrapper; +use OC\Files\Cache\Storage as StorageCache; +use OC\Files\Storage\Temporary; +use OC\Files\Storage\Wrapper\Availability; +use OCP\Files\StorageNotAvailableException; + class AvailabilityTest extends \Test\TestCase { - protected function getWrapperInstance() { - $storage = $this->getMockBuilder('\OC\Files\Storage\Temporary') - ->disableOriginalConstructor() - ->getMock(); - $wrapper = new \OC\Files\Storage\Wrapper\Availability(['storage' => $storage]); - return [$storage, $wrapper]; + + /** @var \PHPUnit\Framework\MockObject\MockObject|StorageCache */ + protected $storageCache; + /** @var \PHPUnit\Framework\MockObject\MockObject|Temporary */ + protected $storage; + /** @var Availability */ + protected $wrapper; + + public function setUp() { + parent::setUp(); + + $this->storageCache = $this->createMock(StorageCache::class); + + $this->storage = $this->createMock(Temporary::class); + $this->storage->expects($this->any()) + ->method('getStorageCache') + ->willReturn($this->storageCache); + + $this->wrapper = new Availability(['storage' => $this->storage]); } /** * Storage is available */ public function testAvailable() { - list($storage, $wrapper) = $this->getWrapperInstance(); - $storage->expects($this->once()) + $this->storage->expects($this->once()) ->method('getAvailability') ->willReturn(['available' => true, 'last_checked' => 0]); - $storage->expects($this->never()) + $this->storage->expects($this->never()) ->method('test'); - $storage->expects($this->once()) + $this->storage->expects($this->once()) ->method('mkdir'); - $wrapper->mkdir('foobar'); + $this->wrapper->mkdir('foobar'); } /** @@ -52,39 +69,37 @@ class AvailabilityTest extends \Test\TestCase { * @expectedException \OCP\Files\StorageNotAvailableException */ public function testUnavailable() { - list($storage, $wrapper) = $this->getWrapperInstance(); - $storage->expects($this->once()) + $this->storage->expects($this->once()) ->method('getAvailability') ->willReturn(['available' => false, 'last_checked' => time()]); - $storage->expects($this->never()) + $this->storage->expects($this->never()) ->method('test'); - $storage->expects($this->never()) + $this->storage->expects($this->never()) ->method('mkdir'); - $wrapper->mkdir('foobar'); + $this->wrapper->mkdir('foobar'); } /** * Storage marked unavailable, TTL expired */ public function testUnavailableRecheck() { - list($storage, $wrapper) = $this->getWrapperInstance(); - $storage->expects($this->once()) + $this->storage->expects($this->once()) ->method('getAvailability') ->willReturn(['available' => false, 'last_checked' => 0]); - $storage->expects($this->once()) + $this->storage->expects($this->once()) ->method('test') ->willReturn(true); - $storage->expects($this->exactly(2)) + $this->storage->expects($this->exactly(2)) ->method('setAvailability') ->withConsecutive( [$this->equalTo(false)], // prevents concurrent rechecks [$this->equalTo(true)] // sets correct availability ); - $storage->expects($this->once()) + $this->storage->expects($this->once()) ->method('mkdir'); - $wrapper->mkdir('foobar'); + $this->wrapper->mkdir('foobar'); } /** @@ -93,20 +108,19 @@ class AvailabilityTest extends \Test\TestCase { * @expectedException \OCP\Files\StorageNotAvailableException */ public function testAvailableThrowStorageNotAvailable() { - list($storage, $wrapper) = $this->getWrapperInstance(); - $storage->expects($this->once()) + $this->storage->expects($this->once()) ->method('getAvailability') ->willReturn(['available' => true, 'last_checked' => 0]); - $storage->expects($this->never()) + $this->storage->expects($this->never()) ->method('test'); - $storage->expects($this->once()) + $this->storage->expects($this->once()) ->method('mkdir') - ->will($this->throwException(new \OCP\Files\StorageNotAvailableException())); - $storage->expects($this->once()) + ->will($this->throwException(new StorageNotAvailableException())); + $this->storageCache->expects($this->once()) ->method('setAvailability') ->with($this->equalTo(false)); - $wrapper->mkdir('foobar'); + $this->wrapper->mkdir('foobar'); } /** @@ -114,19 +128,18 @@ class AvailabilityTest extends \Test\TestCase { * Method failure does not indicate storage unavailability */ public function testAvailableFailure() { - list($storage, $wrapper) = $this->getWrapperInstance(); - $storage->expects($this->once()) + $this->storage->expects($this->once()) ->method('getAvailability') ->willReturn(['available' => true, 'last_checked' => 0]); - $storage->expects($this->never()) + $this->storage->expects($this->never()) ->method('test'); - $storage->expects($this->once()) + $this->storage->expects($this->once()) ->method('mkdir') ->willReturn(false); - $storage->expects($this->never()) + $this->storage->expects($this->never()) ->method('setAvailability'); - $wrapper->mkdir('foobar'); + $this->wrapper->mkdir('foobar'); } /** @@ -136,18 +149,17 @@ class AvailabilityTest extends \Test\TestCase { * @expectedException \Exception */ public function testAvailableThrow() { - list($storage, $wrapper) = $this->getWrapperInstance(); - $storage->expects($this->once()) + $this->storage->expects($this->once()) ->method('getAvailability') ->willReturn(['available' => true, 'last_checked' => 0]); - $storage->expects($this->never()) + $this->storage->expects($this->never()) ->method('test'); - $storage->expects($this->once()) + $this->storage->expects($this->once()) ->method('mkdir') ->will($this->throwException(new \Exception())); - $storage->expects($this->never()) + $this->storage->expects($this->never()) ->method('setAvailability'); - $wrapper->mkdir('foobar'); + $this->wrapper->mkdir('foobar'); } } -- 2.39.5