diff options
Diffstat (limited to 'tests/lib/AppFramework/Http/RequestIdTest.php')
-rw-r--r-- | tests/lib/AppFramework/Http/RequestIdTest.php | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/tests/lib/AppFramework/Http/RequestIdTest.php b/tests/lib/AppFramework/Http/RequestIdTest.php new file mode 100644 index 00000000000..9cfd3b1785c --- /dev/null +++ b/tests/lib/AppFramework/Http/RequestIdTest.php @@ -0,0 +1,57 @@ +<?php + +declare(strict_types=1); +/** + * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +namespace Test\AppFramework\Http; + +use OC\AppFramework\Http\RequestId; +use OCP\Security\ISecureRandom; +use PHPUnit\Framework\MockObject\MockObject; + +/** + * Class RequestIdTest + * + * @package OC\AppFramework\Http + */ +class RequestIdTest extends \Test\TestCase { + /** @var ISecureRandom|MockObject */ + protected $secureRandom; + + protected function setUp(): void { + parent::setUp(); + + $this->secureRandom = $this->createMock(ISecureRandom::class); + } + + public function testGetIdWithModUnique(): void { + $requestId = new RequestId( + 'GeneratedUniqueIdByModUnique', + $this->secureRandom + ); + + $this->secureRandom->expects($this->never()) + ->method('generate'); + + $this->assertSame('GeneratedUniqueIdByModUnique', $requestId->getId()); + $this->assertSame('GeneratedUniqueIdByModUnique', $requestId->getId()); + } + + public function testGetIdWithoutModUnique(): void { + $requestId = new RequestId( + '', + $this->secureRandom + ); + + $this->secureRandom->expects($this->once()) + ->method('generate') + ->with('20') + ->willReturn('GeneratedByNextcloudItself1'); + + $this->assertSame('GeneratedByNextcloudItself1', $requestId->getId()); + $this->assertSame('GeneratedByNextcloudItself1', $requestId->getId()); + } +} |