1*a1a3b679SAndreas Boehler<?php 2*a1a3b679SAndreas Boehler 3*a1a3b679SAndreas Boehlernamespace Sabre\CalDAV\Notifications; 4*a1a3b679SAndreas Boehler 5*a1a3b679SAndreas Boehleruse Sabre\CalDAV; 6*a1a3b679SAndreas Boehler 7*a1a3b679SAndreas Boehlerclass NodeTest extends \PHPUnit_Framework_TestCase { 8*a1a3b679SAndreas Boehler 9*a1a3b679SAndreas Boehler protected $systemStatus; 10*a1a3b679SAndreas Boehler protected $caldavBackend; 11*a1a3b679SAndreas Boehler 12*a1a3b679SAndreas Boehler function getInstance() { 13*a1a3b679SAndreas Boehler 14*a1a3b679SAndreas Boehler $principalUri = 'principals/user1'; 15*a1a3b679SAndreas Boehler 16*a1a3b679SAndreas Boehler $this->systemStatus = new CalDAV\Xml\Notification\SystemStatus(1,'"1"'); 17*a1a3b679SAndreas Boehler 18*a1a3b679SAndreas Boehler $this->caldavBackend = new CalDAV\Backend\MockSharing([], [], [ 19*a1a3b679SAndreas Boehler 'principals/user1' => [ 20*a1a3b679SAndreas Boehler $this->systemStatus 21*a1a3b679SAndreas Boehler ] 22*a1a3b679SAndreas Boehler ]); 23*a1a3b679SAndreas Boehler 24*a1a3b679SAndreas Boehler $node = new Node($this->caldavBackend, 'principals/user1', $this->systemStatus); 25*a1a3b679SAndreas Boehler return $node; 26*a1a3b679SAndreas Boehler 27*a1a3b679SAndreas Boehler } 28*a1a3b679SAndreas Boehler 29*a1a3b679SAndreas Boehler function testGetId() { 30*a1a3b679SAndreas Boehler 31*a1a3b679SAndreas Boehler $node = $this->getInstance(); 32*a1a3b679SAndreas Boehler $this->assertEquals($this->systemStatus->getId() . '.xml', $node->getName()); 33*a1a3b679SAndreas Boehler 34*a1a3b679SAndreas Boehler } 35*a1a3b679SAndreas Boehler 36*a1a3b679SAndreas Boehler function testGetEtag() { 37*a1a3b679SAndreas Boehler 38*a1a3b679SAndreas Boehler $node = $this->getInstance(); 39*a1a3b679SAndreas Boehler $this->assertEquals('"1"', $node->getETag()); 40*a1a3b679SAndreas Boehler 41*a1a3b679SAndreas Boehler } 42*a1a3b679SAndreas Boehler 43*a1a3b679SAndreas Boehler function testGetNotificationType() { 44*a1a3b679SAndreas Boehler 45*a1a3b679SAndreas Boehler $node = $this->getInstance(); 46*a1a3b679SAndreas Boehler $this->assertEquals($this->systemStatus, $node->getNotificationType()); 47*a1a3b679SAndreas Boehler 48*a1a3b679SAndreas Boehler } 49*a1a3b679SAndreas Boehler 50*a1a3b679SAndreas Boehler function testDelete() { 51*a1a3b679SAndreas Boehler 52*a1a3b679SAndreas Boehler $node = $this->getInstance(); 53*a1a3b679SAndreas Boehler $node->delete(); 54*a1a3b679SAndreas Boehler $this->assertEquals(array(), $this->caldavBackend->getNotificationsForPrincipal('principals/user1')); 55*a1a3b679SAndreas Boehler 56*a1a3b679SAndreas Boehler } 57*a1a3b679SAndreas Boehler 58*a1a3b679SAndreas Boehler function testGetGroup() { 59*a1a3b679SAndreas Boehler 60*a1a3b679SAndreas Boehler $node = $this->getInstance(); 61*a1a3b679SAndreas Boehler $this->assertNull($node->getGroup()); 62*a1a3b679SAndreas Boehler 63*a1a3b679SAndreas Boehler } 64*a1a3b679SAndreas Boehler 65*a1a3b679SAndreas Boehler function testGetACL() { 66*a1a3b679SAndreas Boehler 67*a1a3b679SAndreas Boehler $node = $this->getInstance(); 68*a1a3b679SAndreas Boehler $expected = array( 69*a1a3b679SAndreas Boehler array( 70*a1a3b679SAndreas Boehler 'privilege' => '{DAV:}read', 71*a1a3b679SAndreas Boehler 'principal' => 'principals/user1', 72*a1a3b679SAndreas Boehler 'protected' => true, 73*a1a3b679SAndreas Boehler ), 74*a1a3b679SAndreas Boehler array( 75*a1a3b679SAndreas Boehler 'privilege' => '{DAV:}write', 76*a1a3b679SAndreas Boehler 'principal' => 'principals/user1', 77*a1a3b679SAndreas Boehler 'protected' => true, 78*a1a3b679SAndreas Boehler ), 79*a1a3b679SAndreas Boehler ); 80*a1a3b679SAndreas Boehler 81*a1a3b679SAndreas Boehler $this->assertEquals($expected, $node->getACL()); 82*a1a3b679SAndreas Boehler 83*a1a3b679SAndreas Boehler } 84*a1a3b679SAndreas Boehler 85*a1a3b679SAndreas Boehler /** 86*a1a3b679SAndreas Boehler * @expectedException Sabre\DAV\Exception\NotImplemented 87*a1a3b679SAndreas Boehler */ 88*a1a3b679SAndreas Boehler function testSetACL() { 89*a1a3b679SAndreas Boehler 90*a1a3b679SAndreas Boehler $node = $this->getInstance(); 91*a1a3b679SAndreas Boehler $node->setACL(array()); 92*a1a3b679SAndreas Boehler 93*a1a3b679SAndreas Boehler } 94*a1a3b679SAndreas Boehler 95*a1a3b679SAndreas Boehler function testGetSupportedPrivilegeSet() { 96*a1a3b679SAndreas Boehler 97*a1a3b679SAndreas Boehler $node = $this->getInstance(); 98*a1a3b679SAndreas Boehler $this->assertNull($node->getSupportedPrivilegeSet()); 99*a1a3b679SAndreas Boehler 100*a1a3b679SAndreas Boehler } 101*a1a3b679SAndreas Boehler} 102