]> source.dussan.org Git - nextcloud-server.git/commitdiff
adjust tests 17070/head
authorArthur Schiwon <blizzz@arthur-schiwon.de>
Mon, 26 Aug 2019 11:47:35 +0000 (13:47 +0200)
committerBackportbot <backportbot-noreply@rullzer.com>
Mon, 9 Sep 2019 14:51:31 +0000 (14:51 +0000)
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
tests/lib/Files/Storage/Wrapper/AvailabilityTest.php

index 5ea7f8403ce7e1da3df2fe2e758850c85d9dd71e..1672d17e36bf61fe1d4d9ccb46e8fc9e4fc32986 100644 (file)
 
 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');
        }
 }