--- /dev/null
+<?php
+
+// Copyright (C) 2010-2024, the Friendica project
+// SPDX-FileCopyrightText: 2010-2024 the Friendica project
+//
+// SPDX-License-Identifier: AGPL-3.0-or-later
+
+namespace Friendica\Test\Unit\Util;
+
+use Friendica\Util\Crypto;
+use phpmock\phpunit\PHPMock;
+use PHPUnit\Framework\TestCase;
+
+class CryptoTest extends TestCase
+{
+ use PHPMock;
+
+ public function testRandomDigitsRandomInt()
+ {
+ $random_int = $this->getFunctionMock('Friendica\Util', 'random_int');
+ $random_int->expects($this->any())->willReturnCallback(function($min, $max) {
+ return 12345678;
+ });
+
+ self::assertSame(12345678, Crypto::randomDigits(8));
+ }
+
+ public function testDiasporaPubRsaToMe()
+ {
+ $key = 'LS0tLS1CRUdJTiBSU0EgUFVCTElDIEtFWS0tLS0tDQpNSUdKQW9HQkFORjVLTmJzN2k3aTByNVFZckNpRExEZ09pU1BWbmgvdlFnMXpnSk9VZVRheWVETk5yZTR6T1RVDQpSVDcyZGlLQ294OGpYOE5paElJTFJtcUtTOWxVYVNzd21QcVNFenVpdE5xeEhnQy8xS2ZuaXM1Qm96NnRwUUxjDQpsZDMwQjJSMWZIVWdFTHZWd0JkV29pRDhSRUt1dFNuRVBGd1RwVmV6aVlWYWtNY25pclRWQWdNQkFBRT0NCi0tLS0tRU5EIFJTQSBQVUJMSUMgS0VZLS0tLS0';
+
+ // TODO PHPUnit 10: Replace with assertStringEqualsStringIgnoringLineEndings()
+ self::assertSame(
+ str_replace("\n", "\r\n", <<< TXT
+ -----BEGIN PUBLIC KEY-----
+ MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDReSjW7O4u4tK+UGKwogyw4Dok
+ j1Z4f70INc4CTlHk2sngzTa3uMzk1EU+9nYigqMfI1/DYoSCC0ZqikvZVGkrMJj6
+ khM7orTasR4Av9Sn54rOQaM+raUC3JXd9AdkdXx1IBC71cAXVqIg/ERCrrUpxDxc
+ E6VXs4mFWpDHJ4q01QIDAQAB
+ -----END PUBLIC KEY-----
+ TXT),
+ Crypto::rsaToPem(base64_decode($key))
+ );
+ }
+}
+++ /dev/null
------BEGIN PUBLIC KEY-----\r
-MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDReSjW7O4u4tK+UGKwogyw4Dok\r
-j1Z4f70INc4CTlHk2sngzTa3uMzk1EU+9nYigqMfI1/DYoSCC0ZqikvZVGkrMJj6\r
-khM7orTasR4Av9Sn54rOQaM+raUC3JXd9AdkdXx1IBC71cAXVqIg/ERCrrUpxDxc\r
-E6VXs4mFWpDHJ4q01QIDAQAB\r
------END PUBLIC KEY-----
\ No newline at end of file
+++ /dev/null
-LS0tLS1CRUdJTiBSU0EgUFVCTElDIEtFWS0tLS0tDQpNSUdKQW9HQkFORjVLTmJzN2k3aTByNVFZckNpRExEZ09pU1BWbmgvdlFnMXpnSk9VZVRheWVETk5yZTR6T1RVDQpSVDcyZGlLQ294OGpYOE5paElJTFJtcUtTOWxVYVNzd21QcVNFenVpdE5xeEhnQy8xS2ZuaXM1Qm96NnRwUUxjDQpsZDMwQjJSMWZIVWdFTHZWd0JkV29pRDhSRUt1dFNuRVBGd1RwVmV6aVlWYWtNY25pclRWQWdNQkFBRT0NCi0tLS0tRU5EIFJTQSBQVUJMSUMgS0VZLS0tLS0
\ No newline at end of file
+++ /dev/null
-<?php
-
-// Copyright (C) 2010-2024, the Friendica project
-// SPDX-FileCopyrightText: 2010-2024 the Friendica project
-//
-// SPDX-License-Identifier: AGPL-3.0-or-later
-
-namespace Friendica\Test\src\Util;
-
-use Friendica\Util\Crypto;
-use phpmock\phpunit\PHPMock;
-use PHPUnit\Framework\TestCase;
-
-class CryptoTest extends TestCase
-{
- use PHPMock;
-
- public static function tearDownAfterClass(): void
- {
- // Reset mocking
- global $phpMock;
- $phpMock = [];
-
- parent::tearDownAfterClass();
- }
-
- public function testRandomDigitsRandomInt()
- {
- $random_int = $this->getFunctionMock('Friendica\Util', 'random_int');
- $random_int->expects($this->any())->willReturnCallback(function($min, $max) {
- return 12345678;
- });
-
- self::assertSame(12345678, Crypto::randomDigits(8));
- }
-
- public function dataRsa(): array
- {
- return [
- 'diaspora' => [
- 'key' => file_get_contents(__DIR__ . '/../../datasets/crypto/rsa/diaspora-public-rsa-base64'),
- 'expected' => file_get_contents(__DIR__ . '/../../datasets/crypto/rsa/diaspora-public-pem'),
- ],
- ];
- }
-
- /**
- * @dataProvider dataRsa
- */
- public function testPubRsaToMe(string $key, string $expected)
- {
- self::assertSame($expected, Crypto::rsaToPem(base64_decode($key)));
- }
-
-
- public function dataPEM()
- {
- return [
- 'diaspora' => [
- 'key' => file_get_contents(__DIR__ . '/../../datasets/crypto/rsa/diaspora-public-pem'),
- ],
- ];
- }
-}