aboutsummaryrefslogtreecommitdiffstats
path: root/tests/unit/Access/AccessListTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/Access/AccessListTest.php')
-rw-r--r--tests/unit/Access/AccessListTest.php191
1 files changed, 0 insertions, 191 deletions
diff --git a/tests/unit/Access/AccessListTest.php b/tests/unit/Access/AccessListTest.php
deleted file mode 100644
index dbc19fabb..000000000
--- a/tests/unit/Access/AccessListTest.php
+++ /dev/null
@@ -1,191 +0,0 @@
-<?php
-/*
- * Copyright (c) 2017 Hubzilla
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-namespace Zotlabs\Tests\Unit\Access;
-
-use Zotlabs\Tests\Unit\UnitTestCase;
-use Zotlabs\Access\AccessList;
-
-/**
- * @brief Unit Test case for AccessList class.
- *
- * @covers Zotlabs\Access\AccessList
- */
-class AccessListTest extends UnitTestCase {
-
- /**
- * @brief Expected result for most tests.
- * @var array
- */
- protected $expectedResult = [
- 'allow_cid' => '<acid><acid2>',
- 'allow_gid' => '<agid>',
- 'deny_cid' => '',
- 'deny_gid' => '<dgid><dgid2>'
- ];
-
-
-
- public function testConstructor() {
- $channel = [
- 'channel_allow_cid' => '<acid><acid2>',
- 'channel_allow_gid' => '<agid>',
- 'channel_deny_cid' => '',
- 'channel_deny_gid' => '<dgid><dgid2>'
- ];
-
- $accessList = new AccessList($channel);
-
- $this->assertEquals($this->expectedResult, $accessList->get());
- $this->assertFalse($accessList->get_explicit());
- }
-
- /**
- * @expectedException PHPUnit\Framework\Error\Error
- */
- public function testPHPErrorOnInvalidConstructor() {
- $accessList = new AccessList('invalid');
- // Causes: "Illegal string offset 'channel_allow_cid'"
- }
-
- public function testDefaultGetExplicit() {
- $accessList = new AccessList([]);
-
- $this->assertFalse($accessList->get_explicit());
- }
-
- public function testDefaultGet() {
- $arr = [
- 'allow_cid' => '',
- 'allow_gid' => '',
- 'deny_cid' => '',
- 'deny_gid' => ''
- ];
-
- $accessList = new AccessList([]);
-
- $this->assertEquals($arr, $accessList->get());
- }
-
- public function testSet() {
- $arr = [
- 'allow_cid' => '<acid><acid2>',
- 'allow_gid' => '<agid>',
- 'deny_cid' => '',
- 'deny_gid' => '<dgid><dgid2>'
- ];
- $accessList = new AccessList([]);
-
- // default explicit true
- $accessList->set($arr);
-
- $this->assertEquals($this->expectedResult, $accessList->get());
- $this->assertTrue($accessList->get_explicit());
-
- // set explicit false
- $accessList->set($arr, false);
-
- $this->assertEquals($this->expectedResult, $accessList->get());
- $this->assertFalse($accessList->get_explicit());
- }
-
- /**
- * @expectedException PHPUnit\Framework\Error\Error
- */
- public function testPHPErrorOnInvalidSet() {
- $accessList = new AccessList([]);
-
- $accessList->set('invalid');
- // Causes: "Illegal string offset 'allow_cid'"
- }
-
- /**
- * set_from_array() calls some other functions, too which are not yet unit tested.
- * @uses ::perms2str
- * @uses ::sanitise_acl
- * @uses ::notags
- */
- public function testSetFromArray() {
- // array
- $arraySetFromArray = [
- 'contact_allow' => ['acid', 'acid2'],
- 'group_allow' => ['agid'],
- 'contact_deny' => [],
- 'group_deny' => ['dgid', 'dgid2']
- ];
- $accessList = new AccessList([]);
- $accessList->set_from_array($arraySetFromArray);
-
- $this->assertEquals($this->expectedResult, $accessList->get());
- $this->assertTrue($accessList->get_explicit());
-
-
- // string
- $stringSetFromArray = [
- 'contact_allow' => 'acid,acid2',
- 'group_allow' => 'agid',
- 'contact_deny' => '',
- 'group_deny' => 'dgid, dgid2'
- ];
- $accessList2 = new AccessList([]);
- $accessList2->set_from_array($stringSetFromArray, false);
-
- $this->assertEquals($this->expectedResult, $accessList2->get());
- $this->assertFalse($accessList2->get_explicit());
- }
-
- /**
- * @dataProvider isprivateProvider
- */
- public function testIsPrivate($channel) {
- $accessListPublic = new AccessList([]);
- $this->assertFalse($accessListPublic->is_private());
-
- $accessListPrivate = new AccessList($channel);
- $this->assertTrue($accessListPrivate->is_private());
- }
-
- public function isprivateProvider() {
- return [
- 'all set' => [[
- 'channel_allow_cid' => '<acid>',
- 'channel_allow_gid' => '<agid>',
- 'channel_deny_cid' => '<dcid>',
- 'channel_deny_gid' => '<dgid>'
- ]],
- 'only one set' => [[
- 'channel_allow_cid' => '<acid>',
- 'channel_allow_gid' => '',
- 'channel_deny_cid' => '',
- 'channel_deny_gid' => ''
- ]],
- 'acid+null' => [[
- 'channel_allow_cid' => '<acid>',
- 'channel_allow_gid' => null,
- 'channel_deny_cid' => '',
- 'channel_deny_gid' => ''
- ]]
- ];
- }
-
-} \ No newline at end of file