<?php
/**
- * @copyright Copyright (C) 2020, Friendica
+ * @copyright Copyright (C) 2010-2023, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
*
* This is in the same namespace as Crypto for mocking 'rand' and 'random_init'
*/
+
+/// @todo Use right namespace - needs alternative way of mocking random_int()
namespace Friendica\Util;
use phpseclib\Crypt\RSA;
class CryptoTest extends TestCase
{
+ public static function tearDownAfterClass(): void
+ {
+ // Reset mocking
+ global $phpMock;
+ $phpMock = [];
+
+ parent::tearDownAfterClass();
+ }
+
/**
* Replaces random_int results with given mocks
*
self::assertEquals(11111111, $test);
}
- public function dataRsa()
+ public function dataRsa(): array
{
return [
'diaspora' => [
],
];
}
-
- /**
- * @dataProvider dataPEM
- */
- public function testPemToMe(string $key)
- {
- Crypto::pemToMe($key, $m, $e);
-
- $expectedRSA = new RSA();
- $expectedRSA->loadKey([
- 'e' => new BigInteger($e, 256),
- 'n' => new BigInteger($m, 256)
- ]);
-
- self::assertEquals($expectedRSA->getPublicKey(), $key);
- }
-
- /**
- * @dataProvider dataPEM
- */
- public function testMeToPem(string $key)
- {
- Crypto::pemToMe($key, $m, $e);
-
- $checkKey = Crypto::meToPem($m, $e);
-
- self::assertEquals($key, $checkKey);
- }
}
/**
{
global $phpMock;
if (isset($phpMock['random_int'])) {
- $result = call_user_func_array($phpMock['random_int'], func_get_args());
- return $result;
+ return call_user_func_array($phpMock['random_int'], func_get_args());
}
}