summaryrefslogtreecommitdiffstats
path: root/tests/lib/share/share.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lib/share/share.php')
-rw-r--r--tests/lib/share/share.php161
1 files changed, 161 insertions, 0 deletions
diff --git a/tests/lib/share/share.php b/tests/lib/share/share.php
new file mode 100644
index 00000000000..eca2c9bc58a
--- /dev/null
+++ b/tests/lib/share/share.php
@@ -0,0 +1,161 @@
+<?php
+/**
+* ownCloud
+*
+* @author Michael Gapczynski
+* @copyright 2012 Michael Gapczynski mtgap@owncloud.com
+*
+* This library is free software; you can redistribute it and/or
+* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+* License as published by the Free Software Foundation; either
+* version 3 of the License, or any later version.
+*
+* This library is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+*
+* You should have received a copy of the GNU Affero General Public
+* License along with this library. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+class Test_Share_Base extends UnitTestCase {
+
+ protected $itemType;
+ protected $userBackend;
+ protected $user1;
+ protected $user2;
+ protected $groupBackend;
+ protected $group1;
+ protected $group2;
+
+
+ public function setUp() {
+ OC_User::clearBackends();
+ OC_User::useBackend('dummy');
+ $this->user1 = uniqid('user_');
+ $this->user2 = uniqid('user_');
+ OC_User::createUser($this->user1, 'pass1');
+ OC_User::createUser($this->user2, 'pass2');
+ OC_Group::clearBackends();
+ OC_Group::useBackend(new OC_Group_Dummy);
+ $this->group1 = uniqid('group_');
+ $this->group2 = uniqid('group_');
+ OC_Group::createGroup($this->group1);
+ OC_Group::createGroup($this->group2);
+ }
+
+ public function testShareInvalidShareType() {
+ $this->assertFalse(OCP\Share::share('file', 'test.txt', 'foobar', $this->user1, OCP\Share::PERMISSION_READ));
+ }
+
+ public function testShareInvalidItemType() {
+ $this->assertFalse(OCP\Share::share('foobar', 'test.txt', OCP\Share::SHARETYPE_USER, $this->user1, OCP\Share::PERMISSION_READ));
+ }
+
+ public function testShareWithSelf() {
+ OC_User::setUserId($this->user1);
+ $this->assertFalse(OCP\Share::share('file', 'test.txt', OCP\Share::SHARETYPE_USER, $this->user1, OCP\Share::PERMISSION_READ));
+ }
+
+ public function testShareWithNonExistentUser() {
+ $this->assertFalse(OCP\Share::share('file', 'test.txt', OCP\Share::SHARETYPE_USER, 'foobar', OCP\Share::PERMISSION_READ));
+ }
+
+ public function testShareWithUserOwnerNotPartOfGroup() {
+
+ }
+
+ public function testShareWithUserAlreadySharedWith() {
+
+ }
+
+ public function testShareWithNonExistentGroup() {
+ $this->assertFalse(OCP\Share::share('file', 'test.txt', OCP\Share::SHARETYPE_GROUP, 'foobar', OCP\Share::PERMISSION_READ));
+ }
+
+ public function testShareWithGroupOwnerNotPartOfGroup() {
+
+ }
+
+
+ public function testShareWithGroupItem() {
+
+ }
+
+ public function testUnshareInvalidShareType() {
+
+ }
+
+ public function testUnshareNonExistentItem() {
+
+ }
+
+ public function testUnshareFromUserItem() {
+
+ }
+
+ public function testUnshareFromGroupItem() {
+
+ }
+
+
+
+
+
+ // Test owner not in same group (false)
+
+
+
+ // Test non-existant item type
+
+ // Test valid item
+
+ // Test existing shared item (false)
+
+ // Test unsharing item
+
+ // Test setting permissions
+
+ // Test setting permissions not as owner (false)
+
+ // Test setting target
+
+ // Test setting target as owner (false)
+
+ // Spam reshares
+
+
+
+ // Test non-existant group
+
+
+ // Test owner not part of group
+
+ // Test existing shared item with group
+
+ // Test valid item, valid name for all users
+
+ // Test unsharing item
+
+ // Test item with name conflicts
+
+ // Test unsharing item
+
+ // Test setting permissions
+
+ // Test setting target no name conflicts
+
+ // Test setting target with conflicts
+
+ // Spam reshares
+
+
+
+
+
+ public function testPrivateLink() {
+
+ }
+
+}