function getServer()
 {
     $tree = [new DAV\Mock\PropertiesCollection('node1', [], ['{http://sabredav.org/ns}simple' => 'foo', '{http://sabredav.org/ns}href' => new DAV\Xml\Property\Href('node2'), '{DAV:}displayname' => 'Node 1']), new DAV\Mock\PropertiesCollection('node2', [], ['{http://sabredav.org/ns}simple' => 'simple', '{http://sabredav.org/ns}hreflist' => new DAV\Xml\Property\Href(['node1', 'node3']), '{DAV:}displayname' => 'Node 2']), new DAV\Mock\PropertiesCollection('node3', [], ['{http://sabredav.org/ns}simple' => 'simple', '{DAV:}displayname' => 'Node 3'])];
     $fakeServer = new DAV\Server($tree);
     $fakeServer->sapi = new HTTP\SapiMock();
     $fakeServer->debugExceptions = true;
     $fakeServer->httpResponse = new HTTP\ResponseMock();
     $plugin = new Plugin();
     $plugin->allowUnauthenticatedAccess = false;
     // Anyone can do anything
     $plugin->setDefaultACL([['principal' => '{DAV:}all', 'privilege' => '{DAV:}all']]);
     $this->assertTrue($plugin instanceof Plugin);
     $fakeServer->addPlugin($plugin);
     $this->assertEquals($plugin, $fakeServer->getPlugin('acl'));
     return $fakeServer;
 }
 function testGroupMemberSet()
 {
     $tree = [new DAV\SimpleCollection('principals', [$principal = new MockPrincipal('user', 'principals/user')])];
     $fakeServer = new DAV\Server($tree);
     //$plugin = new DAV\Auth\Plugin(new DAV\Auth\MockBackend());
     //$fakeServer->addPlugin($plugin);
     $plugin = new Plugin();
     $plugin->allowUnauthenticatedAccess = false;
     $plugin->setDefaultACL([['principal' => '{DAV:}all', 'privilege' => '{DAV:}all']]);
     $fakeServer->addPlugin($plugin);
     $requestedProperties = ['{DAV:}group-member-set'];
     $result = $fakeServer->getPropertiesForPath('principals/user', $requestedProperties);
     $result = $result[0];
     $this->assertTrue(isset($result[200]));
     $this->assertTrue(isset($result[200]['{DAV:}group-member-set']));
     $this->assertInstanceOf('Sabre\\DAV\\Xml\\Property\\Href', $result[200]['{DAV:}group-member-set']);
     $this->assertEquals([], $result[200]['{DAV:}group-member-set']->getHrefs());
 }