]> source.dussan.org Git - nextcloud-server.git/commitdiff
updated the unit test for OCP\Share::unshareAll() to verify that shares by all users...
authorben-denham <bend@catalyst.net.nz>
Fri, 10 Jan 2014 01:08:29 +0000 (14:08 +1300)
committerben-denham <bend@catalyst.net.nz>
Fri, 10 Jan 2014 01:08:29 +0000 (14:08 +1300)
tests/lib/share/share.php

index 84e2e5c63eba105b9c4a59931a1774981fa0e554..2fe2837019fc585c898b6c4cb63168f038a4951a 100644 (file)
@@ -149,6 +149,26 @@ class Test_Share extends PHPUnit_Framework_TestCase {
                );
        }
 
+       protected function shareUserTestFileWithUser($sharer, $receiver) {
+               OC_User::setUserId($sharer);
+               $this->assertTrue(
+                       OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $receiver, OCP\PERMISSION_READ | OCP\PERMISSION_SHARE),
+                       'Failed asserting that ' . $sharer . ' successfully shared text.txt with ' . $receiver . '.'
+               );
+               $this->assertContains(
+                       'test.txt',
+                       OCP\Share::getItemShared('test', 'test.txt', Test_Share_Backend::FORMAT_SOURCE),
+                       'Failed asserting that test.txt is a shared file of ' . $sharer . '.'
+               );
+
+               OC_User::setUserId($receiver);
+               $this->assertContains(
+                       'test.txt',
+                       OCP\Share::getItemSharedWith('test', 'test.txt', Test_Share_Backend::FORMAT_SOURCE),
+                       'Failed asserting that ' . $receiver . ' has access to test.txt after initial sharing.'
+               );
+       }
+
        public function testShareWithUser() {
                // Invalid shares
                $message = 'Sharing test.txt failed, because the user '.$this->user1.' is the item owner';
@@ -585,25 +605,55 @@ class Test_Share extends PHPUnit_Framework_TestCase {
        }
 
        public function testUnshareAll() {
-               $this->shareUserOneTestFileWithUserTwo();
+               $this->shareUserTestFileWithUser($this->user1, $this->user2);
+               $this->shareUserTestFileWithUser($this->user2, $this->user3);
+               $this->shareUserTestFileWithUser($this->user3, $this->user4);
                $this->shareUserOneTestFileWithGroupOne();
 
                OC_User::setUserId($this->user1);
                $this->assertEquals(
                        array('test.txt', 'test.txt'),
                        OCP\Share::getItemsShared('test', 'test.txt'),
-                       'Failed asserting that the test.txt file is shared exactly two times.'
+                       'Failed asserting that the test.txt file is shared exactly two times by user1.'
+               );
+
+               OC_User::setUserId($this->user2);
+               $this->assertEquals(
+                       array('test.txt'),
+                       OCP\Share::getItemsShared('test', 'test.txt'),
+                       'Failed asserting that the test.txt file is shared exactly once by user2.'
+               );
+
+               OC_User::setUserId($this->user3);
+               $this->assertEquals(
+                       array('test.txt'),
+                       OCP\Share::getItemsShared('test', 'test.txt'),
+                       'Failed asserting that the test.txt file is shared exactly once by user3.'
                );
 
                $this->assertTrue(
                        OCP\Share::unshareAll('test', 'test.txt'),
-                       'Failed asserting that user 1 successfully unshared all shares of the test.txt share.'
+                       'Failed asserting that user 3 successfully unshared all shares of the test.txt share.'
                );
 
                $this->assertEquals(
                        array(),
                        OCP\Share::getItemsShared('test'),
-                       'Failed asserting that both shares of the test.txt file have been removed.'
+                       'Failed asserting that the share of the test.txt file by user 3 has been removed.'
+               );
+
+               OC_User::setUserId($this->user1);
+               $this->assertEquals(
+                       array(),
+                       OCP\Share::getItemsShared('test'),
+                       'Failed asserting that both shares of the test.txt file by user 1 have been removed.'
+               );
+
+               OC_User::setUserId($this->user2);
+               $this->assertEquals(
+                       array(),
+                       OCP\Share::getItemsShared('test'),
+                       'Failed asserting that the share of the test.txt file by user 2 has been removed.'
                );
        }
 }