/** * @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)); }