diff options
Diffstat (limited to 'tests/lib')
-rw-r--r-- | tests/lib/Avatar/AvatarManagerTest.php | 2 | ||||
-rw-r--r-- | tests/lib/Avatar/GuestAvatarTest.php | 5 | ||||
-rw-r--r-- | tests/lib/Avatar/UserAvatarTest.php | 18 | ||||
-rw-r--r-- | tests/lib/DB/QueryBuilder/FunctionBuilderTest.php | 1 | ||||
-rw-r--r-- | tests/lib/Security/IdentityProof/ManagerTest.php | 61 | ||||
-rw-r--r-- | tests/lib/TaskProcessing/TaskProcessingTest.php | 15 |
6 files changed, 67 insertions, 35 deletions
diff --git a/tests/lib/Avatar/AvatarManagerTest.php b/tests/lib/Avatar/AvatarManagerTest.php index 23d3b9d1c2a..495d7099d59 100644 --- a/tests/lib/Avatar/AvatarManagerTest.php +++ b/tests/lib/Avatar/AvatarManagerTest.php @@ -269,7 +269,7 @@ class AvatarManagerTest extends \Test\TestCase { } if ($expectedPlaceholder) { - $expected = new PlaceholderAvatar($folder, $user, $this->createMock(LoggerInterface::class)); + $expected = new PlaceholderAvatar($folder, $user, $this->config, $this->logger); } else { $expected = new UserAvatar($folder, $this->l10n, $user, $this->logger, $this->config); } diff --git a/tests/lib/Avatar/GuestAvatarTest.php b/tests/lib/Avatar/GuestAvatarTest.php index 8188684b51f..b49fcea6ed2 100644 --- a/tests/lib/Avatar/GuestAvatarTest.php +++ b/tests/lib/Avatar/GuestAvatarTest.php @@ -34,8 +34,9 @@ class GuestAvatarTest extends TestCase { */ public function setupGuestAvatar() { /* @var MockObject|LoggerInterface $logger */ - $logger = $this->getMockBuilder(LoggerInterface::class)->getMock(); - $this->guestAvatar = new GuestAvatar('einstein', $logger); + $logger = $this->createMock(LoggerInterface::class); + $config = $this->createMock(\OCP\IConfig::class); + $this->guestAvatar = new GuestAvatar('einstein', $config, $logger); } /** diff --git a/tests/lib/Avatar/UserAvatarTest.php b/tests/lib/Avatar/UserAvatarTest.php index 03a868c7854..1ca3b8135cc 100644 --- a/tests/lib/Avatar/UserAvatarTest.php +++ b/tests/lib/Avatar/UserAvatarTest.php @@ -18,20 +18,15 @@ use OCP\Files\SimpleFS\ISimpleFile; use OCP\IConfig; use OCP\IL10N; use OCP\Image; +use PHPUnit\Framework\MockObject\MockObject; use Psr\Log\LoggerInterface; class UserAvatarTest extends \Test\TestCase { - /** @var SimpleFolder | \PHPUnit\Framework\MockObject\MockObject */ - private $folder; - /** @var \OC\Avatar\UserAvatar */ - private $avatar; - - /** @var User|\PHPUnit\Framework\MockObject\MockObject $user */ - private $user; - - /** @var IConfig|\PHPUnit\Framework\MockObject\MockObject */ - private $config; + private UserAvatar $avatar; + private SimpleFolder&MockObject $folder; + private IConfig&MockObject $config; + private User&MockObject $user; protected function setUp(): void { parent::setUp(); @@ -236,7 +231,7 @@ class UserAvatarTest extends \Test\TestCase { } public function testGenerateSvgAvatar(): void { - $avatar = $this->invokePrivate($this->avatar, 'getAvatarVector', [64, false]); + $avatar = $this->invokePrivate($this->avatar, 'getAvatarVector', [$this->user->getDisplayName(), 64, false]); $svg = '<?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg width="64" height="64" version="1.1" viewBox="0 0 500 500" xmlns="http://www.w3.org/2000/svg"> @@ -246,7 +241,6 @@ class UserAvatarTest extends \Test\TestCase { $this->assertEquals($avatar, $svg); } - #[\PHPUnit\Framework\Attributes\DataProvider('avatarTextData')] public function testGetAvatarText($displayName, $expectedAvatarText): void { $user = $this->getUserWithDisplayName($displayName); diff --git a/tests/lib/DB/QueryBuilder/FunctionBuilderTest.php b/tests/lib/DB/QueryBuilder/FunctionBuilderTest.php index fc20af8a841..5a111c91aa7 100644 --- a/tests/lib/DB/QueryBuilder/FunctionBuilderTest.php +++ b/tests/lib/DB/QueryBuilder/FunctionBuilderTest.php @@ -367,6 +367,7 @@ class FunctionBuilderTest extends TestCase { $result = $query->execute(); $column = $result->fetchOne(); $result->closeCursor(); + $this->assertNotNull($column); $this->assertEquals($bytes, $column); } diff --git a/tests/lib/Security/IdentityProof/ManagerTest.php b/tests/lib/Security/IdentityProof/ManagerTest.php index 445158e8a23..921d72388a1 100644 --- a/tests/lib/Security/IdentityProof/ManagerTest.php +++ b/tests/lib/Security/IdentityProof/ManagerTest.php @@ -16,6 +16,8 @@ use OC\Security\IdentityProof\Manager; use OCP\Files\IAppData; use OCP\Files\SimpleFS\ISimpleFile; use OCP\Files\SimpleFS\ISimpleFolder; +use OCP\ICache; +use OCP\ICacheFactory; use OCP\IConfig; use OCP\IUser; use OCP\Security\ICrypto; @@ -24,18 +26,14 @@ use Psr\Log\LoggerInterface; use Test\TestCase; class ManagerTest extends TestCase { - /** @var Factory|MockObject */ - private $factory; - /** @var IAppData|MockObject */ - private $appData; - /** @var ICrypto|MockObject */ - private $crypto; - /** @var Manager|MockObject */ - private $manager; - /** @var IConfig|MockObject */ - private $config; - /** @var LoggerInterface|MockObject */ - private $logger; + private Factory&MockObject $factory; + private IAppData&MockObject $appData; + private ICrypto&MockObject $crypto; + private Manager&MockObject $manager; + private IConfig&MockObject $config; + private LoggerInterface&MockObject $logger; + private ICacheFactory&MockObject $cacheFactory; + private ICache&MockObject $cache; protected function setUp(): void { parent::setUp(); @@ -49,6 +47,12 @@ class ManagerTest extends TestCase { ->with('identityproof') ->willReturn($this->appData); $this->logger = $this->createMock(LoggerInterface::class); + $this->cacheFactory = $this->createMock(ICacheFactory::class); + $this->cache = $this->createMock(ICache::class); + + $this->cacheFactory->expects($this->any()) + ->method('createDistributed') + ->willReturn($this->cache); $this->crypto = $this->createMock(ICrypto::class); $this->manager = $this->getManager(['generateKeyPair']); @@ -66,7 +70,8 @@ class ManagerTest extends TestCase { $this->factory, $this->crypto, $this->config, - $this->logger + $this->logger, + $this->cacheFactory, ); } else { return $this->getMockBuilder(Manager::class) @@ -74,7 +79,8 @@ class ManagerTest extends TestCase { $this->factory, $this->crypto, $this->config, - $this->logger + $this->logger, + $this->cacheFactory, ]) ->onlyMethods($setMethods) ->getMock(); @@ -115,6 +121,33 @@ class ManagerTest extends TestCase { ->method('getFolder') ->with('user-MyUid') ->willReturn($folder); + $this->cache + ->expects($this->exactly(2)) + ->method('get') + ->willReturn(null); + + $expected = new Key('MyPublicKey', 'MyPrivateKey'); + $this->assertEquals($expected, $this->manager->getKey($user)); + } + + public function testGetKeyWithExistingKeyCached(): void { + $user = $this->createMock(IUser::class); + $user + ->expects($this->once()) + ->method('getUID') + ->willReturn('MyUid'); + $this->crypto + ->expects($this->once()) + ->method('decrypt') + ->with('EncryptedPrivateKey') + ->willReturn('MyPrivateKey'); + $this->cache + ->expects($this->exactly(2)) + ->method('get') + ->willReturnMap([ + ['user-MyUid-public', 'MyPublicKey'], + ['user-MyUid-private', 'EncryptedPrivateKey'], + ]); $expected = new Key('MyPublicKey', 'MyPrivateKey'); $this->assertEquals($expected, $this->manager->getKey($user)); diff --git a/tests/lib/TaskProcessing/TaskProcessingTest.php b/tests/lib/TaskProcessing/TaskProcessingTest.php index db474a00687..fee4e9ba3ba 100644 --- a/tests/lib/TaskProcessing/TaskProcessingTest.php +++ b/tests/lib/TaskProcessing/TaskProcessingTest.php @@ -24,6 +24,7 @@ use OCP\Files\Config\IUserMountCache; use OCP\Files\File; use OCP\Files\IRootFolder; use OCP\Http\Client\IClientService; +use OCP\IAppConfig; use OCP\ICacheFactory; use OCP\IConfig; use OCP\IDBConnection; @@ -535,6 +536,7 @@ class TaskProcessingTest extends \Test\TestCase { private IUserMountCache $userMountCache; private IRootFolder $rootFolder; private IConfig $config; + private IAppConfig $appConfig; public const TEST_USER = 'testuser'; @@ -600,8 +602,9 @@ class TaskProcessingTest extends \Test\TestCase { $this->userMountCache = $this->createMock(IUserMountCache::class); $this->config = Server::get(IConfig::class); + $this->appConfig = Server::get(IAppConfig::class); $this->manager = new Manager( - $this->config, + $this->appConfig, $this->coordinator, $this->serverContainer, Server::get(LoggerInterface::class), @@ -641,7 +644,7 @@ class TaskProcessingTest extends \Test\TestCase { $taskProcessingTypeSettings = [ TextToText::ID => false, ]; - $this->config->setAppValue('core', 'ai.taskprocessing_type_preferences', json_encode($taskProcessingTypeSettings)); + $this->appConfig->setValueString('core', 'ai.taskprocessing_type_preferences', json_encode($taskProcessingTypeSettings), lazy: true); self::assertCount(0, $this->manager->getAvailableTaskTypes()); self::assertCount(1, $this->manager->getAvailableTaskTypes(true)); self::assertTrue($this->manager->hasProviders()); @@ -651,7 +654,7 @@ class TaskProcessingTest extends \Test\TestCase { public function testProviderShouldBeRegisteredAndTaskFailValidation(): void { - $this->config->setAppValue('core', 'ai.taskprocessing_type_preferences', ''); + $this->appConfig->setValueString('core', 'ai.taskprocessing_type_preferences', '', lazy: true); $this->registrationContext->expects($this->any())->method('getTaskProcessingProviders')->willReturn([ new ServiceRegistration('test', BrokenSyncProvider::class) ]); @@ -797,7 +800,7 @@ class TaskProcessingTest extends \Test\TestCase { $taskProcessingTypeSettings = [ TextToText::ID => true, ]; - $this->config->setAppValue('core', 'ai.taskprocessing_type_preferences', json_encode($taskProcessingTypeSettings)); + $this->appConfig->setValueString('core', 'ai.taskprocessing_type_preferences', json_encode($taskProcessingTypeSettings), lazy: true); self::assertCount(1, $this->manager->getAvailableTaskTypes()); @@ -1239,7 +1242,7 @@ class TaskProcessingTest extends \Test\TestCase { private function createManagerInstance(): Manager { // Clear potentially cached config values if needed - $this->config->deleteAppValue('core', 'ai.taskprocessing_type_preferences'); + $this->appConfig->deleteKey('core', 'ai.taskprocessing_type_preferences'); // Re-create Text2ImageManager if its state matters or mocks change $text2imageManager = new \OC\TextToImage\Manager( @@ -1253,7 +1256,7 @@ class TaskProcessingTest extends \Test\TestCase { ); return new Manager( - $this->config, + $this->appConfig, $this->coordinator, $this->serverContainer, Server::get(LoggerInterface::class), |