Google\Cloud\Storage\Connection\ConnectionInterface::rewriteObject PHP Method

rewriteObject() public method

public rewriteObject ( array $args = [] )
$args array
    public function rewriteObject(array $args = []);

Usage Example

 public function testRewriteObjectWithNewName()
 {
     $sourceBucket = 'bucket';
     $sourceObject = 'object.txt';
     $bucketConnection = $this->prophesize(ConnectionInterface::class)->reveal();
     $destinationBucketName = 'bucket2';
     $destinationBucket = new Bucket($bucketConnection, $destinationBucketName);
     $destinationObject = 'object2.txt';
     $acl = 'private';
     $rewriteToken = 'abc';
     $this->connection->rewriteObject(['sourceBucket' => $sourceBucket, 'sourceObject' => $sourceObject, 'destinationBucket' => $destinationBucketName, 'destinationObject' => $destinationObject, 'destinationPredefinedAcl' => $acl])->willReturn(['rewriteToken' => $rewriteToken])->shouldBeCalledTimes(1);
     $this->connection->rewriteObject(['sourceBucket' => $sourceBucket, 'sourceObject' => $sourceObject, 'destinationBucket' => $destinationBucketName, 'destinationObject' => $destinationObject, 'destinationPredefinedAcl' => $acl, 'rewriteToken' => $rewriteToken])->willReturn(['resource' => ['bucket' => $destinationBucketName, 'name' => $destinationObject, 'generation' => 1]])->shouldBeCalledTimes(1);
     $object = new StorageObject($this->connection->reveal(), $sourceObject, $sourceBucket);
     $rewrittenObject = $object->rewrite($destinationBucket, ['predefinedAcl' => $acl, 'name' => $destinationObject]);
     $this->assertEquals($destinationBucketName, $rewrittenObject->info()['bucket']);
     $this->assertEquals($destinationObject, $rewrittenObject->info()['name']);
 }