public function testBuildsDifferentUploaderBasedOnConcurrency()
 {
     $generator = $this->getMockBuilder('Aws\\Glacier\\Model\\MultipartUpload\\UploadPartGenerator')->setMethods(array('getPartSize'))->disableOriginalConstructor()->getMock();
     $generator->expects($this->any())->method('getPartSize')->will($this->returnValue(1024 * 1024));
     $state = new TransferState(UploadId::fromParams(array('accountId' => 'foo', 'vaultName' => 'baz', 'uploadId' => 'bar')));
     $state->setPartGenerator($generator);
     $b = UploadBuilder::newInstance()->setVaultName('foo')->setPartGenerator($generator)->setClient($this->getServiceBuilder()->get('glacier'))->resumeFrom($state)->setSource(EntityBody::factory(fopen(__FILE__, 'r')));
     $this->assertInstanceOf('Aws\\Glacier\\Model\\MultipartUpload\\SerialTransfer', $b->build());
     $b->setConcurrency(2);
     $this->assertInstanceOf('Aws\\Glacier\\Model\\MultipartUpload\\ParallelTransfer', $b->build());
 }
Exemplo n.º 2
0
 /**
  * {@inheritdoc}
  */
 protected function initiateMultipartUpload()
 {
     $params = array('accountId' => $this->accountId, 'vaultName' => $this->vaultName);
     $partGenerator = $this->partGenerator ?: UploadPartGenerator::factory($this->source, $this->partSize);
     $command = $this->client->getCommand('InitiateMultipartUpload', array_replace($params, array('command.headers' => $this->headers, 'partSize' => $partGenerator->getPartSize(), 'archiveDescription' => $this->archiveDescription, Ua::OPTION => Ua::MULTIPART_UPLOAD)));
     $params['uploadId'] = $command->getResult()->get('uploadId');
     // Create a new state based on the initiated upload
     $state = new TransferState(UploadId::fromParams($params));
     $state->setPartGenerator($partGenerator);
     return $state;
 }