assertInstanceOf($type, $result); } public function testCanMemoizeSignatures() { $fn = SignatureProvider::version(); $fn = SignatureProvider::memoize($fn); $a = $fn('v4', 'ec2', 'us-west-2'); $this->assertSame($a, $fn('v4', 'ec2', 'us-west-2')); $this->assertNotSame($a, $fn('v4', 'ec2', 'us-east-1')); } public function testResolvesSignaturesSuccessfully() { $this->assertInstanceOf( SignatureInterface::class, SignatureProvider::resolve( SignatureProvider::version(), 'v4', 'ec2', 'us-west-2' ) ); } public function testResolvesSignaturesWithException() { $this->expectException(\Aws\Exception\UnresolvedSignatureException::class); $fn = SignatureProvider::defaultProvider(); SignatureProvider::resolve($fn, 'foooo', '', ''); } }