From 89ecd95e55c16259f9222ea3e00dd1c6eeaa7293 Mon Sep 17 00:00:00 2001 From: Ceeram Date: Mon, 18 Mar 2013 15:58:12 +0100 Subject: [PATCH] fix failing tests --- .../Component/Auth/BasicAuthenticate.php | 6 +-- .../Component/Auth/BasicAuthenticateTest.php | 28 ++++------- .../Component/Auth/DigestAuthenticateTest.php | 47 +++++-------------- .../Component/AuthComponentTest.php | 15 ++---- 4 files changed, 27 insertions(+), 69 deletions(-) diff --git a/lib/Cake/Controller/Component/Auth/BasicAuthenticate.php b/lib/Cake/Controller/Component/Auth/BasicAuthenticate.php index d36345085..201396edd 100644 --- a/lib/Cake/Controller/Component/Auth/BasicAuthenticate.php +++ b/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; } /** diff --git a/lib/Cake/Test/Case/Controller/Component/Auth/BasicAuthenticateTest.php b/lib/Cake/Test/Case/Controller/Component/Auth/BasicAuthenticateTest.php index c4410e278..f5cf217fa 100644 --- a/lib/Cake/Test/Case/Controller/Component/Auth/BasicAuthenticateTest.php +++ b/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); } } diff --git a/lib/Cake/Test/Case/Controller/Component/Auth/DigestAuthenticateTest.php b/lib/Cake/Test/Case/Controller/Component/Auth/DigestAuthenticateTest.php index f07cd719f..b1460a75a 100644 --- a/lib/Cake/Test/Case/Controller/Component/Auth/DigestAuthenticateTest.php +++ b/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"'); + try { + $this->auth->unauthenticated($request, $this->response); + } catch (UnauthorizedException $e) {} - $this->response->expects($this->at(1)) - ->method('statusCode') - ->with(401); + $this->assertNotEmpty($e); - $this->response->expects($this->at(2)) - ->method('send'); - - $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); } /** diff --git a/lib/Cake/Test/Case/Controller/Component/AuthComponentTest.php b/lib/Cake/Test/Case/Controller/Component/AuthComponentTest.php index 7e65d8703..ce82a6e17 100644 --- a/lib/Cake/Test/Case/Controller/Component/AuthComponentTest.php +++ b/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); } /**