summaryrefslogtreecommitdiffstats
path: root/tests/lib
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lib')
-rw-r--r--tests/lib/AppFramework/Http/RequestTest.php25
-rw-r--r--tests/lib/Group/LegacyGroupTest.php208
-rw-r--r--tests/lib/OCS/ProviderTest.php66
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' => [