[Pkg-owncloud-commits] [owncloud] 25/129: Check for error when resharing

David Prévot taffit at moszumanska.debian.org
Thu Nov 5 01:04:19 UTC 2015


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch stable8
in repository owncloud.

commit 99b78345a0adb8fa83099fd836f619a6bddfe8d8
Author: Roeland Jago Douma <rullzer at owncloud.com>
Date:   Fri Oct 16 10:00:33 2015 +0200

    Check for error when resharing
---
 lib/private/share/share.php |  8 ++++----
 tests/lib/share/share.php   | 28 ++++++++++++++++++++++------
 2 files changed, 26 insertions(+), 10 deletions(-)

diff --git a/lib/private/share/share.php b/lib/private/share/share.php
index 15a5cb8..c95b74a 100644
--- a/lib/private/share/share.php
+++ b/lib/private/share/share.php
@@ -680,9 +680,9 @@ class Share extends Constants {
 		// Verify share type and sharing conditions are met
 		if ($shareType === self::SHARE_TYPE_USER) {
 			if ($shareWith == $uidOwner) {
-				$message = 'Sharing %s failed, because the user %s is the item owner';
-				$message_t = $l->t('Sharing %s failed, because the user %s is the item owner', array($itemName, $shareWith));
-				\OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName, $shareWith), \OCP\Util::DEBUG);
+				$message = 'Sharing %s failed, because you can not share with yourself';
+				$message_t = $l->t('Sharing %s failed, because you can not share with yourself', [$itemName]);
+				\OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName), \OCP\Util::DEBUG);
 				throw new \Exception($message_t);
 			}
 			if (!\OC_User::userExists($shareWith)) {
@@ -2211,7 +2211,7 @@ class Share extends Constants {
 			// Check if attempting to share back to owner
 			if ($checkReshare['uid_owner'] == $shareWith && $shareType == self::SHARE_TYPE_USER) {
 				$message = 'Sharing %s failed, because the user %s is the original sharer';
-				$message_t = $l->t('Sharing %s failed, because the user %s is the original sharer', array($itemSourceName, $shareWith));
+				$message_t = $l->t('Sharing failed, because the user %s is the original sharer', [$shareWith]);
 
 				\OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName, $shareWith), \OCP\Util::DEBUG);
 				throw new \Exception($message_t);
diff --git a/tests/lib/share/share.php b/tests/lib/share/share.php
index e6f4809..c5785cb 100644
--- a/tests/lib/share/share.php
+++ b/tests/lib/share/share.php
@@ -218,7 +218,7 @@ class Test_Share extends \Test\TestCase {
 
 	public function testShareWithUser() {
 		// Invalid shares
-		$message = 'Sharing test.txt failed, because the user '.$this->user1.' is the item owner';
+		$message = 'Sharing test.txt failed, because you can not share with yourself';
 		try {
 			OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user1, \OCP\Constants::PERMISSION_READ);
 			$this->fail('Exception was expected: '.$message);
@@ -255,7 +255,7 @@ class Test_Share extends \Test\TestCase {
 
 		// Attempt to share back
 		OC_User::setUserId($this->user2);
-		$message = 'Sharing test.txt failed, because the user '.$this->user1.' is the original sharer';
+		$message = 'Sharing failed, because the user '.$this->user1.' is the original sharer';
 		try {
 			OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user1, \OCP\Constants::PERMISSION_READ);
 			$this->fail('Exception was expected: '.$message);
@@ -640,7 +640,7 @@ class Test_Share extends \Test\TestCase {
 
 		// Attempt to share back to owner of group share
 		OC_User::setUserId($this->user2);
-		$message = 'Sharing test.txt failed, because the user '.$this->user1.' is the original sharer';
+		$message = 'Sharing failed, because the user '.$this->user1.' is the original sharer';
 		try {
 			OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user1, \OCP\Constants::PERMISSION_READ);
 			$this->fail('Exception was expected: '.$message);
@@ -1680,6 +1680,23 @@ class Test_Share extends \Test\TestCase {
 		$config->deleteAppValue('core', 'shareapi_expire_after_n_days');
 	}
 
+	public function testShareWithSelfError() {
+		OC_User::setUserId($this->user1);
+		$view = new \OC\Files\View('/' . $this->user1 . '/');
+		$view->mkdir('files/folder1');
+
+		$fileInfo = $view->getFileInfo('files/folder1');
+		$this->assertInstanceOf('\OC\Files\FileInfo', $fileInfo);
+		$fileId = $fileInfo->getId();
+
+		try {
+			OCP\Share::shareItem('folder', $fileId, OCP\Share::SHARE_TYPE_USER, $this->user1, \OCP\Constants::PERMISSION_ALL);
+			$this->fail();
+		} catch (\Exception $e) {
+			$this->assertEquals('Sharing /folder1 failed, because you can not share with yourself', $e->getMessage());
+		}
+	}
+
 	public function testShareWithOwnerError() {
 		OC_User::setUserId($this->user1);
 		$view = new \OC\Files\View('/' . $this->user1 . '/');
@@ -1694,13 +1711,12 @@ class Test_Share extends \Test\TestCase {
 			'Failed asserting that user 1 successfully shared "test" with user 2.'
 		);
 
-		OC_User::setUserId($this->user1);
-
+		OC_User::setUserId($this->user2);
 		try {
 			OCP\Share::shareItem('folder', $fileId, OCP\Share::SHARE_TYPE_USER, $this->user1, \OCP\Constants::PERMISSION_ALL);
 			$this->fail();
 		} catch (\Exception $e) {
-			$this->assertEquals('Sharing /folder1 failed, because the user ' . $this->user1 . ' is the item owner', $e->getMessage());
+			$this->assertEquals('Sharing failed, because the user ' . $this->user1 . ' is the original sharer', $e->getMessage());
 		}
 	}
 }

-- 
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