From 2b6f0870b3b29809fafc8703693c06f3c41808b2 Mon Sep 17 00:00:00 2001 From: = Date: Sun, 13 Jun 2021 20:09:52 +1000 Subject: [PATCH] Tests for clean up S3 orphans --- app/Console/Commands/S3Cleanup.php | 23 ++++++++---------- tests/Unit/S3CleanupTest.php | 39 ++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 13 deletions(-) create mode 100644 tests/Unit/S3CleanupTest.php diff --git a/app/Console/Commands/S3Cleanup.php b/app/Console/Commands/S3Cleanup.php index f0609e234c1b..f7409764b3a5 100644 --- a/app/Console/Commands/S3Cleanup.php +++ b/app/Console/Commands/S3Cleanup.php @@ -43,23 +43,20 @@ class S3Cleanup extends Command $c1 = Company::on('db-ninja-01')->pluck('company_key'); $c2 = Company::on('db-ninja-02')->pluck('company_key'); - $merged = $c1->merge($c2); + $merged = $c1->merge($c2)->toArray(); - $c3 = Storage::disk(config('filesystems.default'))->directories(); - - $diff = $merged->diff($c3); + $directories = Storage::disk(config('filesystems.default'))->directories(); $this->LogMessage("Disk Cleanup"); - $this->logMessage("Folders to delete = ". $c1->count()); - - $diff->each(function ($dir){ - - $this->logMessage("Deleting $dir"); - - Storage::deleteDirectory($dir); - - }); + foreach($directories as $dir) + { + if(!in_array($dir, $merged)) + { + $this->logMessage("Deleting $dir"); + Storage::disk(config('filesystems.default'))->deleteDirectory($dir); + } + } $this->logMessage("exiting"); diff --git a/tests/Unit/S3CleanupTest.php b/tests/Unit/S3CleanupTest.php new file mode 100644 index 000000000000..b4056ff4f5e0 --- /dev/null +++ b/tests/Unit/S3CleanupTest.php @@ -0,0 +1,39 @@ +merge($c2)->toArray(); + + $this->assertTrue(in_array("1", $merged)); + $this->assertFalse(in_array("10", $merged)); + + } +}