예제 #1
0
 /**
  * @param $data
  *
  * @return ChunkInterface
  */
 public function upload($data)
 {
     $chunk = new Chunk();
     $chunk->setData($data);
     $chunk->setLength(strlen($data));
     $chunk->setPolicyCollection(new PolicyCollection());
     $chunk->setHash($this->factory->createHash($data));
     if ($this->database->contains($chunk->getHash(), Chunk::class)) {
         return $chunk;
     }
     return $this->database->store($chunk, array(ReplicatorInterface::OPTION_NAME => ReplicatorInterface::TYPE_FULL));
 }
 public function storageProvider()
 {
     $length = 200;
     $data = $this->generateString($length);
     $expectedChunk = new Chunk();
     $expectedChunk->setData($data);
     $expectedChunk->setHash($this->getFactory()->createHash($data));
     $expectedChunk->setLength($length);
     $expectedChunk->setPolicyCollection(new PolicyCollection());
     $this->getDatabase()->deleteAll();
     return array(array($expectedChunk));
 }
 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));
 }