Merge pull request #38701 from nextcloud/fix/noid/oauth2-tests

Fix oauth2 tests
This commit is contained in:
Daniel 2023-06-08 14:10:43 +02:00 committed by GitHub
commit faf0e634db
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 53 additions and 25 deletions

View file

@ -203,16 +203,21 @@ class OauthApiControllerTest extends TestCase {
$client = new Client();
$client->setClientIdentifier('clientId');
$client->setSecret('clientSecret');
$client->setSecret('encryptedClientSecret');
$this->clientMapper->method('getByUid')
->with(42)
->willReturn($client);
$this->crypto->method('decrypt')
->with(
'encryptedToken',
'validrefresh'
)->willReturn('decryptedToken');
$this->crypto
->method('decrypt')
->with($this->callback(function (string $text) {
return $text === 'encryptedClientSecret' || $text === 'encryptedToken';
}))
->willReturnCallback(function (string $text) {
return $text === 'encryptedClientSecret'
? 'clientSecret'
: ($text === 'encryptedToken' ? 'decryptedToken' : '');
});
$this->tokenProvider->method('getTokenById')
->with(1337)
@ -237,16 +242,21 @@ class OauthApiControllerTest extends TestCase {
$client = new Client();
$client->setClientIdentifier('clientId');
$client->setSecret('clientSecret');
$client->setSecret('encryptedClientSecret');
$this->clientMapper->method('getByUid')
->with(42)
->willReturn($client);
$this->crypto->method('decrypt')
->with(
'encryptedToken',
'validrefresh'
)->willReturn('decryptedToken');
$this->crypto
->method('decrypt')
->with($this->callback(function (string $text) {
return $text === 'encryptedClientSecret' || $text === 'encryptedToken';
}))
->willReturnCallback(function (string $text) {
return $text === 'encryptedClientSecret'
? 'clientSecret'
: ($text === 'encryptedToken' ? 'decryptedToken' : '');
});
$appToken = new PublicKeyToken();
$appToken->setUid('userId');
@ -329,16 +339,21 @@ class OauthApiControllerTest extends TestCase {
$client = new Client();
$client->setClientIdentifier('clientId');
$client->setSecret('clientSecret');
$client->setSecret('encryptedClientSecret');
$this->clientMapper->method('getByUid')
->with(42)
->willReturn($client);
$this->crypto->method('decrypt')
->with(
'encryptedToken',
'validrefresh'
)->willReturn('decryptedToken');
$this->crypto
->method('decrypt')
->with($this->callback(function (string $text) {
return $text === 'encryptedClientSecret' || $text === 'encryptedToken';
}))
->willReturnCallback(function (string $text) {
return $text === 'encryptedClientSecret'
? 'clientSecret'
: ($text === 'encryptedToken' ? 'decryptedToken' : '');
});
$appToken = new PublicKeyToken();
$appToken->setUid('userId');
@ -424,16 +439,21 @@ class OauthApiControllerTest extends TestCase {
$client = new Client();
$client->setClientIdentifier('clientId');
$client->setSecret('clientSecret');
$client->setSecret('encryptedClientSecret');
$this->clientMapper->method('getByUid')
->with(42)
->willReturn($client);
$this->crypto->method('decrypt')
->with(
'encryptedToken',
'validrefresh'
)->willReturn('decryptedToken');
$this->crypto
->method('decrypt')
->with($this->callback(function (string $text) {
return $text === 'encryptedClientSecret' || $text === 'encryptedToken';
}))
->willReturnCallback(function (string $text) {
return $text === 'encryptedClientSecret'
? 'clientSecret'
: ($text === 'encryptedToken' ? 'decryptedToken' : '');
});
$appToken = new PublicKeyToken();
$appToken->setUid('userId');

View file

@ -28,7 +28,9 @@ use OCA\OAuth2\Settings\Admin;
use OCP\AppFramework\Http\TemplateResponse;
use OCP\AppFramework\Services\IInitialState;
use OCP\IURLGenerator;
use OCP\Security\ICrypto;
use PHPUnit\Framework\MockObject\MockObject;
use Psr\Log\LoggerInterface;
use Test\TestCase;
class AdminTest extends TestCase {
@ -48,7 +50,13 @@ class AdminTest extends TestCase {
$this->initialState = $this->createMock(IInitialState::class);
$this->clientMapper = $this->createMock(ClientMapper::class);
$this->admin = new Admin($this->initialState, $this->clientMapper, $this->createMock(IURLGenerator::class));
$this->admin = new Admin(
$this->initialState,
$this->clientMapper,
$this->createMock(IURLGenerator::class),
$this->createMock(ICrypto::class),
$this->createMock(LoggerInterface::class)
);
}
public function testGetForm() {