From a7bb709bd49ffd3080646d45d7755ddfbc906911 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20=C5=A0tancl?= Date: Sun, 15 Sep 2019 21:53:03 +0200 Subject: [PATCH] Fix first test --- assets/config.php | 2 +- .../CannotChangeUuidOrDomainException.php | 10 ---------- src/Features/TelescopeTags.php | 2 +- .../CacheTenancyBoostrapper.php | 16 +++++++++++++--- .../DatabaseTenancyBootstrapper.php | 2 +- .../FilesystemTenancyBootstrapper.php | 6 ++++-- .../QueueTenancyBootstrapper.php | 3 ++- .../RedisTenancyBootstrapper.php | 6 ++++-- src/TenantManager.php | 2 +- tests/TenantManagerTest.php | 19 ++----------------- 10 files changed, 29 insertions(+), 39 deletions(-) delete mode 100644 src/Exceptions/CannotChangeUuidOrDomainException.php diff --git a/assets/config.php b/assets/config.php index 7183d2b7..7cf4b184 100644 --- a/assets/config.php +++ b/assets/config.php @@ -60,7 +60,7 @@ return [ 'cache' => 'Stancl\Tenancy\TenancyBootstrappers\CacheTenancyBootstrapper', 'filesystem' => 'Stancl\Tenancy\TenancyBootstrappers\FilesystemTenancyBootstrapper', 'redis' => 'Stancl\Tenancy\TenancyBootstrappers\RedisTenancyBootstrapper', - 'queue' => 'Stancl\Tenancy\TenancyBoostrappers\QueueTenancyBootstrapper', + 'queue' => 'Stancl\Tenancy\TenancyBootstrappers\QueueTenancyBootstrapper', ], 'features' => [ // Features are classes that provide additional functionality diff --git a/src/Exceptions/CannotChangeUuidOrDomainException.php b/src/Exceptions/CannotChangeUuidOrDomainException.php deleted file mode 100644 index 2016862a..00000000 --- a/src/Exceptions/CannotChangeUuidOrDomainException.php +++ /dev/null @@ -1,10 +0,0 @@ -route())->middleware() ?? [])) { $tags = array_merge($tags, [ - 'tenant:' . tenant('uuid'), + 'tenant:' . tenant('id'), 'domain:' . tenant('domain'), ]); } diff --git a/src/TenancyBootstrappers/CacheTenancyBoostrapper.php b/src/TenancyBootstrappers/CacheTenancyBoostrapper.php index bfd4b2c3..007f6479 100644 --- a/src/TenancyBootstrappers/CacheTenancyBoostrapper.php +++ b/src/TenancyBootstrappers/CacheTenancyBoostrapper.php @@ -2,16 +2,26 @@ declare(strict_types=1); -namespace Stancl\Tenancy\TenancyBoostrappers; +namespace Stancl\Tenancy\TenancyBootstrappers; +use Illuminate\Cache\CacheManager; +use Illuminate\Contracts\Foundation\Application; use Stancl\Tenancy\Contracts\TenancyBootstrapper; use Stancl\Tenancy\Tenant; -class CacheTenancyBoostrapper implements TenancyBootstrapper +class CacheTenancyBootstrapper implements TenancyBootstrapper { - /** @var \Illuminate\Cache\CacheManager */ + /** @var CacheManager */ protected $originalCache; + /** @var Application */ + protected $app; + + public function __construct(Application $app) + { + $this->app = $app; + } + public function start(Tenant $tenant) { $this->originalCache = $this->originalCache ?? $this->app['cache']; diff --git a/src/TenancyBootstrappers/DatabaseTenancyBootstrapper.php b/src/TenancyBootstrappers/DatabaseTenancyBootstrapper.php index 1cfc6a45..227dbdf9 100644 --- a/src/TenancyBootstrappers/DatabaseTenancyBootstrapper.php +++ b/src/TenancyBootstrappers/DatabaseTenancyBootstrapper.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Stancl\Tenancy\TenancyBoostrappers; +namespace Stancl\Tenancy\TenancyBootstrappers; use Illuminate\Foundation\Application; use Stancl\Tenancy\Contracts\TenancyBootstrapper; diff --git a/src/TenancyBootstrappers/FilesystemTenancyBootstrapper.php b/src/TenancyBootstrappers/FilesystemTenancyBootstrapper.php index ca0a2671..12cc8293 100644 --- a/src/TenancyBootstrappers/FilesystemTenancyBootstrapper.php +++ b/src/TenancyBootstrappers/FilesystemTenancyBootstrapper.php @@ -2,8 +2,10 @@ declare(strict_types=1); -namespace Stancl\Tenancy\TenancyBoostrappers; +namespace Stancl\Tenancy\TenancyBootstrappers; +use Illuminate\Contracts\Foundation\Application; +use Illuminate\Support\Facades\Storage; use Stancl\Tenancy\Contracts\TenancyBootstrapper; use Stancl\Tenancy\Tenant; @@ -28,7 +30,7 @@ class FilesystemTenancyBootstrapper implements TenancyBootstrapper public function start(Tenant $tenant) { // todo revisit this - $suffix = $this->app['config']['tenancy.filesystem.suffix_base'] . tenant('uuid'); + $suffix = $this->app['config']['tenancy.filesystem.suffix_base'] . $tenant->id; // storage_path() $this->app->useStoragePath($this->originalPaths['path'] . "/{$suffix}"); diff --git a/src/TenancyBootstrappers/QueueTenancyBootstrapper.php b/src/TenancyBootstrappers/QueueTenancyBootstrapper.php index 0861567b..404d667e 100644 --- a/src/TenancyBootstrappers/QueueTenancyBootstrapper.php +++ b/src/TenancyBootstrappers/QueueTenancyBootstrapper.php @@ -2,8 +2,9 @@ declare(strict_types=1); -namespace Stancl\Tenancy\TenancyBoostrappers; +namespace Stancl\Tenancy\TenancyBootstrappers; +use Illuminate\Contracts\Foundation\Application; use Stancl\Tenancy\Contracts\TenancyBootstrapper; use Stancl\Tenancy\Tenant; diff --git a/src/TenancyBootstrappers/RedisTenancyBootstrapper.php b/src/TenancyBootstrappers/RedisTenancyBootstrapper.php index 7f3d4c9e..be758e2c 100644 --- a/src/TenancyBootstrappers/RedisTenancyBootstrapper.php +++ b/src/TenancyBootstrappers/RedisTenancyBootstrapper.php @@ -2,8 +2,10 @@ declare(strict_types=1); -namespace Stancl\Tenancy\TenantDatabaseManagers; +namespace Stancl\Tenancy\TenancyBootstrappers; +use Illuminate\Contracts\Foundation\Application; +use Illuminate\Support\Facades\Redis; use Stancl\Tenancy\Contracts\TenancyBootstrapper; use Stancl\Tenancy\Tenant; @@ -23,7 +25,7 @@ class RedisTenancyBootstrapper implements TenancyBootstrapper public function start(Tenant $tenant) { foreach ($this->prefixedConnections() as $connection) { - $prefix = $this->app['config']['tenancy.redis.prefix_base'] . $this->tenant['uuid']; + $prefix = $this->app['config']['tenancy.redis.prefix_base'] . $tenant['id']; $client = Redis::connection($connection)->client(); $this->originalPrefixes[$connection] = $client->getOption($client::OPT_PREFIX); diff --git a/src/TenantManager.php b/src/TenantManager.php index 16ddef54..6a5dd54f 100644 --- a/src/TenantManager.php +++ b/src/TenantManager.php @@ -219,7 +219,7 @@ class TenantManager } /** - * Return a list of TenancyBoostrappers. + * Return a list of TenancyBootstrappers. * * @param string[] $except * @return Contracts\TenancyBootstrapper[] diff --git a/tests/TenantManagerTest.php b/tests/TenantManagerTest.php index 347a8e57..74fe7bd4 100644 --- a/tests/TenantManagerTest.php +++ b/tests/TenantManagerTest.php @@ -6,7 +6,6 @@ namespace Stancl\Tenancy\Tests; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Storage; -use Stancl\Tenancy\Exceptions\CannotChangeUuidOrDomainException; class TenantManagerTest extends TestCase { @@ -228,22 +227,8 @@ class TenantManagerTest extends TestCase } /** @test */ - public function uuid_and_domain_cannot_be_changed() + public function id_cannot_be_changed() { - $tenant = tenant()->create('foo.localhost'); - - $this->expectException(CannotChangeUuidOrDomainException::class); - tenant()->put('uuid', 'foo', $tenant['uuid']); - - $this->expectException(CannotChangeUuidOrDomainException::class); - tenant()->put(['uuid' => 'foo'], null, $tenant['uuid']); - - tenancy()->init('foo.localhost'); - - $this->expectException(CannotChangeUuidOrDomainException::class); - tenant()->put('uuid', 'foo'); - - $this->expectException(CannotChangeUuidOrDomainException::class); - tenant()->put(['uuid' => 'foo']); + // todo } }