Example #1
0
 public function testCanCallMakeDirectoryWithAnExistingFolder()
 {
     $file = new LocalFile(static::$dir . 'no_dir_file');
     static::assertTrue(file_exists($file->getDirectory()));
     $retFile = $this->maker->makeDirectory($file);
     static::assertSame($retFile, $file);
 }
Example #2
0
 public function testWhenCreateDirReturnsFalseAnExceptionIsthrown()
 {
     $fileSystem = m::mock(FilesystemInterface::class);
     $directory = new FileNode($fileSystem, 'random/path');
     $fileSystem->shouldReceive('createDir')->with($directory->getDirectory(), ['visibility' => 'public'])->andReturn(false);
     $this->expectException(MakedirectoryFailedException::class);
     $maker = new MakeDirectory();
     $maker->makeDirectory($directory);
 }
Example #3
0
 /**
  * @param string $rootDir
  * @param int    $numFiles
  *
  * @return FileNodeCollectionInterface
  */
 private function createCollection($rootDir, $numFiles)
 {
     $mkDir = new MakeDirectory();
     $collection = new FileNodeCollection();
     for ($i = 1; $i <= $numFiles; $i++) {
         $file = new LocalFile(static::$dir . $rootDir . 'part_' . $i);
         $mkDir->makeDirectory($file);
         $file->put("File {$i} Line 1\nFile {$i} Line 2\nFile {$i} Line 3\n");
         $collection->add($file);
     }
     return $collection;
 }
Example #4
0
 /**
  * @param FileNodeCollectionInterface $files
  * @param FileNodeInterface           $target
  * @param string                      $cmd
  * @param bool                        $keepOld
  *
  * @return FileNodeInterface
  * @throws \Graze\DataFile\Modify\Exception\MakeDirectoryFailedException
  */
 private function runCommand(FileNodeCollectionInterface $files, FileNodeInterface $target, $cmd, $keepOld = true)
 {
     if ($target instanceof FileNode) {
         $maker = new MakeDirectory();
         $maker->makeDirectory($target);
     }
     $process = $this->getProcess($cmd);
     $process->run();
     if (!$process->isSuccessful()) {
         throw new ProcessFailedException($process);
     }
     if (!$keepOld) {
         $this->log(LogLevel::DEBUG, "Deleting old files in collection {$files}");
         $files->map(function (LocalFile $item) {
             if ($item->exists()) {
                 $item->delete();
             }
             $count = iterator_count(new DirectoryIterator($item->getDirectory()));
             if ($count == 2) {
                 rmdir($item->getDirectory());
             }
         });
     }
     return $target;
 }