]> source.dussan.org Git - nextcloud-server.git/commitdiff
Update tests 16579/head
authorRoeland Jago Douma <roeland@famdouma.nl>
Sun, 28 Jul 2019 18:46:01 +0000 (20:46 +0200)
committerMorris Jobke <hey@morrisjobke.de>
Mon, 29 Jul 2019 14:31:40 +0000 (16:31 +0200)
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
tests/lib/User/SessionTest.php

index f6d86de7291c6f4f9b8a1ace51795b49ab631a7f..63497ac35dea7dd20d3825a29a75726aabc25fde 100644 (file)
@@ -15,11 +15,13 @@ use OC\Authentication\Token\IProvider;
 use OC\Authentication\Token\IToken;
 use OC\Security\Bruteforce\Throttler;
 use OC\Session\Memory;
+use OC\User\Events\PostLoginEvent;
 use OC\User\Manager;
 use OC\User\Session;
 use OC\User\User;
 use OCA\DAV\Connector\Sabre\Auth;
 use OCP\AppFramework\Utility\ITimeFactory;
+use OCP\EventDispatcher\IEventDispatcher;
 use OCP\IConfig;
 use OCP\ILogger;
 use OCP\IRequest;
@@ -28,6 +30,7 @@ use OCP\IUser;
 use OCP\Lockdown\ILockdownManager;
 use OCP\Security\ICrypto;
 use OCP\Security\ISecureRandom;
