diff options
Diffstat (limited to 'tests/lib')
-rw-r--r-- | tests/lib/AppFramework/Http/RequestTest.php | 25 | ||||
-rw-r--r-- | tests/lib/Group/LegacyGroupTest.php | 208 | ||||
-rw-r--r-- | tests/lib/OCS/ProviderTest.php | 66 |
3 files changed, 89 insertions, 210 deletions
diff --git a/tests/lib/AppFramework/Http/RequestTest.php b/tests/lib/AppFramework/Http/RequestTest.php index 6c6504b4de8..cc4bbee2d8d 100644 --- a/tests/lib/AppFramework/Http/RequestTest.php +++ b/tests/lib/AppFramework/Http/RequestTest.php @@ -1787,6 +1787,31 @@ class RequestTest extends \Test\TestCase { $this->assertFalse($request->passesLaxCookieCheck()); } + public function testSkipCookieCheckForOCSRequests() { + /** @var Request $request */ + $request = $this->getMockBuilder('\OC\AppFramework\Http\Request') + ->setMethods(['getScriptName']) + ->setConstructorArgs([ + [ + 'server' => [ + 'HTTP_REQUESTTOKEN' => 'AAAHGxsTCTc3BgMQESAcNR0OAR0=:MyTotalSecretShareds', + 'HTTP_OCS_APIREQUEST' => 'true', + ], + 'cookies' => [ + session_name() => 'asdf', + 'nc_sameSiteCookiestrict' => 'false', + ], + ], + $this->secureRandom, + $this->config, + $this->csrfTokenManager, + $this->stream + ]) + ->getMock(); + + $this->assertTrue($request->passesStrictCookieCheck()); + } + /** * @return array */ diff --git a/tests/lib/Group/LegacyGroupTest.php b/tests/lib/Group/LegacyGroupTest.php deleted file mode 100644 index b7d13437a64..00000000000 --- a/tests/lib/Group/LegacyGroupTest.php +++ /dev/null @@ -1,208 +0,0 @@ -<?php -/** - * ownCloud - * - * @author Robin Appelman - * @author Bernhard Posselt - * @copyright 2012 Robin Appelman <icewind@owncloud.com> - * @copyright 2012 Bernhard Posselt <dev@bernhard-posselt.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/>. - * - */ - -namespace Test\Group; - -use OC_Group; -use OC_User; - -/** - * Class LegacyGroupTest - * - * @package Test\Group - * @group DB - */ -class LegacyGroupTest extends \Test\TestCase { - protected function setUp() { - parent::setUp(); - OC_Group::clearBackends(); - OC_User::clearBackends(); - } - - public function testSingleBackend() { - $userBackend = new \Test\Util\User\Dummy(); - \OC::$server->getUserManager()->registerBackend($userBackend); - OC_Group::useBackend(new \Test\Util\Group\Dummy()); - - $group1 = $this->getUniqueID(); - $group2 = $this->getUniqueID(); - OC_Group::createGroup($group1); - OC_Group::createGroup($group2); - - $user1 = $this->getUniqueID(); - $user2 = $this->getUniqueID(); - $userBackend->createUser($user1, ''); - $userBackend->createUser($user2, ''); - - $this->assertFalse(OC_Group::inGroup($user1, $group1), 'Asserting that user1 is not in group1'); - $this->assertFalse(OC_Group::inGroup($user2, $group1), 'Asserting that user2 is not in group1'); - $this->assertFalse(OC_Group::inGroup($user1, $group2), 'Asserting that user1 is not in group2'); - $this->assertFalse(OC_Group::inGroup($user2, $group2), 'Asserting that user2 is not in group2'); - - $this->assertTrue(OC_Group::addToGroup($user1, $group1)); - - $this->assertTrue(OC_Group::inGroup($user1, $group1), 'Asserting that user1 is in group1'); - $this->assertFalse(OC_Group::inGroup($user2, $group1), 'Asserting that user2 is not in group1'); - $this->assertFalse(OC_Group::inGroup($user1, $group2), 'Asserting that user1 is not in group2'); - $this->assertFalse(OC_Group::inGroup($user2, $group2), 'Asserting that user2 is not in group2'); - - $this->assertTrue(OC_Group::addToGroup($user1, $group1)); - - $this->assertEquals(array($user1), OC_Group::usersInGroup($group1)); - $this->assertEquals(array(), OC_Group::usersInGroup($group2)); - - $this->assertEquals(array($group1), OC_Group::getUserGroups($user1)); - $this->assertEquals(array(), OC_Group::getUserGroups($user2)); - - OC_Group::deleteGroup($group1); - $this->assertEquals(array(), OC_Group::getUserGroups($user1)); - $this->assertEquals(array(), OC_Group::usersInGroup($group1)); - $this->assertFalse(OC_Group::inGroup($user1, $group1)); - } - - - public function testNoEmptyGIDs() { - OC_Group::useBackend(new \Test\Util\Group\Dummy()); - $emptyGroup = null; - - $this->assertFalse(OC_Group::createGroup($emptyGroup)); - } - - - public function testNoGroupsTwice() { - OC_Group::useBackend(new \Test\Util\Group\Dummy()); - $group = $this->getUniqueID(); - OC_Group::createGroup($group); - - $groupCopy = $group; - - OC_Group::createGroup($groupCopy); - $this->assertEquals(array($group), OC_Group::getGroups()); - } - - - public function testDontDeleteAdminGroup() { - OC_Group::useBackend(new \Test\Util\Group\Dummy()); - $adminGroup = 'admin'; - OC_Group::createGroup($adminGroup); - - $this->assertFalse(OC_Group::deleteGroup($adminGroup)); - $this->assertEquals(array($adminGroup), OC_Group::getGroups()); - } - - - public function testDontAddUserToNonexistentGroup() { - OC_Group::useBackend(new \Test\Util\Group\Dummy()); - $groupNonExistent = 'notExistent'; - $user = $this->getUniqueID(); - - $this->assertEquals(false, OC_Group::addToGroup($user, $groupNonExistent)); - $this->assertEquals(array(), OC_Group::getGroups()); - } - - public function testUsersInGroup() { - OC_Group::useBackend(new \Test\Util\Group\Dummy()); - $userBackend = new \Test\Util\User\Dummy(); - \OC::$server->getUserManager()->registerBackend($userBackend); - - $group1 = $this->getUniqueID(); - $group2 = $this->getUniqueID(); - $group3 = $this->getUniqueID(); - $user1 = $this->getUniqueID(); - $user2 = $this->getUniqueID(); - $user3 = $this->getUniqueID(); - OC_Group::createGroup($group1); - OC_Group::createGroup($group2); - OC_Group::createGroup($group3); - - $userBackend->createUser($user1, ''); - $userBackend->createUser($user2, ''); - $userBackend->createUser($user3, ''); - - OC_Group::addToGroup($user1, $group1); - OC_Group::addToGroup($user2, $group1); - OC_Group::addToGroup($user3, $group1); - OC_Group::addToGroup($user3, $group2); - - $this->assertEquals(array($user1, $user2, $user3), - OC_Group::usersInGroups(array($group1, $group2, $group3))); - - // FIXME: needs more parameter variation - } - - public function testMultiBackend() { - $userBackend = new \Test\Util\User\Dummy(); - \OC::$server->getUserManager()->registerBackend($userBackend); - $backend1 = new \Test\Util\Group\Dummy(); - $backend2 = new \Test\Util\Group\Dummy(); - OC_Group::useBackend($backend1); - OC_Group::useBackend($backend2); - - $group1 = $this->getUniqueID(); - $group2 = $this->getUniqueID(); - OC_Group::createGroup($group1); - - //groups should be added to the first registered backend - $this->assertEquals(array($group1), $backend1->getGroups()); - $this->assertEquals(array(), $backend2->getGroups()); - - $this->assertEquals(array($group1), OC_Group::getGroups()); - $this->assertTrue(OC_Group::groupExists($group1)); - $this->assertFalse(OC_Group::groupExists($group2)); - - $backend1->createGroup($group2); - - $this->assertEquals(array($group1, $group2), OC_Group::getGroups()); - $this->assertTrue(OC_Group::groupExists($group1)); - $this->assertTrue(OC_Group::groupExists($group2)); - - $user1 = $this->getUniqueID(); - $user2 = $this->getUniqueID(); - - $userBackend->createUser($user1, ''); - $userBackend->createUser($user2, ''); - - $this->assertFalse(OC_Group::inGroup($user1, $group1)); - $this->assertFalse(OC_Group::inGroup($user2, $group1)); - - - $this->assertTrue(OC_Group::addToGroup($user1, $group1)); - - $this->assertTrue(OC_Group::inGroup($user1, $group1)); - $this->assertFalse(OC_Group::inGroup($user2, $group1)); - $this->assertFalse($backend2->inGroup($user1, $group1)); - - OC_Group::addToGroup($user1, $group1); - - $this->assertEquals(array($user1), OC_Group::usersInGroup($group1)); - - $this->assertEquals(array($group1), OC_Group::getUserGroups($user1)); - $this->assertEquals(array(), OC_Group::getUserGroups($user2)); - - OC_Group::deleteGroup($group1); - $this->assertEquals(array(), OC_Group::getUserGroups($user1)); - $this->assertEquals(array(), OC_Group::usersInGroup($group1)); - $this->assertFalse(OC_Group::inGroup($user1, $group1)); - } -} diff --git a/tests/lib/OCS/ProviderTest.php b/tests/lib/OCS/ProviderTest.php index 399fd3933d9..9444544d12a 100644 --- a/tests/lib/OCS/ProviderTest.php +++ b/tests/lib/OCS/ProviderTest.php @@ -48,11 +48,16 @@ class ProviderTest extends \Test\TestCase { $this->appManager ->expects($this->at(1)) ->method('isEnabledForUser') - ->with('activity') + ->with('federation') ->will($this->returnValue(false)); $this->appManager ->expects($this->at(2)) ->method('isEnabledForUser') + ->with('activity') + ->will($this->returnValue(false)); + $this->appManager + ->expects($this->at(3)) + ->method('isEnabledForUser') ->with('provisioning_api') ->will($this->returnValue(false)); @@ -84,11 +89,16 @@ class ProviderTest extends \Test\TestCase { $this->appManager ->expects($this->at(1)) ->method('isEnabledForUser') - ->with('activity') + ->with('federation') ->will($this->returnValue(false)); $this->appManager ->expects($this->at(2)) ->method('isEnabledForUser') + ->with('activity') + ->will($this->returnValue(false)); + $this->appManager + ->expects($this->at(3)) + ->method('isEnabledForUser') ->with('provisioning_api') ->will($this->returnValue(false)); @@ -124,6 +134,55 @@ class ProviderTest extends \Test\TestCase { $this->assertEquals($expected, $this->ocsProvider->buildProviderList()); } + public function testBuildProviderListWithFederationEnabled() { + $this->appManager + ->expects($this->at(0)) + ->method('isEnabledForUser') + ->with('files_sharing') + ->will($this->returnValue(false)); + $this->appManager + ->expects($this->at(1)) + ->method('isEnabledForUser') + ->with('federation') + ->will($this->returnValue(true)); + $this->appManager + ->expects($this->at(2)) + ->method('isEnabledForUser') + ->with('activity') + ->will($this->returnValue(false)); + $this->appManager + ->expects($this->at(3)) + ->method('isEnabledForUser') + ->with('provisioning_api') + ->will($this->returnValue(false)); + + $expected = new \OCP\AppFramework\Http\JSONResponse( + [ + 'version' => 2, + 'services' => [ + 'PRIVATE_DATA' => [ + 'version' => 1, + 'endpoints' => [ + 'store' => '/ocs/v2.php/privatedata/setattribute', + 'read' => '/ocs/v2.php/privatedata/getattribute', + 'delete' => '/ocs/v2.php/privatedata/deleteattribute', + ], + ], + 'FEDERATED_SHARING' => [ + 'version' => 1, + 'endpoints' => [ + 'shared-secret' => '/ocs/v2.php/cloud/shared-secret', + 'system-address-book' => '/remote.php/dav/addressbooks/system/system/system', + 'carddav-user' => 'system' + ], + ], + ], + ] + ); + + $this->assertEquals($expected, $this->ocsProvider->buildProviderList()); + } + public function testBuildProviderListWithEverythingEnabled() { $this->appManager ->expects($this->any()) @@ -147,6 +206,9 @@ class ProviderTest extends \Test\TestCase { 'endpoints' => [ 'share' => '/ocs/v2.php/cloud/shares', 'webdav' => '/public.php/webdav/', + 'shared-secret' => '/ocs/v2.php/cloud/shared-secret', + 'system-address-book' => '/remote.php/dav/addressbooks/system/system/system', + 'carddav-user' => 'system' ], ], 'SHARING' => [ |