Browse Source

fix failing tests

Ceeram 13 years ago
parent
commit
89ecd95e55

+ 3 - 3
lib/Cake/Controller/Component/Auth/BasicAuthenticate.php

@@ -114,13 +114,13 @@ class BasicAuthenticate extends BaseAuthenticate {
  *
  * @param CakeRequest $request A request object.
  * @param CakeResponse $response A response object.
- * @return boolean True
+ * @return void
+ * @throws UnauthorizedException
  */
 	public function unauthenticated(CakeRequest $request, CakeResponse $response) {
 		$Exception = new UnauthorizedException();
-		$Exception->responseHeader($this->loginHeaders());
+		$Exception->responseHeader(array($this->loginHeaders()));
 		throw $Exception;
-		return true;
 	}
 
 /**

+ 9 - 19
lib/Cake/Test/Case/Controller/Component/Auth/BasicAuthenticateTest.php

@@ -137,15 +137,14 @@ class BasicAuthenticateTest extends CakeTestCase {
 		$request = new CakeRequest('posts/index', false);
 		$request->addParams(array('pass' => array(), 'named' => array()));
 
-		$this->response->expects($this->at(0))
-			->method('header')
-			->with('WWW-Authenticate: Basic realm="localhost"');
+		try {
+			$this->auth->unauthenticated($request, $this->response);
+		} catch (UnauthorizedException $e) {}
 
-		$this->response->expects($this->at(1))
-			->method('send');
+		$this->assertNotEmpty($e);
 
-		$result = $this->auth->unauthenticated($request, $this->response);
-		$this->assertTrue($result);
+		$expected = array('WWW-Authenticate: Basic realm="localhost"');
+		$this->assertEquals($expected, $e->responseHeader());
 	}
 
 /**
@@ -173,6 +172,8 @@ class BasicAuthenticateTest extends CakeTestCase {
 /**
  * test scope failure.
  *
+ * @expectedException UnauthorizedException
+ * @expectedExceptionCode 401
  * @return void
  */
 	public function testAuthenticateFailReChallenge() {
@@ -183,18 +184,7 @@ class BasicAuthenticateTest extends CakeTestCase {
 		$_SERVER['PHP_AUTH_USER'] = 'mariano';
 		$_SERVER['PHP_AUTH_PW'] = 'password';
 
-		$this->response->expects($this->at(0))
-			->method('header')
-			->with('WWW-Authenticate: Basic realm="localhost"');
-
-		$this->response->expects($this->at(1))
-			->method('statusCode')
-			->with(401);
-
-		$this->response->expects($this->at(2))
-			->method('send');
-
-		$this->assertTrue($this->auth->unauthenticated($request, $this->response));
+		$this->auth->unauthenticated($request, $this->response);
 	}
 
 }

+ 12 - 35
lib/Cake/Test/Case/Controller/Component/Auth/DigestAuthenticateTest.php

@@ -103,6 +103,8 @@ class DigestAuthenticateTest extends CakeTestCase {
 /**
  * test the authenticate method
  *
+ * @expectedException UnauthorizedException
+ * @expectedExceptionCode 401
  * @return void
  */
 	public function testAuthenticateWrongUsername() {
@@ -121,18 +123,7 @@ response="6629fae49393a05397450978507c4ef1",
 opaque="123abc"
 DIGEST;
 
-		$this->response->expects($this->at(0))
-			->method('header')
-			->with('WWW-Authenticate: Digest realm="localhost",qop="auth",nonce="123",opaque="123abc"');
-
-		$this->response->expects($this->at(1))
-			->method('statusCode')
-			->with(401);
-
-		$this->response->expects($this->at(2))
-			->method('send');
-
-		$this->assertTrue($this->auth->unauthenticated($request, $this->response));
+		$this->auth->unauthenticated($request, $this->response);
 	}
 
 /**
@@ -144,19 +135,14 @@ DIGEST;
 		$request = new CakeRequest('posts/index', false);
 		$request->addParams(array('pass' => array(), 'named' => array()));
 
-		$this->response->expects($this->at(0))
-			->method('header')
-			->with('WWW-Authenticate: Digest realm="localhost",qop="auth",nonce="123",opaque="123abc"');
-
-		$this->response->expects($this->at(1))
-			->method('statusCode')
-			->with(401);
+		try {
+			$this->auth->unauthenticated($request, $this->response);
+		} catch (UnauthorizedException $e) {}
 
-		$this->response->expects($this->at(2))
-			->method('send');
+		$this->assertNotEmpty($e);
 
-		$result = $this->auth->unauthenticated($request, $this->response);
-		$this->assertTrue($result);
+		$expected = array('WWW-Authenticate: Digest realm="localhost",qop="auth",nonce="123",opaque="123abc"');
+		$this->assertEquals($expected, $e->responseHeader());
 	}
 
 /**
@@ -193,6 +179,8 @@ DIGEST;
 /**
  * test scope failure.
  *
+ * @expectedException UnauthorizedException
+ * @expectedExceptionCode 401
  * @return void
  */
 	public function testAuthenticateFailReChallenge() {
@@ -212,18 +200,7 @@ response="6629fae49393a05397450978507c4ef1",
 opaque="123abc"
 DIGEST;
 
-		$this->response->expects($this->at(0))
-			->method('header')
-			->with('WWW-Authenticate: Digest realm="localhost",qop="auth",nonce="123",opaque="123abc"');
-
-		$this->response->expects($this->at(1))
-			->method('statusCode')
-			->with(401);
-
-		$this->response->expects($this->at(2))
-			->method('send');
-
-		$this->assertTrue($this->auth->unauthenticated($request, $this->response));
+		$this->auth->unauthenticated($request, $this->response);
 	}
 
 /**

+ 3 - 12
lib/Cake/Test/Case/Controller/Component/AuthComponentTest.php

@@ -1359,6 +1359,8 @@ class AuthComponentTest extends CakeTestCase {
 /**
  * testStatelessAuthNoRedirect method
  *
+ * @expectedException UnauthorizedException
+ * @expectedExceptionCode 401
  * @return void
  */
 	public function testStatelessAuthNoRedirect() {
@@ -1372,18 +1374,7 @@ class AuthComponentTest extends CakeTestCase {
 		$this->Auth->authenticate = array('Basic');
 		$this->Controller->request['action'] = 'admin_add';
 
-		$this->Auth->response->expects($this->once())
-			->method('statusCode')
-			->with(401);
-
-		$this->Auth->response->expects($this->once())
-			->method('send');
-
-		$result = $this->Auth->startup($this->Controller);
-		$this->assertFalse($result);
-
-		$this->assertNull($this->Controller->testUrl);
-		$this->assertNull(CakeSession::id());
+		$this->Auth->startup($this->Controller);
 	}
 
 /**