Unit test for etag update on custom share folder

remotes/origin/enc_quick_fix_8.1
Vincent Petry 11 years ago
parent 5e1865530b
commit 56d9df34cb
  1. 44
      apps/files_sharing/tests/updater.php

@ -117,14 +117,34 @@ class Test_Files_Sharing_Updater extends OCA\Files_Sharing\Tests\TestCase {
\OC\Files\Filesystem::getLoader()->removeStorageWrapper('oc_trashbin');
}
public function shareFolderProvider() {
return [
['/'],
['/my_shares'],
];
}
/**
* if a file gets shared the etag for the recipients root should change
*
* @dataProvider shareFolderProvider
*
* @param string $shareFolder share folder to use
*/
function testShareFile() {
public function testShareFile($shareFolder) {
$config = \OC::$server->getConfig();
$oldShareFolder = $config->getSystemValue('share_folder');
$config->setSystemValue('share_folder', $shareFolder);
$this->loginHelper(self::TEST_FILES_SHARING_API_USER2);
$beforeShare = \OC\Files\Filesystem::getFileInfo('');
$etagBeforeShare = $beforeShare->getEtag();
$beforeShareRoot = \OC\Files\Filesystem::getFileInfo('');
$etagBeforeShareRoot = $beforeShareRoot->getEtag();
\OC\Files\Filesystem::mkdir($shareFolder);
$beforeShareDir = \OC\Files\Filesystem::getFileInfo($shareFolder);
$etagBeforeShareDir = $beforeShareDir->getEtag();
$this->loginHelper(self::TEST_FILES_SHARING_API_USER1);
$fileinfo = \OC\Files\Filesystem::getFileInfo($this->folder);
@ -133,17 +153,25 @@ class Test_Files_Sharing_Updater extends OCA\Files_Sharing\Tests\TestCase {
$this->loginHelper(self::TEST_FILES_SHARING_API_USER2);
$afterShare = \OC\Files\Filesystem::getFileInfo('');
$etagAfterShare = $afterShare->getEtag();
$afterShareRoot = \OC\Files\Filesystem::getFileInfo('');
$etagAfterShareRoot = $afterShareRoot->getEtag();
$afterShareDir = \OC\Files\Filesystem::getFileInfo($shareFolder);
$etagAfterShareDir = $afterShareDir->getEtag();
$this->assertTrue(is_string($etagBeforeShare));
$this->assertTrue(is_string($etagAfterShare));
$this->assertTrue($etagBeforeShare !== $etagAfterShare);
$this->assertTrue(is_string($etagBeforeShareRoot));
$this->assertTrue(is_string($etagBeforeShareDir));
$this->assertTrue(is_string($etagAfterShareRoot));
$this->assertTrue(is_string($etagAfterShareDir));
$this->assertTrue($etagBeforeShareRoot !== $etagAfterShareRoot);
$this->assertTrue($etagBeforeShareDir !== $etagAfterShareDir);
// cleanup
$this->loginHelper(self::TEST_FILES_SHARING_API_USER1);
$result = \OCP\Share::unshare('folder', $fileinfo->getId(), \OCP\Share::SHARE_TYPE_USER, self::TEST_FILES_SHARING_API_USER2);
$this->assertTrue($result);
$config->setSystemValue('share_folder', $oldShareFolder);
}
/**

Loading…
Cancel
Save