xref: /plugin/davcal/vendor/sabre/dav/tests/Sabre/DAVACL/FS/HomeCollectionTest.php (revision a1a3b6794e0e143a4a8b51d3185ce2d339be61ab)
1*a1a3b679SAndreas Boehler<?php
2*a1a3b679SAndreas Boehler
3*a1a3b679SAndreas Boehlernamespace Sabre\DAVACL\FS;
4*a1a3b679SAndreas Boehler
5*a1a3b679SAndreas Boehleruse Sabre\DAVACL\PrincipalBackend\Mock as PrincipalBackend;
6*a1a3b679SAndreas Boehler
7*a1a3b679SAndreas Boehlerclass HomeCollectionTest extends \PHPUnit_Framework_TestCase {
8*a1a3b679SAndreas Boehler
9*a1a3b679SAndreas Boehler    /**
10*a1a3b679SAndreas Boehler     * System under test
11*a1a3b679SAndreas Boehler     *
12*a1a3b679SAndreas Boehler     * @var HomeCollection
13*a1a3b679SAndreas Boehler     */
14*a1a3b679SAndreas Boehler    protected $sut;
15*a1a3b679SAndreas Boehler
16*a1a3b679SAndreas Boehler    protected $path;
17*a1a3b679SAndreas Boehler    protected $name = 'thuis';
18*a1a3b679SAndreas Boehler
19*a1a3b679SAndreas Boehler    function setUp() {
20*a1a3b679SAndreas Boehler
21*a1a3b679SAndreas Boehler        $principalBackend = new PrincipalBackend();
22*a1a3b679SAndreas Boehler
23*a1a3b679SAndreas Boehler        $this->path = SABRE_TEMPDIR . '/home';
24*a1a3b679SAndreas Boehler
25*a1a3b679SAndreas Boehler        $this->sut = new HomeCollection($principalBackend, $this->path);
26*a1a3b679SAndreas Boehler        $this->sut->collectionName = $this->name;
27*a1a3b679SAndreas Boehler
28*a1a3b679SAndreas Boehler
29*a1a3b679SAndreas Boehler    }
30*a1a3b679SAndreas Boehler
31*a1a3b679SAndreas Boehler    function tearDown() {
32*a1a3b679SAndreas Boehler
33*a1a3b679SAndreas Boehler        \Sabre\TestUtil::clearTempDir();
34*a1a3b679SAndreas Boehler
35*a1a3b679SAndreas Boehler    }
36*a1a3b679SAndreas Boehler
37*a1a3b679SAndreas Boehler    function testGetName() {
38*a1a3b679SAndreas Boehler
39*a1a3b679SAndreas Boehler        $this->assertEquals(
40*a1a3b679SAndreas Boehler            $this->name,
41*a1a3b679SAndreas Boehler            $this->sut->getName()
42*a1a3b679SAndreas Boehler        );
43*a1a3b679SAndreas Boehler
44*a1a3b679SAndreas Boehler    }
45*a1a3b679SAndreas Boehler
46*a1a3b679SAndreas Boehler    function testGetChild() {
47*a1a3b679SAndreas Boehler
48*a1a3b679SAndreas Boehler        $child = $this->sut->getChild('user1');
49*a1a3b679SAndreas Boehler        $this->assertInstanceOf('Sabre\\DAVACL\\FS\\Collection', $child);
50*a1a3b679SAndreas Boehler        $this->assertEquals('user1', $child->getName());
51*a1a3b679SAndreas Boehler
52*a1a3b679SAndreas Boehler        $owner = 'principals/user1';
53*a1a3b679SAndreas Boehler        $acl = [
54*a1a3b679SAndreas Boehler            [
55*a1a3b679SAndreas Boehler                'privilege' => '{DAV:}read',
56*a1a3b679SAndreas Boehler                'principal' => $owner,
57*a1a3b679SAndreas Boehler                'protected' => true,
58*a1a3b679SAndreas Boehler            ],
59*a1a3b679SAndreas Boehler            [
60*a1a3b679SAndreas Boehler                'privilege' => '{DAV:}write',
61*a1a3b679SAndreas Boehler                'principal' => $owner,
62*a1a3b679SAndreas Boehler                'protected' => true,
63*a1a3b679SAndreas Boehler            ],
64*a1a3b679SAndreas Boehler        ];
65*a1a3b679SAndreas Boehler
66*a1a3b679SAndreas Boehler        $this->assertEquals($acl, $child->getACL());
67*a1a3b679SAndreas Boehler        $this->assertEquals($owner, $child->getOwner());
68*a1a3b679SAndreas Boehler
69*a1a3b679SAndreas Boehler    }
70*a1a3b679SAndreas Boehler
71*a1a3b679SAndreas Boehler    function testGetOwner() {
72*a1a3b679SAndreas Boehler
73*a1a3b679SAndreas Boehler        $this->assertNull(
74*a1a3b679SAndreas Boehler            $this->sut->getOwner()
75*a1a3b679SAndreas Boehler        );
76*a1a3b679SAndreas Boehler
77*a1a3b679SAndreas Boehler    }
78*a1a3b679SAndreas Boehler
79*a1a3b679SAndreas Boehler    function testGetGroup() {
80*a1a3b679SAndreas Boehler
81*a1a3b679SAndreas Boehler        $this->assertNull(
82*a1a3b679SAndreas Boehler            $this->sut->getGroup()
83*a1a3b679SAndreas Boehler        );
84*a1a3b679SAndreas Boehler
85*a1a3b679SAndreas Boehler    }
86*a1a3b679SAndreas Boehler
87*a1a3b679SAndreas Boehler    function testGetACL() {
88*a1a3b679SAndreas Boehler
89*a1a3b679SAndreas Boehler        $acl = [
90*a1a3b679SAndreas Boehler            [
91*a1a3b679SAndreas Boehler                'principal' => '{DAV:}authenticated',
92*a1a3b679SAndreas Boehler                'privilege' => '{DAV:}read',
93*a1a3b679SAndreas Boehler                'protected' => true,
94*a1a3b679SAndreas Boehler            ]
95*a1a3b679SAndreas Boehler        ];
96*a1a3b679SAndreas Boehler
97*a1a3b679SAndreas Boehler        $this->assertEquals(
98*a1a3b679SAndreas Boehler            $acl,
99*a1a3b679SAndreas Boehler            $this->sut->getACL()
100*a1a3b679SAndreas Boehler        );
101*a1a3b679SAndreas Boehler
102*a1a3b679SAndreas Boehler    }
103*a1a3b679SAndreas Boehler
104*a1a3b679SAndreas Boehler    /**
105*a1a3b679SAndreas Boehler     * @expectedException \Sabre\DAV\Exception\Forbidden
106*a1a3b679SAndreas Boehler     */
107*a1a3b679SAndreas Boehler    function testSetAcl() {
108*a1a3b679SAndreas Boehler
109*a1a3b679SAndreas Boehler        $this->sut->setACL([]);
110*a1a3b679SAndreas Boehler
111*a1a3b679SAndreas Boehler    }
112*a1a3b679SAndreas Boehler
113*a1a3b679SAndreas Boehler    function testGetSupportedPrivilegeSet() {
114*a1a3b679SAndreas Boehler
115*a1a3b679SAndreas Boehler        $this->assertNull(
116*a1a3b679SAndreas Boehler            $this->sut->getSupportedPrivilegeSet()
117*a1a3b679SAndreas Boehler        );
118*a1a3b679SAndreas Boehler
119*a1a3b679SAndreas Boehler    }
120*a1a3b679SAndreas Boehler
121*a1a3b679SAndreas Boehler}
122