mirror of
https://github.com/nextcloud/server.git
synced 2026-05-28 04:32:30 -04:00
test: put parent items into cache in tests
Signed-off-by: Robin Appelman <robin@icewind.nl>
This commit is contained in:
parent
3c0c81bb94
commit
1db3d94e1e
6 changed files with 85 additions and 50 deletions
|
|
@ -11,6 +11,7 @@ use OCA\Files_Sharing\Tests\TestCase;
|
|||
use OCP\Contacts\IManager;
|
||||
use OCP\EventDispatcher\IEventDispatcher;
|
||||
use OCP\Federation\ICloudIdManager;
|
||||
use OCP\Files\Cache\ICacheEntry;
|
||||
use OCP\ICacheFactory;
|
||||
use OCP\IURLGenerator;
|
||||
use OCP\IUserManager;
|
||||
|
|
@ -74,6 +75,7 @@ class CacheTest extends TestCase {
|
|||
$this->storage,
|
||||
$this->cloudIdManager->getCloudId($this->remoteUser, 'http://example.com/owncloud')
|
||||
);
|
||||
$this->cache->insert('', ['size' => 0, 'mtime' => 0, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE]);
|
||||
$this->cache->put(
|
||||
'test.txt',
|
||||
[
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ use OC\Files\Cache\Cache;
|
|||
use OC\Files\Search\SearchComparison;
|
||||
use OC\Files\Search\SearchQuery;
|
||||
use OCP\EventDispatcher\IEventDispatcher;
|
||||
use OCP\Files\Cache\ICacheEntry;
|
||||
use OCP\Files\Search\ISearchComparison;
|
||||
use OCP\IDBConnection;
|
||||
use OCP\IUser;
|
||||
|
|
@ -148,7 +149,7 @@ class CacheTest extends \Test\TestCase {
|
|||
}
|
||||
$file2 = $folder . '/bar';
|
||||
$file3 = $folder . '/foo';
|
||||
$data1 = ['size' => 100, 'mtime' => 50, 'mimetype' => 'httpd/unix-directory'];
|
||||
$data1 = ['size' => 100, 'mtime' => 50, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE];
|
||||
$fileData = [];
|
||||
$fileData['bar'] = ['size' => 1000, 'mtime' => 20, 'mimetype' => 'foo/file'];
|
||||
$fileData['foo'] = ['size' => 20, 'mtime' => 25, 'mimetype' => 'foo/file'];
|
||||
|
|
@ -188,7 +189,7 @@ class CacheTest extends \Test\TestCase {
|
|||
}
|
||||
|
||||
public function testRemoveRecursive(): void {
|
||||
$folderData = ['size' => 100, 'mtime' => 50, 'mimetype' => 'httpd/unix-directory'];
|
||||
$folderData = ['size' => 100, 'mtime' => 50, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE];
|
||||
$fileData = ['size' => 1000, 'mtime' => 20, 'mimetype' => 'text/plain'];
|
||||
$folders = ['folder', 'folder/subfolder', 'folder/sub2', 'folder/sub2/sub3'];
|
||||
$files = ['folder/foo.txt', 'folder/bar.txt', 'folder/subfolder/asd.txt', 'folder/sub2/qwerty.txt', 'folder/sub2/sub3/foo.txt'];
|
||||
|
|
@ -224,7 +225,7 @@ class CacheTest extends \Test\TestCase {
|
|||
$file1 = 'folder';
|
||||
$file2 = 'folder/bar';
|
||||
$file3 = 'folder/foo';
|
||||
$data1 = ['size' => 100, 'mtime' => 50, 'mimetype' => 'httpd/unix-directory'];
|
||||
$data1 = ['size' => 100, 'mtime' => 50, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE];
|
||||
$fileData = [];
|
||||
$fileData['bar'] = ['size' => 1000, 'encrypted' => 1, 'mtime' => 20, 'mimetype' => 'foo/file'];
|
||||
$fileData['foo'] = ['size' => 20, 'encrypted' => 1, 'mtime' => 25, 'mimetype' => 'foo/file'];
|
||||
|
|
@ -267,11 +268,10 @@ class CacheTest extends \Test\TestCase {
|
|||
$dir1 = 'knownsize';
|
||||
$dir2 = 'unknownsize';
|
||||
$fileData = [];
|
||||
$fileData[''] = ['size' => -1, 'mtime' => 20, 'mimetype' => 'httpd/unix-directory'];
|
||||
$fileData[$dir1] = ['size' => 1000, 'mtime' => 20, 'mimetype' => 'httpd/unix-directory'];
|
||||
$fileData[$dir2] = ['size' => -1, 'mtime' => 25, 'mimetype' => 'httpd/unix-directory'];
|
||||
$fileData[''] = ['size' => -1, 'mtime' => 20, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE];
|
||||
$fileData[$dir1] = ['size' => 1000, 'mtime' => 20, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE];
|
||||
$fileData[$dir2] = ['size' => -1, 'mtime' => 25, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE];
|
||||
|
||||
$this->cache->put('', $fileData['']);
|
||||
$this->cache->put($dir1, $fileData[$dir1]);
|
||||
$this->cache->put($dir2, $fileData[$dir2]);
|
||||
|
||||
|
|
@ -338,7 +338,6 @@ class CacheTest extends \Test\TestCase {
|
|||
$this->assertEquals(1, count($this->cache->search('foo')));
|
||||
$this->assertEquals(1, count($this->cache->search('%folder%')));
|
||||
$this->assertEquals(1, count($this->cache->search('folder%')));
|
||||
$this->assertEquals(3, count($this->cache->search('%')));
|
||||
|
||||
// case insensitive search should match the same files
|
||||
$this->assertEquals(2, count($this->cache->search('%Foo%')));
|
||||
|
|
@ -450,7 +449,7 @@ class CacheTest extends \Test\TestCase {
|
|||
*/
|
||||
public function testMove($sourceFolder, $targetFolder, $children): void {
|
||||
$data = ['size' => 100, 'mtime' => 50, 'mimetype' => 'foo/bar'];
|
||||
$folderData = ['size' => 100, 'mtime' => 50, 'mimetype' => 'httpd/unix-directory'];
|
||||
$folderData = ['size' => 100, 'mtime' => 50, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE];
|
||||
|
||||
// create folders
|
||||
foreach ([$sourceFolder, $targetFolder] as $current) {
|
||||
|
|
@ -485,7 +484,7 @@ class CacheTest extends \Test\TestCase {
|
|||
|
||||
public function testMoveFromCache(): void {
|
||||
$data = ['size' => 100, 'mtime' => 50, 'mimetype' => 'foo/bar'];
|
||||
$folderData = ['size' => 100, 'mtime' => 50, 'mimetype' => 'httpd/unix-directory'];
|
||||
$folderData = ['size' => 100, 'mtime' => 50, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE];
|
||||
|
||||
$this->cache2->put('folder', $folderData);
|
||||
$this->cache2->put('folder/sub', $data);
|
||||
|
|
@ -554,6 +553,7 @@ class CacheTest extends \Test\TestCase {
|
|||
public function testLongId(): void {
|
||||
$storage = new LongId([]);
|
||||
$cache = $storage->getCache();
|
||||
$cache->insert('', ['size' => 0, 'mtime' => 0, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE]);
|
||||
$storageId = $storage->getId();
|
||||
$data = ['size' => 1000, 'mtime' => 20, 'mimetype' => 'foo/file'];
|
||||
$id = $cache->put('foo', $data);
|
||||
|
|
@ -582,7 +582,7 @@ class CacheTest extends \Test\TestCase {
|
|||
->method('normalize')
|
||||
->willReturnArgument(0);
|
||||
|
||||
$data = ['size' => 100, 'mtime' => 50, 'mimetype' => 'httpd/unix-directory'];
|
||||
$data = ['size' => 100, 'mtime' => 50, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE];
|
||||
|
||||
// put root folder
|
||||
$this->assertFalse($cacheMock->get('folder'));
|
||||
|
|
@ -621,7 +621,7 @@ class CacheTest extends \Test\TestCase {
|
|||
// folder name "Schön" with U+0308 (un-normalized)
|
||||
$folderWith0308 = "\x53\x63\x68\x6f\xcc\x88\x6e";
|
||||
|
||||
$data = ['size' => 100, 'mtime' => 50, 'mimetype' => 'httpd/unix-directory'];
|
||||
$data = ['size' => 100, 'mtime' => 50, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE];
|
||||
|
||||
// put root folder
|
||||
$this->assertFalse($this->cache->get('folder'));
|
||||
|
|
@ -660,12 +660,8 @@ class CacheTest extends \Test\TestCase {
|
|||
* @dataProvider bogusPathNamesProvider
|
||||
*/
|
||||
public function testBogusPaths($bogusPath, $fixedBogusPath): void {
|
||||
$data = ['size' => 100, 'mtime' => 50, 'mimetype' => 'httpd/unix-directory'];
|
||||
|
||||
// put root folder
|
||||
$this->assertFalse($this->cache->get(''));
|
||||
$parentId = $this->cache->put('', $data);
|
||||
$this->assertGreaterThan(0, $parentId);
|
||||
$data = ['size' => 100, 'mtime' => 50, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE];
|
||||
$parentId = $this->cache->getId('');
|
||||
|
||||
$this->assertGreaterThan(0, $this->cache->put($bogusPath, $data));
|
||||
|
||||
|
|
@ -719,7 +715,7 @@ class CacheTest extends \Test\TestCase {
|
|||
$this->assertTrue($this->cache->inCache($name . 'asd'));
|
||||
$this->cache->remove($name . 'asd');
|
||||
$this->assertFalse($this->cache->inCache($name . 'asd'));
|
||||
$folderData = ['size' => 100, 'mtime' => 50, 'mimetype' => 'httpd/unix-directory'];
|
||||
$folderData = ['size' => 100, 'mtime' => 50, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE];
|
||||
$this->cache->put($name, $folderData);
|
||||
$this->cache->put('other', $folderData);
|
||||
$childs = ['asd', 'bar', 'foo', 'sub/folder'];
|
||||
|
|
@ -743,8 +739,7 @@ class CacheTest extends \Test\TestCase {
|
|||
}
|
||||
|
||||
public function testExtended(): void {
|
||||
$folderData = ['size' => 100, 'mtime' => 50, 'mimetype' => 'httpd/unix-directory'];
|
||||
$this->cache->put('', $folderData);
|
||||
$folderData = ['size' => 100, 'mtime' => 50, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE];
|
||||
|
||||
$data = ['size' => 100, 'mtime' => 50, 'mimetype' => 'text/plain', 'creation_time' => 20];
|
||||
$id1 = $this->cache->put('foo1', $data);
|
||||
|
|
@ -827,5 +822,7 @@ class CacheTest extends \Test\TestCase {
|
|||
$this->storage2 = new \OC\Files\Storage\Temporary([]);
|
||||
$this->cache = new \OC\Files\Cache\Cache($this->storage);
|
||||
$this->cache2 = new \OC\Files\Cache\Cache($this->storage2);
|
||||
$this->cache->insert('', ['size' => 0, 'mtime' => 0, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE]);
|
||||
$this->cache2->insert('', ['size' => 0, 'mtime' => 0, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE]);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
namespace Test\Files\Cache;
|
||||
|
||||
use OC\Files\Cache\MoveFromCacheTrait;
|
||||
use OCP\Files\Cache\ICacheEntry;
|
||||
|
||||
class FallBackCrossCacheMoveCache extends \OC\Files\Cache\Cache {
|
||||
use MoveFromCacheTrait;
|
||||
|
|
@ -26,5 +27,8 @@ class MoveFromCacheTraitTest extends CacheTest {
|
|||
$this->storage2 = new \OC\Files\Storage\Temporary([]);
|
||||
$this->cache = new FallBackCrossCacheMoveCache($this->storage);
|
||||
$this->cache2 = new FallBackCrossCacheMoveCache($this->storage2);
|
||||
|
||||
$this->cache->insert('', ['size' => 0, 'mtime' => 0, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE]);
|
||||
$this->cache2->insert('', ['size' => 0, 'mtime' => 0, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE]);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ use OC\Files\Search\SearchQuery;
|
|||
use OC\Files\Storage\Wrapper\Jail;
|
||||
use OC\User\User;
|
||||
use OCP\EventDispatcher\IEventDispatcher;
|
||||
use OCP\Files\Cache\ICacheEntry;
|
||||
use OCP\Files\Search\ISearchComparison;
|
||||
use Test\Files\Cache\CacheTest;
|
||||
|
||||
|
|
@ -31,17 +32,19 @@ class CacheJailTest extends CacheTest {
|
|||
|
||||
protected function setUp(): void {
|
||||
parent::setUp();
|
||||
$this->storage->mkdir('foo');
|
||||
$this->storage->mkdir('jail');
|
||||
$this->sourceCache = $this->cache;
|
||||
$this->cache = new \OC\Files\Cache\Wrapper\CacheJail($this->sourceCache, 'foo');
|
||||
$this->cache = new \OC\Files\Cache\Wrapper\CacheJail($this->sourceCache, 'jail');
|
||||
$this->cache->insert('', ['size' => 0, 'mtime' => 0, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE]);
|
||||
}
|
||||
|
||||
public function testSearchOutsideJail(): void {
|
||||
$this->storage->getScanner()->scan('');
|
||||
$file1 = 'foo/foobar';
|
||||
$file1 = 'jail/foobar';
|
||||
$file2 = 'folder/foobar';
|
||||
$data1 = ['size' => 100, 'mtime' => 50, 'mimetype' => 'foo/folder'];
|
||||
|
||||
$this->sourceCache->insert('folder', ['size' => 0, 'mtime' => 0, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE]);
|
||||
$this->sourceCache->put($file1, $data1);
|
||||
$this->sourceCache->put($file2, $data1);
|
||||
|
||||
|
|
@ -52,20 +55,20 @@ class CacheJailTest extends CacheTest {
|
|||
$this->assertEquals('foobar', $result[0]['path']);
|
||||
|
||||
$result = $this->cache->search('%foo%');
|
||||
$this->assertCount(2, $result);
|
||||
$this->assertCount(1, $result);
|
||||
usort($result, function ($a, $b) {
|
||||
return $a['path'] <=> $b['path'];
|
||||
});
|
||||
$this->assertEquals('', $result[0]['path']);
|
||||
$this->assertEquals('foobar', $result[1]['path']);
|
||||
$this->assertEquals('foobar', $result[0]['path']);
|
||||
}
|
||||
|
||||
public function testSearchMimeOutsideJail(): void {
|
||||
$this->storage->getScanner()->scan('');
|
||||
$file1 = 'foo/foobar';
|
||||
$file1 = 'jail/foobar';
|
||||
$file2 = 'folder/foobar';
|
||||
$data1 = ['size' => 100, 'mtime' => 50, 'mimetype' => 'foo/folder'];
|
||||
|
||||
$this->sourceCache->insert('folder', ['size' => 0, 'mtime' => 0, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE]);
|
||||
$this->sourceCache->put($file1, $data1);
|
||||
$this->sourceCache->put($file2, $data1);
|
||||
|
||||
|
|
@ -78,10 +81,12 @@ class CacheJailTest extends CacheTest {
|
|||
|
||||
public function testSearchQueryOutsideJail(): void {
|
||||
$this->storage->getScanner()->scan('');
|
||||
$file1 = 'foo/foobar';
|
||||
$file1 = 'jail/foobar';
|
||||
$file2 = 'folder/foobar';
|
||||
$data1 = ['size' => 100, 'mtime' => 50, 'mimetype' => 'foo/folder'];
|
||||
|
||||
|
||||
$this->sourceCache->insert('folder', ['size' => 0, 'mtime' => 0, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE]);
|
||||
$this->sourceCache->put($file1, $data1);
|
||||
$this->sourceCache->put($file2, $data1);
|
||||
|
||||
|
|
@ -92,19 +97,19 @@ class CacheJailTest extends CacheTest {
|
|||
$this->assertCount(1, $result);
|
||||
$this->assertEquals('foobar', $result[0]['path']);
|
||||
|
||||
$query = new SearchQuery(new SearchComparison(ISearchComparison::COMPARE_EQUAL, 'name', 'foo'), 10, 0, [], $user);
|
||||
$query = new SearchQuery(new SearchComparison(ISearchComparison::COMPARE_EQUAL, 'name', 'jail'), 10, 0, [], $user);
|
||||
$result = $this->cache->searchQuery($query);
|
||||
$this->assertCount(1, $result);
|
||||
$this->assertEquals('', $result[0]['path']);
|
||||
}
|
||||
|
||||
public function testClearKeepEntriesOutsideJail(): void {
|
||||
$file1 = 'foo/foobar';
|
||||
$file2 = 'foo/foobar/asd';
|
||||
$file1 = 'jail/foobar';
|
||||
$file2 = 'jail/foobar/asd';
|
||||
$file3 = 'folder/foobar';
|
||||
$data1 = ['size' => 100, 'mtime' => 50, 'mimetype' => 'httpd/unix-directory'];
|
||||
$data1 = ['size' => 100, 'mtime' => 50, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE];
|
||||
|
||||
$this->sourceCache->put('foo', $data1);
|
||||
$this->sourceCache->put('folder', $data1);
|
||||
$this->sourceCache->put($file1, $data1);
|
||||
$this->sourceCache->put($file2, $data1);
|
||||
$this->sourceCache->put($file3, $data1);
|
||||
|
|
@ -116,8 +121,8 @@ class CacheJailTest extends CacheTest {
|
|||
}
|
||||
|
||||
public function testGetById(): void {
|
||||
$data1 = ['size' => 100, 'mtime' => 50, 'mimetype' => 'httpd/unix-directory'];
|
||||
$id = $this->sourceCache->put('foo/bar', $data1);
|
||||
$data1 = ['size' => 100, 'mtime' => 50, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE];
|
||||
$id = $this->sourceCache->put('jail/bar', $data1);
|
||||
|
||||
// path from jailed foo of foo/bar is bar
|
||||
$path = $this->cache->getPathById($id);
|
||||
|
|
@ -126,7 +131,7 @@ class CacheJailTest extends CacheTest {
|
|||
// path from jailed '' of foo/bar is foo/bar
|
||||
$this->cache = new \OC\Files\Cache\Wrapper\CacheJail($this->sourceCache, '');
|
||||
$path = $this->cache->getPathById($id);
|
||||
$this->assertEquals('foo/bar', $path);
|
||||
$this->assertEquals('jail/bar', $path);
|
||||
}
|
||||
|
||||
public function testGetIncomplete(): void {
|
||||
|
|
@ -135,7 +140,7 @@ class CacheJailTest extends CacheTest {
|
|||
}
|
||||
|
||||
public function testMoveFromJail(): void {
|
||||
$folderData = ['size' => 100, 'mtime' => 50, 'mimetype' => 'httpd/unix-directory'];
|
||||
$folderData = ['size' => 100, 'mtime' => 50, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE];
|
||||
|
||||
$this->sourceCache->put('source', $folderData);
|
||||
$this->sourceCache->put('source/foo', $folderData);
|
||||
|
|
@ -151,7 +156,7 @@ class CacheJailTest extends CacheTest {
|
|||
}
|
||||
|
||||
public function testMoveToJail(): void {
|
||||
$folderData = ['size' => 100, 'mtime' => 50, 'mimetype' => 'httpd/unix-directory'];
|
||||
$folderData = ['size' => 100, 'mtime' => 50, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE];
|
||||
|
||||
$this->sourceCache->put('source', $folderData);
|
||||
$this->sourceCache->put('source/foo', $folderData);
|
||||
|
|
@ -167,7 +172,7 @@ class CacheJailTest extends CacheTest {
|
|||
}
|
||||
|
||||
public function testMoveBetweenJail(): void {
|
||||
$folderData = ['size' => 100, 'mtime' => 50, 'mimetype' => 'httpd/unix-directory'];
|
||||
$folderData = ['size' => 100, 'mtime' => 50, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE];
|
||||
|
||||
$this->sourceCache->put('source', $folderData);
|
||||
$this->sourceCache->put('source/foo', $folderData);
|
||||
|
|
@ -185,9 +190,9 @@ class CacheJailTest extends CacheTest {
|
|||
|
||||
public function testSearchNested(): void {
|
||||
$this->storage->getScanner()->scan('');
|
||||
$file1 = 'foo';
|
||||
$file2 = 'foo/bar';
|
||||
$file3 = 'foo/bar/asd';
|
||||
$file1 = 'jail';
|
||||
$file2 = 'jail/bar';
|
||||
$file3 = 'jail/bar/asd';
|
||||
$data1 = ['size' => 100, 'mtime' => 50, 'mimetype' => 'foo/folder'];
|
||||
|
||||
$this->sourceCache->put($file1, $data1);
|
||||
|
|
@ -203,9 +208,9 @@ class CacheJailTest extends CacheTest {
|
|||
|
||||
public function testRootJail(): void {
|
||||
$this->storage->getScanner()->scan('');
|
||||
$file1 = 'foo';
|
||||
$file2 = 'foo/bar';
|
||||
$file3 = 'foo/bar/asd';
|
||||
$file1 = 'jail';
|
||||
$file2 = 'jail/bar';
|
||||
$file3 = 'jail/bar/asd';
|
||||
$data1 = ['size' => 100, 'mtime' => 50, 'mimetype' => 'foo/folder'];
|
||||
|
||||
$this->sourceCache->put($file1, $data1);
|
||||
|
|
@ -216,13 +221,13 @@ class CacheJailTest extends CacheTest {
|
|||
|
||||
$result = $nested->search('%asd%');
|
||||
$this->assertCount(1, $result);
|
||||
$this->assertEquals('foo/bar/asd', $result[0]['path']);
|
||||
$this->assertEquals('jail/bar/asd', $result[0]['path']);
|
||||
}
|
||||
|
||||
public function testWatcher(): void {
|
||||
$storage = new Jail([
|
||||
'storage' => $this->storage,
|
||||
'root' => 'foo'
|
||||
'root' => 'jail'
|
||||
]);
|
||||
$storage->getScanner()->scan('');
|
||||
$storage->file_put_contents('bar', 'asd');
|
||||
|
|
@ -235,7 +240,7 @@ class CacheJailTest extends CacheTest {
|
|||
public function testWatcherAfterInnerWatcher(): void {
|
||||
$storage = new Jail([
|
||||
'storage' => $this->storage,
|
||||
'root' => 'foo'
|
||||
'root' => 'jail'
|
||||
]);
|
||||
$storage->getScanner()->scan('');
|
||||
$storage->file_put_contents('bar', 'asd');
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ use OC\Files\Node\File;
|
|||
use OC\Files\Node\Folder;
|
||||
use OC\Files\Node\Node;
|
||||
use OC\Files\Node\Root;
|
||||
use OC\Files\Search\SearchBinaryOperator;
|
||||
use OC\Files\Search\SearchComparison;
|
||||
use OC\Files\Search\SearchOrder;
|
||||
use OC\Files\Search\SearchQuery;
|
||||
|
|
@ -26,6 +27,7 @@ use OCP\Files\Cache\ICacheEntry;
|
|||
use OCP\Files\IRootFolder;
|
||||
use OCP\Files\Mount\IMountPoint;
|
||||
use OCP\Files\NotFoundException;
|
||||
use OCP\Files\Search\ISearchBinaryOperator;
|
||||
use OCP\Files\Search\ISearchComparison;
|
||||
use OCP\Files\Search\ISearchOrder;
|
||||
use OCP\Files\Storage\IStorage;
|
||||
|
|
@ -312,6 +314,7 @@ class FolderTest extends NodeTest {
|
|||
->method('getInternalPath')
|
||||
->willReturn('foo');
|
||||
|
||||
$cache->insert('', ['size' => 0, 'mtime' => 0, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE]);
|
||||
$cache->insert('foo', ['size' => 200, 'mtime' => 55, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE]);
|
||||
$cache->insert('foo/qwerty', ['size' => 200, 'mtime' => 55, 'mimetype' => 'text/plain']);
|
||||
|
||||
|
|
@ -356,6 +359,7 @@ class FolderTest extends NodeTest {
|
|||
$storage->method('getOwner')
|
||||
->willReturn('owner');
|
||||
|
||||
$cache->insert('', ['size' => 0, 'mtime' => 0, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE]);
|
||||
$cache->insert('files', ['size' => 200, 'mtime' => 55, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE]);
|
||||
$cache->insert('files/foo', ['size' => 200, 'mtime' => 55, 'mimetype' => 'text/plain']);
|
||||
|
||||
|
|
@ -396,6 +400,7 @@ class FolderTest extends NodeTest {
|
|||
$storage->method('getOwner')
|
||||
->willReturn('owner');
|
||||
|
||||
$cache->insert('', ['size' => 0, 'mtime' => 0, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE]);
|
||||
$cache->insert('foo', ['size' => 200, 'mtime' => 55, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE]);
|
||||
$cache->insert('foo/qwerty', ['size' => 200, 'mtime' => 55, 'mimetype' => 'text/plain']);
|
||||
|
||||
|
|
@ -454,9 +459,11 @@ class FolderTest extends NodeTest {
|
|||
$subStorage->method('getOwner')
|
||||
->willReturn('owner');
|
||||
|
||||
$cache->insert('', ['size' => 0, 'mtime' => 0, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE]);
|
||||
$cache->insert('foo', ['size' => 200, 'mtime' => 55, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE]);
|
||||
$cache->insert('foo/qwerty', ['size' => 200, 'mtime' => 55, 'mimetype' => 'text/plain']);
|
||||
|
||||
$subCache->insert('', ['size' => 0, 'mtime' => 0, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE]);
|
||||
$subCache->insert('asd', ['size' => 200, 'mtime' => 55, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE]);
|
||||
$subCache->insert('asd/qwerty', ['size' => 200, 'mtime' => 55, 'mimetype' => 'text/plain']);
|
||||
|
||||
|
|
@ -737,6 +744,10 @@ class FolderTest extends NodeTest {
|
|||
|
||||
$cache = $storage->getCache();
|
||||
|
||||
$cache->insert('', ['size' => 0, 'mtime' => 0, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE]);
|
||||
$cache->insert('bar', ['size' => 0, 'mtime' => 0, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE]);
|
||||
$cache->insert('bar/foo', ['size' => 0, 'mtime' => 0, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE]);
|
||||
$cache->insert('bar/asd', ['size' => 0, 'mtime' => 0, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE]);
|
||||
$id1 = $cache->put('bar/foo/inside.txt', [
|
||||
'storage_mtime' => $baseTime,
|
||||
'mtime' => $baseTime,
|
||||
|
|
@ -803,6 +814,9 @@ class FolderTest extends NodeTest {
|
|||
|
||||
$cache = $storage->getCache();
|
||||
|
||||
$cache->insert('', ['size' => 0, 'mtime' => 0, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE]);
|
||||
$cache->insert('bar', ['size' => 0, 'mtime' => 0, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE]);
|
||||
$cache->insert('bar/foo', ['size' => 0, 'mtime' => 0, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE]);
|
||||
$id1 = $cache->put('bar/foo/folder', [
|
||||
'storage_mtime' => $baseTime,
|
||||
'mtime' => $baseTime,
|
||||
|
|
@ -870,6 +884,8 @@ class FolderTest extends NodeTest {
|
|||
|
||||
$cache = $storage->getCache();
|
||||
|
||||
$cache->insert('', ['size' => 0, 'mtime' => 0, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE]);
|
||||
$cache->insert('folder', ['size' => 0, 'mtime' => 0, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE]);
|
||||
$id1 = $cache->put('folder/inside.txt', [
|
||||
'storage_mtime' => $baseTime,
|
||||
'mtime' => $baseTime,
|
||||
|
|
@ -877,6 +893,7 @@ class FolderTest extends NodeTest {
|
|||
'size' => 3,
|
||||
'permissions' => \OCP\Constants::PERMISSION_ALL,
|
||||
]);
|
||||
|
||||
$cache->put('outside.txt', [
|
||||
'storage_mtime' => $baseTime - 100,
|
||||
'mtime' => $baseTime - 100,
|
||||
|
|
@ -980,14 +997,19 @@ class FolderTest extends NodeTest {
|
|||
$subStorage2->method('getOwner')
|
||||
->willReturn('owner');
|
||||
|
||||
|
||||
$cache->insert('', ['size' => 0, 'mtime' => 10, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE]);
|
||||
$cache->insert('foo', ['size' => 0, 'mtime' => 10, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE]);
|
||||
$cache->insert('foo/foo1', ['size' => 200, 'mtime' => 10, 'mimetype' => 'text/plain']);
|
||||
$cache->insert('foo/foo2', ['size' => 200, 'mtime' => 20, 'mimetype' => 'text/plain']);
|
||||
$cache->insert('foo/foo3', ['size' => 200, 'mtime' => 30, 'mimetype' => 'text/plain']);
|
||||
$cache->insert('foo/foo4', ['size' => 200, 'mtime' => 40, 'mimetype' => 'text/plain']);
|
||||
|
||||
$subCache1->insert('', ['size' => 0, 'mtime' => 10, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE]);
|
||||
$subCache1->insert('foo5', ['size' => 300, 'mtime' => 15, 'mimetype' => 'text/plain']);
|
||||
$subCache1->insert('foo6', ['size' => 300, 'mtime' => 50, 'mimetype' => 'text/plain']);
|
||||
|
||||
$subCache2->insert('', ['size' => 0, 'mtime' => 10, 'mimetype' => ICacheEntry::DIRECTORY_MIMETYPE]);
|
||||
$subCache2->insert('foo7', ['size' => 200, 'mtime' => 5, 'mimetype' => 'text/plain']);
|
||||
$subCache2->insert('foo8', ['size' => 200, 'mtime' => 60, 'mimetype' => 'text/plain']);
|
||||
|
||||
|
|
@ -1001,7 +1023,11 @@ class FolderTest extends NodeTest {
|
|||
|
||||
$node = new Folder($root, $view, '/bar/foo');
|
||||
$comparison = new SearchComparison(ISearchComparison::COMPARE_LIKE, 'name', '%foo%');
|
||||
$query = new SearchQuery($comparison, $limit, $offset, $ordering);
|
||||
$operator = new SearchBinaryOperator(ISearchBinaryOperator::OPERATOR_AND, [
|
||||
$comparison,
|
||||
new SearchBinaryOperator(ISearchBinaryOperator::OPERATOR_NOT, [new SearchComparison(ISearchComparison::COMPARE_EQUAL, 'mimetype', ICacheEntry::DIRECTORY_MIMETYPE)]),
|
||||
]);
|
||||
$query = new SearchQuery($operator, $limit, $offset, $ordering);
|
||||
$result = $node->search($query);
|
||||
$cache->clear();
|
||||
$subCache1->clear();
|
||||
|
|
|
|||
|
|
@ -54,6 +54,7 @@ class RepairMimeTypesTest extends \Test\TestCase {
|
|||
->willReturn('11.0.0.0');
|
||||
|
||||
$this->storage = new Temporary([]);
|
||||
$this->storage->getScanner()->scan('');
|
||||
|
||||
$this->repair = new RepairMimeTypes(
|
||||
$config,
|
||||
|
|
|
|||
Loading…
Reference in a new issue