/** * @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); }
public function testGetCompressorForRandomWillThrowAnException() { $this->expectException(InvalidCompressionTypeException::class); $this->factory->getCompressor('random'); }