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