/**
  * Create presigned URLs for an object with temporary credentials
  *
  * @depends testGetObjectUrl
  * @example Mss\S3\S3Client::getObjectUrl
  */
 public function testGetObjectUrlWithSessionCredentials()
 {
     $this->client->waitUntil('BucketExists', array('Bucket' => $this->bucket));
     $bucket = $this->bucket;
     /** @var $stsClient \Mss\Sts\StsClient */
     $stsClient = $this->getServiceBuilder()->get('sts');
     // @begin
     // Create a credentials object using temporary credentials retrieved from STS
     $tempCredentials = $stsClient->createCredentials($stsClient->getSessionToken());
     // Create an S3 client using the temporary credentials
     $s3Client = \Mss\S3\S3Client::factory()->setCredentials($tempCredentials);
     // Get a presigned URL for an Amazon S3 object
     $signedUrl = $s3Client->getObjectUrl($bucket, 'data.txt', '+10 minutes');
     echo file_get_contents($signedUrl);
     // > Hello!
     // @end
     $this->assertEquals('Hello!', $this->getActualOutput());
 }
 public function no_testUsesSigV4SignatureInSpecificRegions()
 {
     $s3 = S3Client::factory(array(Options::REGION => 'cn-north-1'));
     $this->assertInstanceOf('Mss\\S3\\S3SignatureV4', $s3->getSignature());
 }