|
|
|
@ -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); |
|
|
|
|