예제 #1
0
 function testCurrentUserPrincipal()
 {
     $fakeServer = new DAV\Server();
     $plugin = new DAV\Auth\Plugin(new DAV\Auth\Backend\Mock(), 'realm');
     $fakeServer->addPlugin($plugin);
     $plugin = new Plugin();
     $fakeServer->addPlugin($plugin);
     $requestedProperties = array('{DAV:}current-user-principal');
     $returnedProperties = array(200 => array(), 404 => array());
     $this->assertNull($plugin->beforeGetProperties('', new DAV\SimpleCollection('root'), $requestedProperties, $returnedProperties));
     $this->assertEquals(1, count($returnedProperties[200]));
     $this->assertArrayHasKey('{DAV:}current-user-principal', $returnedProperties[200]);
     $this->assertInstanceOf('Sabre\\DAVACL\\Property\\Principal', $returnedProperties[200]['{DAV:}current-user-principal']);
     $this->assertEquals(Property\Principal::UNAUTHENTICATED, $returnedProperties[200]['{DAV:}current-user-principal']->getType());
     // This will force the login
     $fakeServer->broadCastEvent('beforeMethod', array('GET', ''));
     $requestedProperties = array('{DAV:}current-user-principal');
     $returnedProperties = array(200 => array(), 404 => array());
     $this->assertNull($plugin->beforeGetProperties('', new DAV\SimpleCollection('root'), $requestedProperties, $returnedProperties));
     $this->assertEquals(1, count($returnedProperties[200]));
     $this->assertArrayHasKey('{DAV:}current-user-principal', $returnedProperties[200]);
     $this->assertInstanceOf('Sabre\\DAVACL\\Property\\Principal', $returnedProperties[200]['{DAV:}current-user-principal']);
     $this->assertEquals(Property\Principal::HREF, $returnedProperties[200]['{DAV:}current-user-principal']->getType());
     $this->assertEquals('principals/admin/', $returnedProperties[200]['{DAV:}current-user-principal']->getHref());
 }
예제 #2
0
 /**
  * @depends testInit
  */
 function testGetCurrentUserPrincipal()
 {
     $fakeServer = new DAV\Server(new DAV\SimpleCollection('bla'));
     $plugin = new Plugin(new Backend\Mock(), 'realm');
     $fakeServer->addPlugin($plugin);
     $fakeServer->broadCastEvent('beforeMethod', array('GET', '/'));
     $this->assertEquals('admin', $plugin->getCurrentUser());
 }