Blame view
sources/tests/lib/files/mount/manager.php
2.12 KB
|
f7d878ff1
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
<?php
/**
* Copyright (c) 2013 Robin Appelman <icewind@owncloud.com>
* This file is licensed under the Affero General Public License version 3 or
* later.
* See the COPYING-README file.
*/
namespace Test\Files\Mount;
use \OC\Files\Storage\Temporary;
class LongId extends Temporary {
public function getId() {
return 'long:' . str_repeat('foo', 50) . parent::getId();
}
}
class Manager extends \PHPUnit_Framework_TestCase {
/**
* @var \OC\Files\Mount\Manager
*/
private $manager;
public function setup() {
$this->manager = new \OC\Files\Mount\Manager();
}
public function testFind() {
$this->assertNull($this->manager->find('/'));
$rootMount = new \OC\Files\Mount\Mount(new Temporary(array()), '/');
$this->manager->addMount($rootMount);
$this->assertEquals($rootMount, $this->manager->find('/'));
$this->assertEquals($rootMount, $this->manager->find('/foo/bar'));
$storage = new Temporary(array());
$mount1 = new \OC\Files\Mount\Mount($storage, '/foo');
$this->manager->addMount($mount1);
$this->assertEquals($rootMount, $this->manager->find('/'));
$this->assertEquals($mount1, $this->manager->find('/foo/bar'));
$this->assertEquals(1, count($this->manager->findIn('/')));
$mount2 = new \OC\Files\Mount\Mount(new Temporary(array()), '/bar');
$this->manager->addMount($mount2);
$this->assertEquals(2, count($this->manager->findIn('/')));
$id = $mount1->getStorageId();
$this->assertEquals(array($mount1), $this->manager->findByStorageId($id));
$mount3 = new \OC\Files\Mount\Mount($storage, '/foo/bar');
$this->manager->addMount($mount3);
$this->assertEquals(array($mount1, $mount3), $this->manager->findByStorageId($id));
}
public function testLong() {
$storage = new LongId(array());
$mount = new \OC\Files\Mount\Mount($storage, '/foo');
$this->manager->addMount($mount);
$id = $mount->getStorageId();
$storageId = $storage->getId();
$this->assertEquals(array($mount), $this->manager->findByStorageId($id));
$this->assertEquals(array($mount), $this->manager->findByStorageId($storageId));
$this->assertEquals(array($mount), $this->manager->findByStorageId(md5($storageId)));
}
}
|