1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?php
- /**
- * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
- * SPDX-FileCopyrightText: 2016 ownCloud, Inc.
- * SPDX-License-Identifier: AGPL-3.0-or-later
- */
- namespace Test\Files\Mount;
- use OC\Files\Storage\StorageFactory;
- use OCP\Files\Storage;
- class DummyStorage {
- }
- class MountPointTest extends \Test\TestCase {
- public function testGetStorage(): void {
- $storage = $this->createMock(Storage::class);
- $storage->expects($this->once())
- ->method('getId')
- ->willReturn(123);
- $loader = $this->createMock(StorageFactory::class);
- $loader->expects($this->once())
- ->method('wrap')
- ->willReturn($storage);
- $mountPoint = new \OC\Files\Mount\MountPoint(
- // just use this because a real class is needed
- '\Test\Files\Mount\DummyStorage',
- '/mountpoint',
- null,
- $loader
- );
- $this->assertEquals($storage, $mountPoint->getStorage());
- $this->assertEquals(123, $mountPoint->getStorageId());
- $this->assertEquals('/mountpoint/', $mountPoint->getMountPoint());
- $mountPoint->setMountPoint('another');
- $this->assertEquals('/another/', $mountPoint->getMountPoint());
- }
- public function testInvalidStorage(): void {
- $loader = $this->createMock(StorageFactory::class);
- $loader->expects($this->once())
- ->method('wrap')
- ->will($this->throwException(new \Exception('Test storage init exception')));
- $called = false;
- $wrapper = function ($mountPoint, $storage) use ($called) {
- $called = true;
- };
- $mountPoint = new \OC\Files\Mount\MountPoint(
- // just use this because a real class is needed
- '\Test\Files\Mount\DummyStorage',
- '/mountpoint',
- null,
- $loader
- );
- $this->assertNull($mountPoint->getStorage());
- // call it again to make sure the init code only ran once
- $this->assertNull($mountPoint->getStorage());
- $this->assertNull($mountPoint->getStorageId());
- // wrapping doesn't fail
- $mountPoint->wrapStorage($wrapper);
- $this->assertNull($mountPoint->getStorage());
- // storage wrapper never called
- $this->assertFalse($called);
- }
- }
|