3 require_once 'Sabre/HTTP/ResponseMock.php';
5 class Sabre_DAV_Auth_Backend_AbstractBasicTest extends PHPUnit_Framework_TestCase {
8 * @expectedException Sabre_DAV_Exception_NotAuthenticated
10 public function testAuthenticateNoHeaders() {
12 $response = new Sabre_HTTP_ResponseMock();
13 $tree = new Sabre_DAV_ObjectTree(new Sabre_DAV_SimpleCollection('bla'));
14 $server = new Sabre_DAV_Server($tree);
15 $server->httpResponse = $response;
17 $backend = new Sabre_DAV_Auth_Backend_AbstractBasicMock();
18 $backend->authenticate($server,'myRealm');
23 * @expectedException Sabre_DAV_Exception_NotAuthenticated
25 public function testAuthenticateUnknownUser() {
27 $response = new Sabre_HTTP_ResponseMock();
28 $tree = new Sabre_DAV_ObjectTree(new Sabre_DAV_SimpleCollection('bla'));
29 $server = new Sabre_DAV_Server($tree);
30 $server->httpResponse = $response;
32 $request = new Sabre_HTTP_Request(array(
33 'PHP_AUTH_USER' => 'username',
34 'PHP_AUTH_PW' => 'wrongpassword',
36 $server->httpRequest = $request;
38 $backend = new Sabre_DAV_Auth_Backend_AbstractBasicMock();
39 $backend->authenticate($server,'myRealm');
43 public function testAuthenticate() {
45 $response = new Sabre_HTTP_ResponseMock();
46 $tree = new Sabre_DAV_ObjectTree(new Sabre_DAV_SimpleCollection('bla'));
47 $server = new Sabre_DAV_Server($tree);
48 $server->httpResponse = $response;
50 $request = new Sabre_HTTP_Request(array(
51 'PHP_AUTH_USER' => 'username',
52 'PHP_AUTH_PW' => 'password',
54 $server->httpRequest = $request;
56 $backend = new Sabre_DAV_Auth_Backend_AbstractBasicMock();
57 $this->assertTrue($backend->authenticate($server,'myRealm'));
59 $result = $backend->getCurrentUser();
61 $this->assertEquals('username', $result);
69 class Sabre_DAV_Auth_Backend_AbstractBasicMock extends Sabre_DAV_Auth_Backend_AbstractBasic {
72 * Validates a username and password
74 * This method should return true or false depending on if login
77 * @param string $username
78 * @param string $password
81 function validateUserPass($username, $password) {
83 return ($username == 'username' && $password == 'password');