[Pkg-owncloud-commits] [owncloud] 43/131: Add unit test for getUsersSharingFile
David Prévot
taffit at moszumanska.debian.org
Tue Aug 11 15:58:29 UTC 2015
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to annotated tag v8.1.1
in repository owncloud.
commit 60939ebd2c38ebb372b6ed4b0546c46be7d2d5d1
Author: Vincent Petry <pvince81 at owncloud.com>
Date: Thu Apr 30 12:22:57 2015 +0200
Add unit test for getUsersSharingFile
This is to test if the user list and paths are correct, even when a
recipient renamed the received shared folder
---
apps/files_sharing/tests/share.php | 127 +++++++++++++++++++++++++++++++++++++
1 file changed, 127 insertions(+)
diff --git a/apps/files_sharing/tests/share.php b/apps/files_sharing/tests/share.php
index 0759d00..ec0e21f 100644
--- a/apps/files_sharing/tests/share.php
+++ b/apps/files_sharing/tests/share.php
@@ -321,4 +321,131 @@ class Test_Files_Sharing extends OCA\Files_sharing\Tests\TestCase {
);
}
+ /**
+ * @dataProvider dataProviderGetUsersSharingFile
+ *
+ * @param string $groupName name of group to share with
+ * @param bool $includeOwner whether to include the owner in the result
+ * @param bool $includePaths whether to include paths in the result
+ * @param array $expectedResult expected result of the API call
+ */
+ function testGetUsersSharingFile($groupName, $includeOwner, $includePaths, $expectedResult) {
+
+ $fileinfo = $this->view->getFileInfo($this->folder);
+
+ $result = \OCP\Share::shareItem('folder', $fileinfo['fileid'], \OCP\Share::SHARE_TYPE_GROUP,
+ $groupName, \OCP\Constants::PERMISSION_READ);
+ $this->assertTrue($result);
+
+ // public share
+ $result = \OCP\Share::shareItem('folder', $fileinfo['fileid'], \OCP\Share::SHARE_TYPE_LINK,
+ null, \OCP\Constants::PERMISSION_READ);
+ $this->assertNotNull($result); // returns the token!
+
+ self::loginHelper(self::TEST_FILES_SHARING_API_USER2);
+
+ $user2View = new \OC\Files\View('/' . self::TEST_FILES_SHARING_API_USER2 . '/files');
+ $user2View->rename($this->folder, $this->folder . '_renamed');
+
+ $ownerPath = $this->folder;
+ $owner = self::TEST_FILES_SHARING_API_USER1;
+
+ $result = \OCP\Share::getUsersSharingFile($ownerPath, $owner, $includeOwner, $includePaths);
+
+ // sort users to make sure it matches
+ if ($includePaths) {
+ ksort($result);
+ } else {
+ sort($result['users']);
+ }
+
+ $this->assertEquals(
+ $expectedResult,
+ $result
+ );
+ }
+
+ function dataProviderGetUsersSharingFile() {
+ // note: "group" contains user1 (the owner), user2 and user3
+ // and self::TEST_FILES_SHARING_API_GROUP1 contains only user2
+ return [
+ // share with group that contains owner
+ [
+ 'group',
+ false,
+ false,
+ [
+ 'users' =>
+ [
+ // because user1 was in group
+ self::TEST_FILES_SHARING_API_USER1,
+ self::TEST_FILES_SHARING_API_USER2,
+ self::TEST_FILES_SHARING_API_USER3,
+ ],
+ 'public' => true,
+ 'remote' => false,
+ ],
+ ],
+ // share with group that does not contain owner
+ [
+ self::TEST_FILES_SHARING_API_GROUP1,
+ false,
+ false,
+ [
+ 'users' =>
+ [
+ self::TEST_FILES_SHARING_API_USER2,
+ ],
+ 'public' => true,
+ 'remote' => false,
+ ],
+ ],
+ // share with group that does not contain owner, include owner
+ [
+ self::TEST_FILES_SHARING_API_GROUP1,
+ true,
+ false,
+ [
+ 'users' =>
+ [
+ self::TEST_FILES_SHARING_API_USER1,
+ self::TEST_FILES_SHARING_API_USER2,
+ ],
+ 'public' => true,
+ 'remote' => false,
+ ],
+ ],
+ // include paths, with owner
+ [
+ 'group',
+ true,
+ true,
+ [
+ self::TEST_FILES_SHARING_API_USER1 => self::TEST_FOLDER_NAME,
+ self::TEST_FILES_SHARING_API_USER2 => self::TEST_FOLDER_NAME. '_renamed',
+ self::TEST_FILES_SHARING_API_USER3 => self::TEST_FOLDER_NAME,
+ ],
+ ],
+ // include paths, group without owner
+ [
+ self::TEST_FILES_SHARING_API_GROUP1,
+ false,
+ true,
+ [
+ self::TEST_FILES_SHARING_API_USER2 => self::TEST_FOLDER_NAME. '_renamed',
+ ],
+ ],
+ // include paths, include owner, group without owner
+ [
+ self::TEST_FILES_SHARING_API_GROUP1,
+ true,
+ true,
+ [
+ self::TEST_FILES_SHARING_API_USER1 => self::TEST_FOLDER_NAME,
+ self::TEST_FILES_SHARING_API_USER2 => self::TEST_FOLDER_NAME. '_renamed',
+ ],
+ ],
+ ];
+ }
+
}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud.git
More information about the Pkg-owncloud-commits
mailing list