summaryrefslogtreecommitdiffstats
path: root/apps/files_sharing/tests
diff options
context:
space:
mode:
authorBjoern Schiessle <schiessle@owncloud.com>2014-06-04 18:41:47 +0200
committerRobin Appelman <icewind@owncloud.com>2014-06-06 09:56:02 +0200
commit86d7371d0c797d5c97198eebf9152ad748961927 (patch)
tree5145d744eec40d85dbff8b101ec204a772c92855 /apps/files_sharing/tests
parent09970e1816644661d4ad1984793232c880aac1ac (diff)
downloadnextcloud-server-86d7371d0c797d5c97198eebf9152ad748961927.tar.gz
nextcloud-server-86d7371d0c797d5c97198eebf9152ad748961927.zip
fix unshareFromSelf()
Diffstat (limited to 'apps/files_sharing/tests')
-rw-r--r--apps/files_sharing/tests/share.php65
1 files changed, 65 insertions, 0 deletions
diff --git a/apps/files_sharing/tests/share.php b/apps/files_sharing/tests/share.php
index 195fac461be..d3ca1816c75 100644
--- a/apps/files_sharing/tests/share.php
+++ b/apps/files_sharing/tests/share.php
@@ -60,6 +60,71 @@ class Test_Files_Sharing extends Test_Files_Sharing_Base {
parent::tearDown();
}
+ function testUnshareFromSelf() {
+
+ \OC_Group::createGroup('testGroup');
+ \OC_Group::addToGroup(self::TEST_FILES_SHARING_API_USER2, 'testGroup');
+ \OC_Group::addToGroup(self::TEST_FILES_SHARING_API_USER3, 'testGroup');
+
+ $fileinfo = $this->view->getFileInfo($this->filename);
+
+ $pathinfo = pathinfo($this->filename);
+
+ $duplicate = '/' . $pathinfo['filename'] . ' (2).' . $pathinfo['extension'];
+
+ $result = \OCP\Share::shareItem('file', $fileinfo['fileid'], \OCP\Share::SHARE_TYPE_USER,
+ \Test_Files_Sharing::TEST_FILES_SHARING_API_USER2, 31);
+
+ $this->assertTrue($result);
+
+ $result = \OCP\Share::shareItem('file', $fileinfo['fileid'], \OCP\Share::SHARE_TYPE_GROUP,
+ 'testGroup', 31);
+
+ $this->assertTrue($result);
+
+ self::loginHelper(self::TEST_FILES_SHARING_API_USER2);
+ $this->assertTrue(\OC\Files\Filesystem::file_exists($this->filename));
+ $this->assertTrue(\OC\Files\Filesystem::file_exists($duplicate));
+
+ self::loginHelper(self::TEST_FILES_SHARING_API_USER3);
+ $this->assertTrue(\OC\Files\Filesystem::file_exists($this->filename));
+ $this->assertFalse(\OC\Files\Filesystem::file_exists($duplicate));
+
+ self::loginHelper(self::TEST_FILES_SHARING_API_USER2);
+ \OC\Files\Filesystem::unlink($this->filename);
+ self::loginHelper(self::TEST_FILES_SHARING_API_USER2);
+ $this->assertFalse(\OC\Files\Filesystem::file_exists($this->filename));
+ $this->assertTrue(\OC\Files\Filesystem::file_exists($duplicate));
+
+ // for user3 nothing should change
+ self::loginHelper(self::TEST_FILES_SHARING_API_USER3);
+ $this->assertTrue(\OC\Files\Filesystem::file_exists($this->filename));
+ $this->assertFalse(\OC\Files\Filesystem::file_exists($duplicate));
+
+ self::loginHelper(self::TEST_FILES_SHARING_API_USER2);
+ \OC\Files\Filesystem::unlink($duplicate);
+ self::loginHelper(self::TEST_FILES_SHARING_API_USER2);
+ $this->assertFalse(\OC\Files\Filesystem::file_exists($this->filename));
+ $this->assertFalse(\OC\Files\Filesystem::file_exists($duplicate));
+
+ // for user3 nothing should change
+ self::loginHelper(self::TEST_FILES_SHARING_API_USER3);
+ $this->assertTrue(\OC\Files\Filesystem::file_exists($this->filename));
+ $this->assertFalse(\OC\Files\Filesystem::file_exists($duplicate));
+
+ //cleanup
+ self::loginHelper(self::TEST_FILES_SHARING_API_USER1);
+ \OCP\Share::unshare('file', $fileinfo['fileid'], \OCP\Share::SHARE_TYPE_GROUP,
+ 'testGroup');
+ \OCP\Share::unshare('file', $fileinfo['fileid'], \OCP\Share::SHARE_TYPE_USER,
+ self::TEST_FILES_SHARING_API_USER2);
+ \OC_Group::removeFromGroup(self::TEST_FILES_SHARING_API_USER2, 'testGroup');
+ \OC_Group::removeFromGroup(self::TEST_FILES_SHARING_API_USER2, 'testGroup');
+ \OC_Group::deleteGroup('testGroup');
+
+
+ }
+
/**
* shared files should never have delete permissions
* @dataProvider DataProviderTestFileSharePermissions