コード例 #1
0
 public function storageProvider()
 {
     $factory = $this->getFactory();
     $size = 200;
     $mimeType = 'application/json';
     list($data, $fileName) = $this->generateTestFile($size);
     $chunk1 = new Chunk();
     $chunk1->setData(substr($data, 0, 100));
     $chunk1->setHash($factory->createHash($chunk1->getData()));
     $chunk1->setLength(strlen($chunk1->getData()));
     $chunk2 = new Chunk();
     $chunk2->setData(substr($data, 100, 100));
     $chunk2->setHash($factory->createHash($chunk2->getData()));
     $chunk2->setLength(strlen($chunk2->getData()));
     $chunks = array($chunk1, $chunk2);
     $fileHash = $factory->createFileHash($fileName);
     return array(array($fileName, $data, $fileHash, $chunks, $mimeType, $size));
 }
コード例 #2
0
 public function testUploadExists()
 {
     $data = 'This is my data';
     $hash = $this->getFactory()->createHash($data);
     $chunk = new Chunk();
     $chunk->setHash($hash);
     $chunk->setData($data);
     $factory = $this->prophesize(FactoryInterface::class);
     $factory->createHash($data)->willReturn($hash);
     $database = $this->prophesize(DatabaseInterface::class);
     $database->store(Argument::type(ChunkInterface::class))->should(new NoCallsPrediction());
     $database->contains($hash, Chunk::class)->should(new CallPrediction())->willReturn(true);
     $database->fetch($hash, Chunk::class)->should(new NoCallsPrediction());
     $manager = new ChunkManager($factory->reveal(), $database->reveal());
     $result = $manager->upload($data);
     $this->assertEquals($chunk->getHash(), $result->getHash());
     $this->assertEquals($chunk->getData(), $result->getData());
 }