diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2015-12-10 16:57:46 +0100 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2016-01-08 15:31:33 +0100 |
commit | bb01efdcbd0f290c7a6f26ca99fd89f09b29735d (patch) | |
tree | a1cb7a111a51b377411b65a54b206711fa8ad348 /apps/dav/tests | |
parent | f9c08112da9e263ccb98a48c228deb31f3046b61 (diff) | |
download | nextcloud-server-bb01efdcbd0f290c7a6f26ca99fd89f09b29735d.tar.gz nextcloud-server-bb01efdcbd0f290c7a6f26ca99fd89f09b29735d.zip |
Adding unit tests for SystemPrincipalBackend
Diffstat (limited to 'apps/dav/tests')
-rw-r--r-- | apps/dav/tests/unit/dav/systemprincipalbackendtest.php | 131 | ||||
-rw-r--r-- | apps/dav/tests/unit/phpunit.xml | 2 |
2 files changed, 132 insertions, 1 deletions
diff --git a/apps/dav/tests/unit/dav/systemprincipalbackendtest.php b/apps/dav/tests/unit/dav/systemprincipalbackendtest.php new file mode 100644 index 00000000000..96b1a8592c2 --- /dev/null +++ b/apps/dav/tests/unit/dav/systemprincipalbackendtest.php @@ -0,0 +1,131 @@ +<?php +/** + * @author Thomas Müller <thomas.mueller@tmit.eu> + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * This program 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, version 3, + * along with this program. If not, see <http://www.gnu.org/licenses/> + * + */ + +namespace OCA\DAV\Tests\DAV; + +use OCA\DAV\DAV\SystemPrincipalBackend; +use Test\TestCase; + +class SystemPrincipalBackendTest extends TestCase { + + /** + * @dataProvider providesPrefix + * @param $expected + * @param $prefix + */ + public function testGetPrincipalsByPrefix($expected, $prefix) { + $backend = new SystemPrincipalBackend(); + $result = $backend->getPrincipalsByPrefix($prefix); + $this->assertEquals($expected, $result); + } + + public function providesPrefix() { + return [ + [[], ''], + [[[ + 'uri' => 'principals/system/system', + '{DAV:}displayname' => 'system', + ]], 'principals/system'], + ]; + } + + /** + * @dataProvider providesPath + * @param $expected + * @param $path + */ + public function testGetPrincipalByPath($expected, $path) { + $backend = new SystemPrincipalBackend(); + $result = $backend->getPrincipalByPath($path); + $this->assertEquals($expected, $result); + } + + public function providesPath() { + return [ + [null, ''], + [null, 'principals'], + [null, 'principals/system'], + [[ + 'uri' => 'principals/system/system', + '{DAV:}displayname' => 'system', + ], 'principals/system/system'], + ]; + } + + /** + * @dataProvider providesPrincipalForGetGroupMemberSet + * @expectedException \Sabre\DAV\Exception + * @expectedExceptionMessage Principal not found + * + * @param string $principal + * @throws \Sabre\DAV\Exception + */ + public function testGetGroupMemberSetExceptional($principal) { + $backend = new SystemPrincipalBackend(); + $backend->getGroupMemberSet($principal); + } + + public function providesPrincipalForGetGroupMemberSet() { + return [ + [null], + ['principals/system'], + ]; + } + + /** + * @throws \Sabre\DAV\Exception + */ + public function testGetGroupMemberSet() { + $backend = new SystemPrincipalBackend(); + $result = $backend->getGroupMemberSet('principals/system/system'); + $this->assertEquals(['principals/system/system'], $result); + } + + /** + * @dataProvider providesPrincipalForGetGroupMembership + * @expectedException \Sabre\DAV\Exception + * @expectedExceptionMessage Principal not found + * + * @param string $principal + * @throws \Sabre\DAV\Exception + */ + public function testGetGroupMembershipExceptional($principal) { + $backend = new SystemPrincipalBackend(); + $backend->getGroupMembership($principal); + } + + public function providesPrincipalForGetGroupMembership() { + return [ + ['principals/system/a'], + ]; + } + + /** + * @throws \Sabre\DAV\Exception + */ + public function testGetGroupMembership() { + $backend = new SystemPrincipalBackend(); + $result = $backend->getGroupMembership('principals/system/system'); + $this->assertEquals([], $result); + } + + +} diff --git a/apps/dav/tests/unit/phpunit.xml b/apps/dav/tests/unit/phpunit.xml index 46c3cdfb345..314855d863b 100644 --- a/apps/dav/tests/unit/phpunit.xml +++ b/apps/dav/tests/unit/phpunit.xml @@ -6,7 +6,7 @@ timeoutForLargeTests="900" > <testsuite name='unit'> - <directory suffix='test.php'>.</directory> + <directory suffix='.php'>.</directory> </testsuite> <!-- filters for code coverage --> <filter> |