From 556e526833e39fd42545f3ccafa2266c961b19f9 Mon Sep 17 00:00:00 2001 From: Niels Vanpachtenbeke <10651054+Nielsvanpach@users.noreply.github.com> Date: Fri, 7 Jun 2024 23:39:46 +0200 Subject: [PATCH] use more config files --- src/BackupDestination/BackupDestination.php | 1 + src/BackupServiceProvider.php | 2 +- src/Config/Config.php | 8 ++++++++ tests/Commands/BackupCommandTest.php | 4 ++++ 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/BackupDestination/BackupDestination.php b/src/BackupDestination/BackupDestination.php index 3ef69882..dd5c89eb 100644 --- a/src/BackupDestination/BackupDestination.php +++ b/src/BackupDestination/BackupDestination.php @@ -6,6 +6,7 @@ use Exception; use Illuminate\Contracts\Filesystem\Factory; use Illuminate\Contracts\Filesystem\Filesystem; +use Spatie\Backup\Config\Config; use Spatie\Backup\Exceptions\InvalidBackupDestination; class BackupDestination diff --git a/src/BackupServiceProvider.php b/src/BackupServiceProvider.php index bc815d16..bf1559e3 100644 --- a/src/BackupServiceProvider.php +++ b/src/BackupServiceProvider.php @@ -52,7 +52,7 @@ public function packageRegistered(): void $this->registerDiscordChannel(); - $this->app->singleton(Config::class, function () { + $this->app->scoped(Config::class, function () { return Config::fromArray(config('backup')); }); } diff --git a/src/Config/Config.php b/src/Config/Config.php index 8e5e7842..b56e3754 100644 --- a/src/Config/Config.php +++ b/src/Config/Config.php @@ -13,6 +13,14 @@ protected function __construct( ) { } + /** @internal used for testing */ + public static function rebind(): void + { + app()->scoped(Config::class, function () { + return self::fromArray(config('backup')); + }); + } + /** @param array $data */ public static function fromArray(array $data): self { diff --git a/tests/Commands/BackupCommandTest.php b/tests/Commands/BackupCommandTest.php index 3b883325..0c59d72b 100644 --- a/tests/Commands/BackupCommandTest.php +++ b/tests/Commands/BackupCommandTest.php @@ -397,6 +397,8 @@ config()->set('backup.backup.destination.compression_method', ZipArchive::CM_STORE); config()->set('backup.backup.destination.compression_level', 0); + \Spatie\Backup\Config\Config::rebind(); + $this->artisan('backup:run --only-db')->assertExitCode(0); $zip = new ZipArchive(); @@ -411,6 +413,8 @@ config()->set('backup.backup.destination.compression_method', ZipArchive::CM_DEFLATE); config()->set('backup.backup.destination.compression_level', 2); + \Spatie\Backup\Config\Config::rebind(); + $this->artisan('backup:run --only-db')->assertExitCode(0); $zip = new ZipArchive();