diff --git a/assets/config.php b/assets/config.php index 0a4a6233..e5c1a24b 100644 --- a/assets/config.php +++ b/assets/config.php @@ -98,7 +98,6 @@ return [ */ 'bootstrappers' => [ Stancl\Tenancy\Bootstrappers\DatabaseTenancyBootstrapper::class, - Stancl\Tenancy\Bootstrappers\CacheTenancyBootstrapper::class, Stancl\Tenancy\Bootstrappers\FilesystemTenancyBootstrapper::class, Stancl\Tenancy\Bootstrappers\QueueTenancyBootstrapper::class, Stancl\Tenancy\Bootstrappers\BatchTenancyBootstrapper::class, @@ -179,7 +178,7 @@ return [ ], /** - * Cache tenancy config. Used by CacheTenancyBootstrapper. + * Cache tenancy config. Used by the custom CacheManager and the PrefixCacheTenancyBootstrapper. * * This works for all Cache facade calls, cache() helper * calls and direct calls to injected cache stores. diff --git a/src/Bootstrappers/CacheTenancyBootstrapper.php b/src/Bootstrappers/CacheTenancyBootstrapper.php deleted file mode 100644 index 6c963115..00000000 --- a/src/Bootstrappers/CacheTenancyBootstrapper.php +++ /dev/null @@ -1,45 +0,0 @@ -resetFacadeCache(); - - $this->originalCache = $this->originalCache ?? $this->app['cache']; - } - - public function revert(): void - { - $this->resetFacadeCache(); - - $this->originalCache = null; - } - - /** - * This wouldn't be necessary, but is needed when a call to the - * facade has been made prior to bootstrapping tenancy. The - * facade has its own cache, separate from the container. - */ - public function resetFacadeCache(): void - { - Cache::clearResolvedInstances(); - } -} diff --git a/tests/BootstrapperTest.php b/tests/BootstrapperTest.php index 4515625d..d6118712 100644 --- a/tests/BootstrapperTest.php +++ b/tests/BootstrapperTest.php @@ -31,7 +31,6 @@ use Stancl\Tenancy\Listeners\DeleteTenantStorage; use Stancl\Tenancy\Listeners\RevertToCentralContext; use Stancl\Tenancy\Bootstrappers\UrlTenancyBootstrapper; use Stancl\Tenancy\Bootstrappers\MailTenancyBootstrapper; -use Stancl\Tenancy\Bootstrappers\CacheTenancyBootstrapper; use Stancl\Tenancy\Bootstrappers\RedisTenancyBootstrapper; use Stancl\Tenancy\Middleware\InitializeTenancyBySubdomain; use Stancl\Tenancy\Bootstrappers\DatabaseTenancyBootstrapper; @@ -84,11 +83,13 @@ test('database data is separated', function () { expect(DB::table('users')->first()->name)->toBe('Foo'); }); -test('cache data is separated', function (string $bootstrapper) { +test('cache data is separated', function () { CacheManager::$addTags = true; config([ - 'tenancy.bootstrappers' => [$bootstrapper], + 'tenancy.bootstrappers' => [ + PrefixCacheTenancyBootstrapper::class, + ], 'cache.default' => 'redis', ]); @@ -123,10 +124,7 @@ test('cache data is separated', function (string $bootstrapper) { // Asset central is still the same expect(Cache::get('foo'))->toBe('central'); -})->with([ - 'CacheTenancyBootstrapper' => CacheTenancyBootstrapper::class, - 'PrefixCacheTenancyBootstrapper' => PrefixCacheTenancyBootstrapper::class, -])->group('bootstrapper'); +}); test('redis data is separated', function () { config(['tenancy.bootstrappers' => [ diff --git a/tests/CacheManagerTest.php b/tests/CacheManagerTest.php index fd32cd07..7b1b99da 100644 --- a/tests/CacheManagerTest.php +++ b/tests/CacheManagerTest.php @@ -7,13 +7,11 @@ use Stancl\Tenancy\Tests\Etc\Tenant; use Illuminate\Support\Facades\Event; use Stancl\Tenancy\Events\TenancyInitialized; use Stancl\Tenancy\Listeners\BootstrapTenancy; -use Stancl\Tenancy\Bootstrappers\CacheTenancyBootstrapper; beforeEach(function () { - config(['tenancy.bootstrappers' => [ - CacheTenancyBootstrapper::class, - ]]); + config(['tenancy.bootstrappers' => []]); + CacheManager::$addTags = true; Event::listen(TenancyInitialized::class, BootstrapTenancy::class); }); diff --git a/tests/GlobalCacheTest.php b/tests/GlobalCacheTest.php index f3240614..c4fcb0e5 100644 --- a/tests/GlobalCacheTest.php +++ b/tests/GlobalCacheTest.php @@ -3,8 +3,6 @@ declare(strict_types=1); use Illuminate\Support\Facades\Event; -use Stancl\Tenancy\Bootstrappers\CacheTenancyBootstrapper; -use Stancl\Tenancy\CacheManager; use Stancl\Tenancy\Events\TenancyEnded; use Stancl\Tenancy\Events\TenancyInitialized; use Stancl\Tenancy\Facades\GlobalCache; @@ -13,9 +11,7 @@ use Stancl\Tenancy\Listeners\RevertToCentralContext; use Stancl\Tenancy\Tests\Etc\Tenant; beforeEach(function () { - config(['tenancy.bootstrappers' => [ - CacheTenancyBootstrapper::class, - ]]); + config(['tenancy.bootstrappers' => []]); Event::listen(TenancyInitialized::class, BootstrapTenancy::class); Event::listen(TenancyEnded::class, RevertToCentralContext::class);