예제 #1
0
 /**
  * @param NodeInterface $node
  *
  * @return LocalFile
  * @throws InvalidCompressionTypeException
  *
  */
 public function flow(NodeInterface $node)
 {
     if (!$node instanceof LocalFile) {
         throw new InvalidArgumentException("Node: {$node} should be an instance of LocalFile");
     }
     $factory = new CompressionFactory();
     $compressor = $factory->getCompressor($this->compression);
     $this->log(LogLevel::INFO, "Compressing file: '{file}' using '{compression}'", ['file' => $node, 'compression' => $this->compression]);
     return $compressor->compress($node, $this->options);
 }
예제 #2
0
 public function testGetCompressorForRandomWillThrowAnException()
 {
     $this->expectException(InvalidCompressionTypeException::class);
     $this->factory->getCompressor('random');
 }