Use internal exceptions

Fixes #254
This commit is contained in:
Ben Ramsey
2019-12-19 12:20:53 -06:00
parent 0d7b8c2b7a
commit 12896f06db
36 changed files with 336 additions and 40 deletions
@@ -6,6 +6,7 @@ namespace Ramsey\Uuid\Test\Generator;
use AspectMock\Test as AspectMock;
use Exception;
use Ramsey\Uuid\Exception\RandomSourceException;
use Ramsey\Uuid\Generator\RandomBytesGenerator;
use Ramsey\Uuid\Test\TestCase;
@@ -54,4 +55,22 @@ class RandomBytesGeneratorTest extends TestCase
$generator = new RandomBytesGenerator();
$this->assertEquals($bytes, $generator->generate($length));
}
/**
* @runInSeparateProcess
* @preserveGlobalState disabled
*/
public function testGenerateThrowsExceptionWhenExceptionThrownByRandombytes(): void
{
AspectMock::func('Ramsey\Uuid\Generator', 'random_bytes', function (): void {
throw new Exception('Could not gather sufficient random data');
});
$generator = new RandomBytesGenerator();
$this->expectException(RandomSourceException::class);
$this->expectExceptionMessage('Could not gather sufficient random data');
$generator->generate(16);
}
}