Google\Cloud\Tests\Storage\StorageObjectTest::testRewriteObjectWithNewName PHP Method

testRewriteObjectWithNewName() public method

    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']);
    }