From 60274d17294dc4fb2c9de151f478790d0177d6ca Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Fri, 23 May 2014 00:59:26 +0200 Subject: [PATCH] test hooks also on login --- tests/lib/user/session.php | 42 +++++++++++++++++++++++++++++++++++--- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/tests/lib/user/session.php b/tests/lib/user/session.php index 447b3a66197..5c58d82f5ba 100644 --- a/tests/lib/user/session.php +++ b/tests/lib/user/session.php @@ -67,7 +67,17 @@ class Session extends \PHPUnit_Framework_TestCase { }, 'foo')); - $manager = $this->getMock('\OC\User\Manager'); + $managerMethods = get_class_methods('\OC\User\Manager'); + //keep following methods intact in order to ensure hooks are + //working + $doNotMock = array('__construct', 'emit', 'listen'); + foreach($doNotMock as $methodName) { + $i = array_search($methodName, $managerMethods, true); + if($i !== false) { + unset($managerMethods[$i]); + } + } + $manager = $this->getMock('\OC\User\Manager', $managerMethods, array()); $backend = $this->getMock('OC_User_Dummy'); @@ -78,6 +88,8 @@ class Session extends \PHPUnit_Framework_TestCase { $user->expects($this->any()) ->method('getUID') ->will($this->returnValue('foo')); + $user->expects($this->once()) + ->method('updateLastLoginTimestamp'); $manager->expects($this->once()) ->method('checkPassword') @@ -94,7 +106,17 @@ class Session extends \PHPUnit_Framework_TestCase { $session->expects($this->never()) ->method('set'); - $manager = $this->getMock('\OC\User\Manager'); + $managerMethods = get_class_methods('\OC\User\Manager'); + //keep following methods intact in order to ensure hooks are + //working + $doNotMock = array('__construct', 'emit', 'listen'); + foreach($doNotMock as $methodName) { + $i = array_search($methodName, $managerMethods, true); + if($i !== false) { + unset($managerMethods[$i]); + } + } + $manager = $this->getMock('\OC\User\Manager', $managerMethods, array()); $backend = $this->getMock('OC_User_Dummy'); @@ -102,6 +124,8 @@ class Session extends \PHPUnit_Framework_TestCase { $user->expects($this->once()) ->method('isEnabled') ->will($this->returnValue(false)); + $user->expects($this->never()) + ->method('updateLastLoginTimestamp'); $manager->expects($this->once()) ->method('checkPassword') @@ -117,13 +141,25 @@ class Session extends \PHPUnit_Framework_TestCase { $session->expects($this->never()) ->method('set'); - $manager = $this->getMock('\OC\User\Manager'); + $managerMethods = get_class_methods('\OC\User\Manager'); + //keep following methods intact in order to ensure hooks are + //working + $doNotMock = array('__construct', 'emit', 'listen'); + foreach($doNotMock as $methodName) { + $i = array_search($methodName, $managerMethods, true); + if($i !== false) { + unset($managerMethods[$i]); + } + } + $manager = $this->getMock('\OC\User\Manager', $managerMethods, array()); $backend = $this->getMock('OC_User_Dummy'); $user = $this->getMock('\OC\User\User', array(), array('foo', $backend)); $user->expects($this->never()) ->method('isEnabled'); + $user->expects($this->never()) + ->method('updateLastLoginTimestamp'); $manager->expects($this->once()) ->method('checkPassword') -- 2.39.5