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
@@ -5,6 +5,8 @@ declare(strict_types=1);
namespace Ramsey\Uuid\Test\Provider\Node;
use AspectMock\Test as AspectMock;
use Exception;
use Ramsey\Uuid\Exception\RandomSourceException;
use Ramsey\Uuid\Provider\Node\RandomNodeProvider;
use Ramsey\Uuid\Test\TestCase;
@@ -110,4 +112,22 @@ class RandomNodeProviderTest extends TestCase
$this->assertSame('010000000000', $node);
}
/**
* @runInSeparateProcess
* @preserveGlobalState disabled
*/
public function testGetNodeThrowsExceptionWhenExceptionThrownByRandombytes(): void
{
AspectMock::func('Ramsey\Uuid\Provider\Node', 'random_bytes', function (): void {
throw new Exception('Could not gather sufficient random data');
});
$provider = new RandomNodeProvider();
$this->expectException(RandomSourceException::class);
$this->expectExceptionMessage('Could not gather sufficient random data');
$provider->getNode();
}
}