mirror of
https://github.com/archtechx/tenancy.git
synced 2025-12-12 20:34:03 +00:00
Fix first test
This commit is contained in:
parent
359766ccfa
commit
a7bb709bd4
10 changed files with 29 additions and 39 deletions
|
|
@ -60,7 +60,7 @@ return [
|
||||||
'cache' => 'Stancl\Tenancy\TenancyBootstrappers\CacheTenancyBootstrapper',
|
'cache' => 'Stancl\Tenancy\TenancyBootstrappers\CacheTenancyBootstrapper',
|
||||||
'filesystem' => 'Stancl\Tenancy\TenancyBootstrappers\FilesystemTenancyBootstrapper',
|
'filesystem' => 'Stancl\Tenancy\TenancyBootstrappers\FilesystemTenancyBootstrapper',
|
||||||
'redis' => 'Stancl\Tenancy\TenancyBootstrappers\RedisTenancyBootstrapper',
|
'redis' => 'Stancl\Tenancy\TenancyBootstrappers\RedisTenancyBootstrapper',
|
||||||
'queue' => 'Stancl\Tenancy\TenancyBoostrappers\QueueTenancyBootstrapper',
|
'queue' => 'Stancl\Tenancy\TenancyBootstrappers\QueueTenancyBootstrapper',
|
||||||
],
|
],
|
||||||
'features' => [
|
'features' => [
|
||||||
// Features are classes that provide additional functionality
|
// Features are classes that provide additional functionality
|
||||||
|
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace Stancl\Tenancy\Exceptions;
|
|
||||||
|
|
||||||
class CannotChangeUuidOrDomainException extends \Exception
|
|
||||||
{
|
|
||||||
protected $message = 'Uuid and domain cannot be changed.';
|
|
||||||
}
|
|
||||||
|
|
@ -25,7 +25,7 @@ class TelescopeTags implements Feature
|
||||||
|
|
||||||
if (in_array('tenancy', optional(request()->route())->middleware() ?? [])) {
|
if (in_array('tenancy', optional(request()->route())->middleware() ?? [])) {
|
||||||
$tags = array_merge($tags, [
|
$tags = array_merge($tags, [
|
||||||
'tenant:' . tenant('uuid'),
|
'tenant:' . tenant('id'),
|
||||||
'domain:' . tenant('domain'),
|
'domain:' . tenant('domain'),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,16 +2,26 @@
|
||||||
|
|
||||||
declare(strict_types=1);
|
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\Contracts\TenancyBootstrapper;
|
||||||
use Stancl\Tenancy\Tenant;
|
use Stancl\Tenancy\Tenant;
|
||||||
|
|
||||||
class CacheTenancyBoostrapper implements TenancyBootstrapper
|
class CacheTenancyBootstrapper implements TenancyBootstrapper
|
||||||
{
|
{
|
||||||
/** @var \Illuminate\Cache\CacheManager */
|
/** @var CacheManager */
|
||||||
protected $originalCache;
|
protected $originalCache;
|
||||||
|
|
||||||
|
/** @var Application */
|
||||||
|
protected $app;
|
||||||
|
|
||||||
|
public function __construct(Application $app)
|
||||||
|
{
|
||||||
|
$this->app = $app;
|
||||||
|
}
|
||||||
|
|
||||||
public function start(Tenant $tenant)
|
public function start(Tenant $tenant)
|
||||||
{
|
{
|
||||||
$this->originalCache = $this->originalCache ?? $this->app['cache'];
|
$this->originalCache = $this->originalCache ?? $this->app['cache'];
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Stancl\Tenancy\TenancyBoostrappers;
|
namespace Stancl\Tenancy\TenancyBootstrappers;
|
||||||
|
|
||||||
use Illuminate\Foundation\Application;
|
use Illuminate\Foundation\Application;
|
||||||
use Stancl\Tenancy\Contracts\TenancyBootstrapper;
|
use Stancl\Tenancy\Contracts\TenancyBootstrapper;
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,10 @@
|
||||||
|
|
||||||
declare(strict_types=1);
|
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\Contracts\TenancyBootstrapper;
|
||||||
use Stancl\Tenancy\Tenant;
|
use Stancl\Tenancy\Tenant;
|
||||||
|
|
||||||
|
|
@ -28,7 +30,7 @@ class FilesystemTenancyBootstrapper implements TenancyBootstrapper
|
||||||
public function start(Tenant $tenant)
|
public function start(Tenant $tenant)
|
||||||
{
|
{
|
||||||
// todo revisit this
|
// 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()
|
// storage_path()
|
||||||
$this->app->useStoragePath($this->originalPaths['path'] . "/{$suffix}");
|
$this->app->useStoragePath($this->originalPaths['path'] . "/{$suffix}");
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,9 @@
|
||||||
|
|
||||||
declare(strict_types=1);
|
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\Contracts\TenancyBootstrapper;
|
||||||
use Stancl\Tenancy\Tenant;
|
use Stancl\Tenancy\Tenant;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,10 @@
|
||||||
|
|
||||||
declare(strict_types=1);
|
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\Contracts\TenancyBootstrapper;
|
||||||
use Stancl\Tenancy\Tenant;
|
use Stancl\Tenancy\Tenant;
|
||||||
|
|
||||||
|
|
@ -23,7 +25,7 @@ class RedisTenancyBootstrapper implements TenancyBootstrapper
|
||||||
public function start(Tenant $tenant)
|
public function start(Tenant $tenant)
|
||||||
{
|
{
|
||||||
foreach ($this->prefixedConnections() as $connection) {
|
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();
|
$client = Redis::connection($connection)->client();
|
||||||
|
|
||||||
$this->originalPrefixes[$connection] = $client->getOption($client::OPT_PREFIX);
|
$this->originalPrefixes[$connection] = $client->getOption($client::OPT_PREFIX);
|
||||||
|
|
|
||||||
|
|
@ -219,7 +219,7 @@ class TenantManager
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return a list of TenancyBoostrappers.
|
* Return a list of TenancyBootstrappers.
|
||||||
*
|
*
|
||||||
* @param string[] $except
|
* @param string[] $except
|
||||||
* @return Contracts\TenancyBootstrapper[]
|
* @return Contracts\TenancyBootstrapper[]
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@ namespace Stancl\Tenancy\Tests;
|
||||||
|
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
use Illuminate\Support\Facades\Storage;
|
use Illuminate\Support\Facades\Storage;
|
||||||
use Stancl\Tenancy\Exceptions\CannotChangeUuidOrDomainException;
|
|
||||||
|
|
||||||
class TenantManagerTest extends TestCase
|
class TenantManagerTest extends TestCase
|
||||||
{
|
{
|
||||||
|
|
@ -228,22 +227,8 @@ class TenantManagerTest extends TestCase
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @test */
|
/** @test */
|
||||||
public function uuid_and_domain_cannot_be_changed()
|
public function id_cannot_be_changed()
|
||||||
{
|
{
|
||||||
$tenant = tenant()->create('foo.localhost');
|
// todo
|
||||||
|
|
||||||
$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']);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue