]> source.dussan.org Git - nextcloud-server.git/commitdiff
Fix unit tests 31658/head
authorJoas Schilling <coding@schilljs.com>
Wed, 23 Mar 2022 10:00:34 +0000 (11:00 +0100)
committerJoas Schilling <coding@schilljs.com>
Wed, 23 Mar 2022 10:00:34 +0000 (11:00 +0100)
Signed-off-by: Joas Schilling <coding@schilljs.com>
tests/lib/Authentication/Token/PublicKeyTokenProviderTest.php
tests/lib/Authentication/TwoFactorAuth/ManagerTest.php

index 062d1840a5f6796b8e54d96295cd462c8902576b..f6067b8d15a6019c3c94e083c825e250a0783723 100644 (file)
@@ -80,10 +80,7 @@ class PublicKeyTokenProviderTest extends TestCase {
                $uid = 'user';
                $user = 'User';
                $password = 'passme';
-               $name = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'
-                       . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'
-                       . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'
-                       . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12';
+               $name = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12';
                $type = IToken::PERMANENT_TOKEN;
 
                $actual = $this->tokenProvider->generateToken($token, $uid, $user, $password, $name, $type, IToken::DO_NOT_REMEMBER);
@@ -96,6 +93,22 @@ class PublicKeyTokenProviderTest extends TestCase {
                $this->assertSame($password, $this->tokenProvider->getPassword($actual, $token));
        }
 
+       public function testGenerateTokenInvalidName() {
+               $this->expectException(\OC\Authentication\Exceptions\InvalidTokenException::class);
+
+               $token = 'token';
+               $uid = 'user';
+               $user = 'User';
+               $password = 'passme';
+               $name = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'
+                       . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'
+                       . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'
+                       . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12';
+               $type = IToken::PERMANENT_TOKEN;
+
+               $actual = $this->tokenProvider->generateToken($token, $uid, $user, $password, $name, $type, IToken::DO_NOT_REMEMBER);
+       }
+
        public function testUpdateToken() {
                $tk = new PublicKeyToken();
                $this->mapper->expects($this->once())
@@ -137,10 +150,7 @@ class PublicKeyTokenProviderTest extends TestCase {
                $uid = 'user';
                $user = 'User';
                $password = 'passme';
-               $name = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'
-                       . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'
-                       . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'
-                       . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12';
+               $name = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12';
                $type = IToken::PERMANENT_TOKEN;
 
                $actual = $this->tokenProvider->generateToken($token, $uid, $user, $password, $name, $type, IToken::DO_NOT_REMEMBER);
@@ -167,10 +177,7 @@ class PublicKeyTokenProviderTest extends TestCase {
                $uid = 'user';
                $user = 'User';
                $password = 'passme';
-               $name = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'
-                       . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'
-                       . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'
-                       . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12';
+               $name = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12';
                $type = IToken::PERMANENT_TOKEN;
 
                $actual = $this->tokenProvider->generateToken($token, $uid, $user, $password, $name, $type, IToken::DO_NOT_REMEMBER);
@@ -183,10 +190,7 @@ class PublicKeyTokenProviderTest extends TestCase {
                $uid = 'user';
                $user = 'User';
                $password = 'passme';
-               $name = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'
-                       . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'
-                       . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'
-                       . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12';
+               $name = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12';
                $type = IToken::PERMANENT_TOKEN;
 
                $actual = $this->tokenProvider->generateToken($token, $uid, $user, $password, $name, $type, IToken::DO_NOT_REMEMBER);
@@ -246,12 +250,12 @@ class PublicKeyTokenProviderTest extends TestCase {
                                ['session_lifetime', $defaultSessionLifetime, 150],
                                ['remember_login_cookie_lifetime', $defaultRememberMeLifetime, 300],
                        ]);
-               $this->mapper->expects($this->at(0))
-                       ->method('invalidateOld')
-                       ->with($this->time - 150);
-               $this->mapper->expects($this->at(1))
+               $this->mapper->expects($this->exactly(2))
                        ->method('invalidateOld')
-                       ->with($this->time - 300);
+                       ->withConsecutive(
+                               [$this->time - 150],
+                               [$this->time - 300]
+                       );
 
                $this->tokenProvider->invalidateOldTokens();
        }
@@ -261,21 +265,18 @@ class PublicKeyTokenProviderTest extends TestCase {
                $uid = 'user';
                $user = 'User';
                $password = null;
-               $name = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'
-                       . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'
-                       . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'
-                       . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12';
+               $name = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12';
                $type = IToken::PERMANENT_TOKEN;
 
                $oldToken = $this->tokenProvider->generateToken($token, $uid, $user, $password, $name, $type, IToken::DO_NOT_REMEMBER);
 
                $this->mapper
-                       ->expects($this->at(0))
+                       ->expects($this->once())
                        ->method('getToken')
                        ->with(hash('sha512', 'oldId' . '1f4h9s'))
                        ->willReturn($oldToken);
                $this->mapper
-                       ->expects($this->at(1))
+                       ->expects($this->once())
                        ->method('insert')
                        ->with($this->callback(function (PublicKeyToken $token) use ($user, $uid, $name) {
                                return $token->getUID() === $uid &&
@@ -286,7 +287,7 @@ class PublicKeyTokenProviderTest extends TestCase {
                                        $token->getPassword() === null;
                        }));
                $this->mapper
-                       ->expects($this->at(2))
+                       ->expects($this->once())
                        ->method('delete')
                        ->with($this->callback(function ($token) use ($oldToken) {
                                return $token === $oldToken;
@@ -300,21 +301,18 @@ class PublicKeyTokenProviderTest extends TestCase {
                $uid = 'user';
                $user = 'User';
                $password = 'password';
-               $name = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'
-                       . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'
-                       . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'
-                       . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12';
+               $name = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12';
                $type = IToken::PERMANENT_TOKEN;
 
                $oldToken = $this->tokenProvider->generateToken($token, $uid, $user, $password, $name, $type, IToken::DO_NOT_REMEMBER);
 
                $this->mapper
-                       ->expects($this->at(0))
+                       ->expects($this->once())
                        ->method('getToken')
                        ->with(hash('sha512', 'oldId' . '1f4h9s'))
                        ->willReturn($oldToken);
                $this->mapper
-                       ->expects($this->at(1))
+                       ->expects($this->once())
                        ->method('insert')
                        ->with($this->callback(function (PublicKeyToken $token) use ($user, $uid, $name) {
                                return $token->getUID() === $uid &&
@@ -326,7 +324,7 @@ class PublicKeyTokenProviderTest extends TestCase {
                                        $this->tokenProvider->getPassword($token, 'newId') === 'password';
                        }));
                $this->mapper
-                       ->expects($this->at(2))
+                       ->expects($this->once())
                        ->method('delete')
                        ->with($this->callback(function ($token) use ($oldToken) {
                                return $token === $oldToken;
@@ -370,10 +368,7 @@ class PublicKeyTokenProviderTest extends TestCase {
                $uid = 'user';
                $user = 'User';
                $password = 'passme';
-               $name = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'
-                       . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'
-                       . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'
-                       . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12';
+               $name = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12';
                $type = IToken::PERMANENT_TOKEN;
 
                $actual = $this->tokenProvider->generateToken($token, $uid, $user, $password, $name, $type, IToken::DO_NOT_REMEMBER);
@@ -438,10 +433,7 @@ class PublicKeyTokenProviderTest extends TestCase {
                $uid = 'user';
                $user = 'User';
                $password = 'password';
-               $name = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'
-                       . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'
-                       . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'
-                       . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12';
+               $name = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12';
                $type = IToken::PERMANENT_TOKEN;
 
                $actual = $this->tokenProvider->generateToken($token, $uid, $user, $password, $name, $type, IToken::DO_NOT_REMEMBER);
@@ -456,10 +448,7 @@ class PublicKeyTokenProviderTest extends TestCase {
                $uid = 'user';
                $user = 'User';
                $password = null;
-               $name = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'
-                       . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'
-                       . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12'
-                       . 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12';
+               $name = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12';
                $type = IToken::PERMANENT_TOKEN;
 
                $actual = $this->tokenProvider->generateToken($token, $uid, $user, $password, $name, $type, IToken::DO_NOT_REMEMBER);
index fc921b8016b156f359b3ded734389a4dc306c547..ae6fadc790c579ab415c109a3aa8b480d2c0b027 100644 (file)
@@ -376,13 +376,13 @@ class ManagerTest extends TestCase {
                        ->method('get')
                        ->with('two_factor_remember_login')
                        ->willReturn(false);
-               $this->session->expects($this->at(1))
+               $this->session->expects($this->exactly(2))
                        ->method('remove')
-                       ->with('two_factor_auth_uid');
-               $this->session->expects($this->at(2))
-                       ->method('remove')
-                       ->with('two_factor_remember_login');
-               $this->session->expects($this->at(3))
+                       ->withConsecutive(
+                               ['two_factor_auth_uid'],
+                               ['two_factor_remember_login']
+                       );
+               $this->session->expects($this->once())
                        ->method('set')
                        ->with(Manager::SESSION_UID_DONE, 'jos');
                $this->session->method('getId')
@@ -494,17 +494,13 @@ class ManagerTest extends TestCase {
 
        public function testNeedsSecondFactor() {
                $user = $this->createMock(IUser::class);
-               $this->session->expects($this->at(0))
-                       ->method('exists')
-                       ->with('app_password')
-                       ->willReturn(false);
-               $this->session->expects($this->at(1))
+               $this->session->expects($this->exactly(3))
                        ->method('exists')
-                       ->with('two_factor_auth_uid')
-                       ->willReturn(false);
-               $this->session->expects($this->at(2))
-                       ->method('exists')
-                       ->with(Manager::SESSION_UID_DONE)
+                       ->withConsecutive(
+                               ['app_password'],
+                               ['two_factor_auth_uid'],
+                               [Manager::SESSION_UID_DONE],
+                       )
                        ->willReturn(false);
 
                $this->session->method('getId')
@@ -575,12 +571,12 @@ class ManagerTest extends TestCase {
                $this->user->method('getUID')
                        ->willReturn('ferdinand');
 
-               $this->session->expects($this->at(0))
-                       ->method('set')
-                       ->with('two_factor_auth_uid', 'ferdinand');
-               $this->session->expects($this->at(1))
+               $this->session->expects($this->exactly(2))
                        ->method('set')
-                       ->with('two_factor_remember_login', true);
+                       ->withConsecutive(
+                               ['two_factor_auth_uid', 'ferdinand'],
+                               ['two_factor_remember_login', true]
+                       );
 
                $this->session->method('getId')
                        ->willReturn('mysessionid');
@@ -605,12 +601,12 @@ class ManagerTest extends TestCase {
                $this->user->method('getUID')
                        ->willReturn('ferdinand');
 
-               $this->session->expects($this->at(0))
-                       ->method('set')
-                       ->with('two_factor_auth_uid', 'ferdinand');
-               $this->session->expects($this->at(1))
+               $this->session->expects($this->exactly(2))
                        ->method('set')
-                       ->with('two_factor_remember_login', false);
+                       ->withConsecutive(
+                               ['two_factor_auth_uid', 'ferdinand'],
+                               ['two_factor_remember_login', false]
+                       );
 
                $this->session->method('getId')
                        ->willReturn('mysessionid');