+use PHPUnit\Framework\MockObject\MockObject;
 use Symfony\Component\EventDispatcher\EventDispatcherInterface;
 
 /**
@@ -35,26 +38,28 @@ use Symfony\Component\EventDispatcher\EventDispatcherInterface;
  * @package Test\User
  */
 class SessionTest extends \Test\TestCase {
-       /** @var ITimeFactory|\PHPUnit_Framework_MockObject_MockObject */
+       /** @var ITimeFactory|MockObject */
        private $timeFactory;
-       /** @var DefaultTokenProvider|\PHPUnit_Framework_MockObject_MockObject */
+       /** @var DefaultTokenProvider|MockObject */
        protected $tokenProvider;
-       /** @var IConfig|\PHPUnit_Framework_MockObject_MockObject */
+       /** @var IConfig|MockObject */
        private $config;
-       /** @var Throttler|\PHPUnit_Framework_MockObject_MockObject */
+       /** @var Throttler|MockObject */
        private $throttler;
-       /** @var ISecureRandom|\PHPUnit_Framework_MockObject_MockObject */
+       /** @var ISecureRandom|MockObject */
        private $random;
-       /** @var Manager|\PHPUnit_Framework_MockObject_MockObject */
+       /** @var Manager|MockObject */
        private $manager;
-       /** @var ISession|\PHPUnit_Framework_MockObject_MockObject */
+       /** @var ISession|MockObject */
        private $session;
-       /** @var Session|\PHPUnit_Framework_MockObject_MockObject */
+       /** @var Session|MockObject */
        private $userSession;
-       /** @var ILockdownManager|\PHPUnit_Framework_MockObject_MockObject */
+       /** @var ILockdownManager|MockObject */
        private $lockdownManager;
-       /** @var ILogger|\PHPUnit_Framework_MockObject_MockObject */
+       /** @var ILogger|MockObject */
        private $logger;
+       /** @var IEventDispatcher|MockObject */
+       private $dispatcher;
 
        protected function setUp() {
                parent::setUp();
@@ -71,6 +76,7 @@ class SessionTest extends \Test\TestCase {
                $this->session = $this->createMock(ISession::class);
                $this->lockdownManager = $this->createMock(ILockdownManager::class);
                $this->logger = $this->createMock(ILogger::class);
+               $this->dispatcher = $this->createMock(IEventDispatcher::class);
                $this->userSession = $this->getMockBuilder(Session::class)
                        ->setConstructorArgs([
                                $this->manager,
@@ -81,6 +87,7 @@ class SessionTest extends \Test\TestCase {
                                $this->random,
                                $this->lockdownManager,
                                $this->logger,
+                               $this->dispatcher
                        ])
                        ->setMethods([
                                'setMagicInCookie',
@@ -141,7 +148,7 @@ class SessionTest extends \Test\TestCase {
                        ->with($expectedUser->getUID())
                        ->will($this->returnValue($expectedUser));
 
-               $userSession = new \OC\User\Session($manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger);
+               $userSession = new \OC\User\Session($manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger, $this->dispatcher);
                $user = $userSession->getUser();
                $this->assertSame($expectedUser, $user);
                $this->assertSame(10000, $token->getLastCheck());
@@ -163,7 +170,7 @@ class SessionTest extends \Test\TestCase {
                $manager = $this->createMock(Manager::class);
 
                $userSession = $this->getMockBuilder(Session::class)
-                       ->setConstructorArgs([$manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger])
+                       ->setConstructorArgs([$manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger, $this->dispatcher])
                        ->setMethods([
                                'getUser'
                        ])
@@ -190,7 +197,7 @@ class SessionTest extends \Test\TestCase {
                        ->method('getUID')
                        ->will($this->returnValue('foo'));
 
-               $userSession = new \OC\User\Session($manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger);
+               $userSession = new \OC\User\Session($manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger, $this->dispatcher);
                $userSession->setUser($user);
        }
 
@@ -242,13 +249,25 @@ class SessionTest extends \Test\TestCase {
                        ->will($this->returnValue($user));
 
                $userSession = $this->getMockBuilder(Session::class)
-                       ->setConstructorArgs([$manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger])
+                       ->setConstructorArgs([$manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger, $this->dispatcher])
                        ->setMethods([
                                'prepareUserLogin'
                        ])
                        ->getMock();
                $userSession->expects($this->once())
                        ->method('prepareUserLogin');
+
+               $this->dispatcher->expects($this->once())
+                       ->method('dispatch')
+                       ->with(
+                               PostLoginEvent::class,
+                               $this->callback(function(PostLoginEvent $e) {
+                                       return $e->getUser()->getUID() === 'foo' &&
+                                               $e->getPassword() === 'bar' &&
+                                               $e->getIsTokenLogin() === false;
+                               })
+                       );
+
                $userSession->login('foo', 'bar');
                $this->assertEquals($user, $userSession->getUser());
        }
@@ -289,7 +308,10 @@ class SessionTest extends \Test\TestCase {
                        ->with('foo', 'bar')
                        ->will($this->returnValue($user));
 
-               $userSession = new \OC\User\Session($manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger);
+               $this->dispatcher->expects($this->never())
+                       ->method('dispatch');
+
+               $userSession = new \OC\User\Session($manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger, $this->dispatcher);
                $userSession->login('foo', 'bar');
        }
 
@@ -303,7 +325,7 @@ class SessionTest extends \Test\TestCase {
                        ->setConstructorArgs([$this->config, $this->createMock(EventDispatcherInterface::class)])
                        ->getMock();
                $backend = $this->createMock(\Test\Util\User\Dummy::class);
-               $userSession = new \OC\User\Session($manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger);
+               $userSession = new \OC\User\Session($manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger, $this->dispatcher);
 
                $user = $this->createMock(IUser::class);
 
@@ -326,13 +348,16 @@ class SessionTest extends \Test\TestCase {
                        ->with('foo', 'bar')
                        ->will($this->returnValue(false));
 
+               $this->dispatcher->expects($this->never())
+                       ->method('dispatch');
+
                $userSession->login('foo', 'bar');
        }
 
        public function testLoginNonExisting() {
                $session = $this->getMockBuilder(Memory::class)->setConstructorArgs([''])->getMock();
                $manager = $this->createMock(Manager::class);
-               $userSession = new \OC\User\Session($manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger);
+               $userSession = new \OC\User\Session($manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger, $this->dispatcher);
 
                $session->expects($this->never())
                        ->method('set');
@@ -358,7 +383,7 @@ class SessionTest extends \Test\TestCase {
        public function testLoginWithDifferentTokenLoginName() {
                $session = $this->getMockBuilder(Memory::class)->setConstructorArgs([''])->getMock();
                $manager = $this->createMock(Manager::class);
-               $userSession = new \OC\User\Session($manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger);
+               $userSession = new \OC\User\Session($manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger, $this->dispatcher);
                $username = 'user123';
                $token = new \OC\Authentication\Token\DefaultToken();
                $token->setLoginName($username);
@@ -390,7 +415,7 @@ class SessionTest extends \Test\TestCase {
 
                /** @var \OC\User\Session $userSession */
                $userSession = $this->getMockBuilder(Session::class)
-                       ->setConstructorArgs([$manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger])
+                       ->setConstructorArgs([$manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger, $this->dispatcher])
                        ->setMethods(['login', 'supportsCookies', 'createSessionToken', 'getUser'])
                        ->getMock();
 
@@ -426,7 +451,7 @@ class SessionTest extends \Test\TestCase {
 
                /** @var Session $userSession */
                $userSession = $this->getMockBuilder(Session::class)
-                       ->setConstructorArgs([$manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger])
+                       ->setConstructorArgs([$manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger, $this->dispatcher])
                        ->setMethods(['login', 'supportsCookies', 'createSessionToken', 'getUser'])
                        ->getMock();
 
@@ -452,7 +477,7 @@ class SessionTest extends \Test\TestCase {
 
                /** @var \OC\User\Session $userSession */
                $userSession = $this->getMockBuilder(Session::class)
-                       ->setConstructorArgs([$manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger])
+                       ->setConstructorArgs([$manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger, $this->dispatcher])
                        ->setMethods(['isTokenPassword', 'login', 'supportsCookies', 'createSessionToken', 'getUser'])
                        ->getMock();
 
@@ -494,7 +519,7 @@ class SessionTest extends \Test\TestCase {
 
                /** @var \OC\User\Session $userSession */
                $userSession = $this->getMockBuilder(Session::class)
-                       ->setConstructorArgs([$manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger])
+                       ->setConstructorArgs([$manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger, $this->dispatcher])
                        ->setMethods(['login', 'isTwoFactorEnforced'])
                        ->getMock();
 
@@ -541,7 +566,7 @@ class SessionTest extends \Test\TestCase {
                $userSession = $this->getMockBuilder(Session::class)
                        //override, otherwise tests will fail because of setcookie()
                        ->setMethods(['setMagicInCookie', 'setLoginName'])
-                       ->setConstructorArgs([$manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger])
+                       ->setConstructorArgs([$manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger, $this->dispatcher])
                        ->getMock();
 
                $user = $this->createMock(IUser::class);
@@ -627,7 +652,7 @@ class SessionTest extends \Test\TestCase {
                $userSession = $this->getMockBuilder(Session::class)
                        //override, otherwise tests will fail because of setcookie()
                        ->setMethods(['setMagicInCookie'])
-                       ->setConstructorArgs([$manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger])
+                       ->setConstructorArgs([$manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger, $this->dispatcher])
                        ->getMock();
 
                $user = $this->createMock(IUser::class);
@@ -687,7 +712,7 @@ class SessionTest extends \Test\TestCase {
                $userSession = $this->getMockBuilder(Session::class)
                        //override, otherwise tests will fail because of setcookie()
                        ->setMethods(['setMagicInCookie'])
-                       ->setConstructorArgs([$manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger])
+                       ->setConstructorArgs([$manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger, $this->dispatcher])
                        ->getMock();
 
                $user = $this->createMock(IUser::class);
@@ -735,7 +760,7 @@ class SessionTest extends \Test\TestCase {
                $userSession = $this->getMockBuilder(Session::class)
                        //override, otherwise tests will fail because of setcookie()
                        ->setMethods(['setMagicInCookie'])
-                       ->setConstructorArgs([$manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger])
+                       ->setConstructorArgs([$manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger, $this->dispatcher])
                        ->getMock();
                $token = 'goodToken';
                $oldSessionId = 'sess321';
@@ -783,7 +808,7 @@ class SessionTest extends \Test\TestCase {
                $session = new Memory('');
                $session->set('user_id', 'foo');
                $userSession = $this->getMockBuilder(Session::class)
-                       ->setConstructorArgs([$manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger])
+                       ->setConstructorArgs([$manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger, $this->dispatcher])
                        ->setMethods([
                                'validateSession'
                        ])
@@ -803,7 +828,7 @@ class SessionTest extends \Test\TestCase {
                $manager = $this->createMock(Manager::class);
                $session = $this->createMock(ISession::class);
                $user = $this->createMock(IUser::class);
-               $userSession = new \OC\User\Session($manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger);
+               $userSession = new \OC\User\Session($manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger, $this->dispatcher);
 
                $random = $this->createMock(ISecureRandom::class);
                $config = $this->createMock(IConfig::class);
@@ -844,7 +869,7 @@ class SessionTest extends \Test\TestCase {
                $manager = $this->createMock(Manager::class);
                $session = $this->createMock(ISession::class);
                $user = $this->createMock(IUser::class);
-               $userSession = new \OC\User\Session($manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger);
+               $userSession = new \OC\User\Session($manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger, $this->dispatcher);
 
                $random = $this->createMock(ISecureRandom::class);
                $config = $this->createMock(IConfig::class);
@@ -888,7 +913,7 @@ class SessionTest extends \Test\TestCase {
                $session = $this->createMock(ISession::class);
                $token = $this->createMock(IToken::class);
                $user = $this->createMock(IUser::class);
-               $userSession = new \OC\User\Session($manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger);
+               $userSession = new \OC\User\Session($manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger, $this->dispatcher);
 
                $random = $this->createMock(ISecureRandom::class);
                $config = $this->createMock(IConfig::class);
@@ -935,7 +960,7 @@ class SessionTest extends \Test\TestCase {
                        ->disableOriginalConstructor()
                        ->getMock();
                $session = $this->createMock(ISession::class);
-               $userSession = new \OC\User\Session($manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger);
+               $userSession = new \OC\User\Session($manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger, $this->dispatcher);
                $request = $this->createMock(IRequest::class);
 
                $uid = 'user123';
@@ -965,7 +990,7 @@ class SessionTest extends \Test\TestCase {
                $user = $this->createMock(IUser::class);
                $userSession = $this->getMockBuilder(Session::class)
                        ->setMethods(['logout'])
-                       ->setConstructorArgs([$manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger])
+                       ->setConstructorArgs([$manager, $session, $this->timeFactory, $this->tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger, $this->dispatcher])
                        ->getMock();
                $request = $this->createMock(IRequest::class);
 
@@ -994,7 +1019,7 @@ class SessionTest extends \Test\TestCase {
                $timeFactory = $this->createMock(ITimeFactory::class);
                $tokenProvider = $this->createMock(IProvider::class);
                $userSession = $this->getMockBuilder(Session::class)
-                       ->setConstructorArgs([$userManager, $session, $timeFactory, $tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger])
+                       ->setConstructorArgs([$userManager, $session, $timeFactory, $tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger, $this->dispatcher])
                        ->setMethods(['logout'])
                        ->getMock();
 
@@ -1039,7 +1064,7 @@ class SessionTest extends \Test\TestCase {
                $timeFactory = $this->createMock(ITimeFactory::class);
                $tokenProvider = $this->createMock(IProvider::class);
                $userSession = $this->getMockBuilder(Session::class)
-                       ->setConstructorArgs([$userManager, $session, $timeFactory, $tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger])
+                       ->setConstructorArgs([$userManager, $session, $timeFactory, $tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger, $this->dispatcher])
                        ->setMethods(['logout'])
                        ->getMock();
 
@@ -1074,7 +1099,7 @@ class SessionTest extends \Test\TestCase {
                $timeFactory = $this->createMock(ITimeFactory::class);
                $tokenProvider = $this->createMock(IProvider::class);
                $userSession = $this->getMockBuilder(Session::class)
-                       ->setConstructorArgs([$userManager, $session, $timeFactory, $tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger])
+                       ->setConstructorArgs([$userManager, $session, $timeFactory, $tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger, $this->dispatcher])
                        ->setMethods(['logout'])
                        ->getMock();
 
@@ -1122,7 +1147,7 @@ class SessionTest extends \Test\TestCase {
                $session = $this->createMock(ISession::class);
                $timeFactory = $this->createMock(ITimeFactory::class);
                $tokenProvider = $this->createMock(IProvider::class);
-               $userSession = new \OC\User\Session($userManager, $session, $timeFactory, $tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger);
+               $userSession = new \OC\User\Session($userManager, $session, $timeFactory, $tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger, $this->dispatcher);
 
                $password = '123456';
                $sessionId = 'session1234';
@@ -1147,7 +1172,7 @@ class SessionTest extends \Test\TestCase {
                $session = $this->createMock(ISession::class);
                $timeFactory = $this->createMock(ITimeFactory::class);
                $tokenProvider = $this->createMock(IProvider::class);
-               $userSession = new \OC\User\Session($userManager, $session, $timeFactory, $tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger);
+               $userSession = new \OC\User\Session($userManager, $session, $timeFactory, $tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger, $this->dispatcher);
 
                $session->expects($this->once())
                        ->method('getId')
@@ -1161,7 +1186,7 @@ class SessionTest extends \Test\TestCase {
                $session = $this->createMock(ISession::class);
                $timeFactory = $this->createMock(ITimeFactory::class);
                $tokenProvider = $this->createMock(IProvider::class);
-               $userSession = new \OC\User\Session($userManager, $session, $timeFactory, $tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger);
+               $userSession = new \OC\User\Session($userManager, $session, $timeFactory, $tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger, $this->dispatcher);
 
                $password = '123456';
                $sessionId = 'session1234';
@@ -1201,7 +1226,7 @@ class SessionTest extends \Test\TestCase {
                $tokenProvider = new DefaultTokenProvider($mapper, $crypto, $this->config, $logger, $this->timeFactory);
 
                /** @var \OC\User\Session $userSession */
-               $userSession = new Session($manager, $session, $this->timeFactory, $tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger);
+               $userSession = new Session($manager, $session, $this->timeFactory, $tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger, $this->dispatcher);
 
                $mapper->expects($this->any())
                        ->method('getToken')
@@ -1255,7 +1280,7 @@ class SessionTest extends \Test\TestCase {
                $tokenProvider = new DefaultTokenProvider($mapper, $crypto, $this->config, $logger, $this->timeFactory);
 
                /** @var \OC\User\Session $userSession */
-               $userSession = new Session($manager, $session, $this->timeFactory, $tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger);
+               $userSession = new Session($manager, $session, $this->timeFactory, $tokenProvider, $this->config, $this->random, $this->lockdownManager, $this->logger, $this->dispatcher);
 
                $mapper->expects($this->any())
                        ->method('getToken')
@@ -1348,7 +1373,8 @@ class SessionTest extends \Test\TestCase {
                                $this->config,
                                $this->random,
                                $this->lockdownManager,
-                               $this->logger
+                               $this->logger,
+                               $this->dispatcher
                        ])
                        ->setMethods([
                                'logClientIn',
@@ -1356,7 +1382,7 @@ class SessionTest extends \Test\TestCase {
                        ])
                        ->getMock();
 
-               /** @var Session|\PHPUnit_Framework_MockObject_MockObject */
+               /** @var Session|MockObject */
                $userSession->expects($this->once())
                        ->method('logClientIn')
                        ->with(
@@ -1399,14 +1425,15 @@ class SessionTest extends \Test\TestCase {
                                $this->config,
                                $this->random,
                                $this->lockdownManager,
-                               $this->logger
+                               $this->logger,
+                               $this->dispatcher
                        ])
                        ->setMethods([
                                'logClientIn',
                        ])
                        ->getMock();
 
-               /** @var Session|\PHPUnit_Framework_MockObject_MockObject */
+               /** @var Session|MockObject */
                $userSession->expects($this->never())
                        ->method('logClientIn');