Reuse existing Strings::getRandomHex function

This commit is contained in:
Philipp Holzer 2019-02-27 18:32:25 +01:00
parent f4dfd4f649
commit 2b53784094
No known key found for this signature in database
GPG Key ID: 517BE60E2CE5C8A5
2 changed files with 3 additions and 28 deletions

View File

@ -2,6 +2,7 @@
namespace Friendica\Util\Logger;
use Friendica\Util\Strings;
use Psr\Log\LoggerInterface;
/**
@ -34,29 +35,7 @@ class WorkerLogger implements LoggerInterface
{
$this->logger = $logger;
$this->functionName = $functionName;
$this->workerId = $this->generateWorkerId($idLength);
}
/**
* Generates an ID
*
* @param int $length
*
* @return string
*/
private function generateWorkerId($length)
{
if ($length <= 0) {
$this->logger->alert('id length must be greater than 0.');
return '';
}
try {
return substr(bin2hex(random_bytes(ceil($length / 2))), 0, $length);
} catch (\Exception $exception) {
$this->logger->alert('random_bytes threw an error', ['exception' => $exception]);
return '';
}
$this->workerId = Strings::getRandomHex($idLength);
}
/**

View File

@ -15,15 +15,11 @@ class WorkerLoggerTest extends MockedTest
/**
* Test the a id with length zero
* @expectedException
* @expectedException \Error
*/
public function testGetWorkerIdZero()
{
$logger = \Mockery::mock(LoggerInterface::class);
$logger
->shouldReceive('alert')
->with('id length must be greater than 0.')
->once();
new WorkerLogger($logger, 'test', 0);
}