Skip to content

Commit 6fa2e2d

Browse files
mariavilarofreekmurze
authored andcommitted
don't fail if a configured directory doesn't exist (spatie#23)
* don't fail if a configured directory doesn't exist * styleci
1 parent 081477a commit 6fa2e2d

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

src/DirectoryCleanupCommand.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace Spatie\DirectoryCleanup;
44

5+
use File;
56
use Illuminate\Console\Command;
67

78
class DirectoryCleanupCommand extends Command
@@ -17,7 +18,9 @@ public function handle()
1718
$directories = collect(config('laravel-directory-cleanup.directories'));
1819

1920
collect($directories)->each(function ($config, $directory) {
20-
$this->deleteFilesIfOlderThanMinutes($directory, $config['deleteAllOlderThanMinutes']);
21+
if (File::isDirectory($directory)) {
22+
$this->deleteFilesIfOlderThanMinutes($directory, $config['deleteAllOlderThanMinutes']);
23+
}
2124
});
2225

2326
$this->comment('All done!');

tests/DirectoryCleanupTest.php

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,27 @@ public function it_can_cleanup_the_directories_specified_in_the_config_file_but_
105105
}
106106
}
107107

108+
/** @test */
109+
public function it_doesnt_fail_if_a_configured_dir_doesnt_exist()
110+
{
111+
$directories[$this->getTempDirectory('nodir', false)] = [
112+
'deleteAllOlderThanMinutes' => 3,
113+
];
114+
115+
$existingDirectory = $this->getTempDirectory(1, true);
116+
$directories[$existingDirectory] = [
117+
'deleteAllOlderThanMinutes' => 3,
118+
];
119+
120+
$this->createFile("{$existingDirectory}/5MinutesOld.txt", 5);
121+
122+
$this->app['config']->set('laravel-directory-cleanup', compact('directories'));
123+
124+
$this->artisan('clean:directories');
125+
126+
$this->assertFileNotExists("{$existingDirectory}/5MinutesOld.txt");
127+
}
128+
108129
protected function createFile(string $fileName, int $ageInMinutes)
109130
{
110131
touch($fileName, Carbon::now()->subMinutes($ageInMinutes)->subSeconds(5)->timestamp);

0 commit comments

Comments
 (0)