mirror of
https://github.com/archtechx/tenancy.git
synced 2025-12-12 19:04:02 +00:00
Add 5.8 support (#33)
This commit is contained in:
parent
725b43ce8c
commit
78fd7d43f6
7 changed files with 41 additions and 15 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -3,3 +3,4 @@ composer.lock
|
||||||
vendor/
|
vendor/
|
||||||
.vscode/
|
.vscode/
|
||||||
psysh
|
psysh
|
||||||
|
.phpunit.result.cache
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
env:
|
env:
|
||||||
- DB_USERNAME=root DB_PASSWORD="" DB_DATABASE=travis_tenancy CODECOV_TOKEN="24382d15-84e7-4a55-bea4-c4df96a24a9b"
|
- LARAVEL_VERSION="5.7.*" TESTBENCH_VERSION="~3.7"
|
||||||
|
- LARAVEL_VERSION="5.8.*" TESTBENCH_VERSION="~3.8"
|
||||||
|
|
||||||
language: php
|
language: php
|
||||||
php:
|
php:
|
||||||
- '7.2'
|
|
||||||
- '7.1'
|
- '7.1'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
@ -14,10 +14,13 @@ before_install:
|
||||||
- echo "extension = redis.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
|
- echo "extension = redis.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
|
||||||
|
|
||||||
install:
|
install:
|
||||||
|
- composer require "laravel/framework:$LARAVEL_VERSION" "orchestra/testbench:$TESTBENCH_VERSION"
|
||||||
- travis_retry composer install --no-interaction
|
- travis_retry composer install --no-interaction
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- mysql -e 'CREATE DATABASE travis_tenancy;'
|
- mysql -e 'CREATE DATABASE travis_tenancy;'
|
||||||
|
- export DB_USERNAME=root DB_PASSWORD="" DB_DATABASE=travis_tenancy CODECOV_TOKEN="24382d15-84e7-4a55-bea4-c4df96a24a9b"
|
||||||
|
- cat vendor/laravel/framework/src/Illuminate/Foundation/Application.php| grep 'const VERSION'
|
||||||
|
|
||||||
script: vendor/bin/phpunit -v --coverage-clover=coverage.xml
|
script: vendor/bin/phpunit -v --coverage-clover=coverage.xml
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Tenancy
|
# Tenancy
|
||||||
|
|
||||||
[](https://laravel.com)
|
[](https://laravel.com)
|
||||||
[](https://packagist.org/packages/stancl/tenancy)
|
[](https://packagist.org/packages/stancl/tenancy)
|
||||||
[](https://travis-ci.com/stancl/tenancy)
|
[](https://travis-ci.com/stancl/tenancy)
|
||||||
[](https://codecov.io/gh/stancl/tenancy)
|
[](https://codecov.io/gh/stancl/tenancy)
|
||||||
|
|
@ -25,6 +25,8 @@ composer require stancl/tenancy
|
||||||
|
|
||||||
This package follows [semantic versioning 2.0.0](https://semver.org). Each major release will have its own branch, so that bug fixes can be provided for older versions as well.
|
This package follows [semantic versioning 2.0.0](https://semver.org). Each major release will have its own branch, so that bug fixes can be provided for older versions as well.
|
||||||
|
|
||||||
|
Both Laravel 5.7 and 5.8 are supported.
|
||||||
|
|
||||||
### Configuring the `InitializeTenancy` middleware
|
### Configuring the `InitializeTenancy` middleware
|
||||||
|
|
||||||
The `TenancyServiceProvider` automatically adds the `tenancy` middleware group which can be assigned to routes. You only need to make sure the middleware is top priority.
|
The `TenancyServiceProvider` automatically adds the `tenancy` middleware group which can be assigned to routes. You only need to make sure the middleware is top priority.
|
||||||
|
|
|
||||||
|
|
@ -10,14 +10,14 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"require": {
|
"require": {
|
||||||
"illuminate/support": "^5.7",
|
"illuminate/support": "5.7.*||5.8.*",
|
||||||
"webpatser/laravel-uuid": "^3.0"
|
"webpatser/laravel-uuid": "^3.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"orchestra/testbench": "~3.0",
|
"vlucas/phpdotenv": "^2.2||^3.3",
|
||||||
"laravel/framework": "5.7.*",
|
|
||||||
"vlucas/phpdotenv": "^2.2",
|
|
||||||
"psy/psysh": "@stable",
|
"psy/psysh": "@stable",
|
||||||
|
"laravel/framework": "5.7.*||5.8.*",
|
||||||
|
"orchestra/testbench": "~3.7||~3.8",
|
||||||
"league/flysystem-aws-s3-v3": "~1.0"
|
"league/flysystem-aws-s3-v3": "~1.0"
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
|
|
@ -42,5 +42,7 @@
|
||||||
"Tenancy": "Stancl\\Tenancy\\TenancyFacade"
|
"Tenancy": "Stancl\\Tenancy\\TenancyFacade"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
"minimum-stability": "dev",
|
||||||
|
"prefer-stable": true
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ class CacheManagerTest extends TestCase
|
||||||
/** @test */
|
/** @test */
|
||||||
public function default_tag_is_automatically_applied()
|
public function default_tag_is_automatically_applied()
|
||||||
{
|
{
|
||||||
$this->assertArraySubset([config('tenancy.cache.tag_base') . tenant('uuid')], cache()->tags('foo')->getTags()->getNames());
|
$this->assertArrayIsSubset([config('tenancy.cache.tag_base') . tenant('uuid')], cache()->tags('foo')->getTags()->getNames());
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @test */
|
/** @test */
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ class CommandsTest extends TestCase
|
||||||
{
|
{
|
||||||
public $autoInitTenancy = false;
|
public $autoInitTenancy = false;
|
||||||
|
|
||||||
public function setUp()
|
public function setUp(): void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
|
|
@ -19,10 +19,13 @@ class CommandsTest extends TestCase
|
||||||
/** @test */
|
/** @test */
|
||||||
public function migrate_command_doesnt_change_the_db_connection()
|
public function migrate_command_doesnt_change_the_db_connection()
|
||||||
{
|
{
|
||||||
|
$this->assertFalse(Schema::hasTable('users'));
|
||||||
|
|
||||||
$old_connection_name = app(\Illuminate\Database\DatabaseManager::class)->connection()->getName();
|
$old_connection_name = app(\Illuminate\Database\DatabaseManager::class)->connection()->getName();
|
||||||
Artisan::call('tenants:migrate');
|
Artisan::call('tenants:migrate');
|
||||||
$new_connection_name = app(\Illuminate\Database\DatabaseManager::class)->connection()->getName();
|
$new_connection_name = app(\Illuminate\Database\DatabaseManager::class)->connection()->getName();
|
||||||
|
|
||||||
|
$this->assertFalse(Schema::hasTable('users'));
|
||||||
$this->assertEquals($old_connection_name, $new_connection_name);
|
$this->assertEquals($old_connection_name, $new_connection_name);
|
||||||
$this->assertNotEquals('tenant', $new_connection_name);
|
$this->assertNotEquals('tenant', $new_connection_name);
|
||||||
}
|
}
|
||||||
|
|
@ -30,9 +33,10 @@ class CommandsTest extends TestCase
|
||||||
/** @test */
|
/** @test */
|
||||||
public function migrate_command_works_without_options()
|
public function migrate_command_works_without_options()
|
||||||
{
|
{
|
||||||
|
$this->assertFalse(Schema::hasTable('users'));
|
||||||
Artisan::call('tenants:migrate');
|
Artisan::call('tenants:migrate');
|
||||||
$this->assertFalse(Schema::hasTable('users'));
|
$this->assertFalse(Schema::hasTable('users'));
|
||||||
tenancy()->init();
|
tenancy()->init('localhost');
|
||||||
$this->assertTrue(Schema::hasTable('users'));
|
$this->assertTrue(Schema::hasTable('users'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -45,7 +49,7 @@ class CommandsTest extends TestCase
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$this->assertFalse(Schema::hasTable('users'));
|
$this->assertFalse(Schema::hasTable('users'));
|
||||||
tenancy()->init();
|
tenancy()->init('localhost');
|
||||||
$this->assertFalse(Schema::hasTable('users'));
|
$this->assertFalse(Schema::hasTable('users'));
|
||||||
|
|
||||||
tenancy()->init('test.localhost');
|
tenancy()->init('test.localhost');
|
||||||
|
|
@ -57,7 +61,7 @@ class CommandsTest extends TestCase
|
||||||
{
|
{
|
||||||
Artisan::call('tenants:migrate');
|
Artisan::call('tenants:migrate');
|
||||||
$this->assertFalse(Schema::hasTable('users'));
|
$this->assertFalse(Schema::hasTable('users'));
|
||||||
tenancy()->init();
|
tenancy()->init('localhost');
|
||||||
$this->assertTrue(Schema::hasTable('users'));
|
$this->assertTrue(Schema::hasTable('users'));
|
||||||
Artisan::call('tenants:rollback');
|
Artisan::call('tenants:rollback');
|
||||||
$this->assertFalse(Schema::hasTable('users'));
|
$this->assertFalse(Schema::hasTable('users'));
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ abstract class TestCase extends \Orchestra\Testbench\TestCase
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
protected function setUp()
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
|
|
@ -48,7 +48,7 @@ abstract class TestCase extends \Orchestra\Testbench\TestCase
|
||||||
protected function getEnvironmentSetUp($app)
|
protected function getEnvironmentSetUp($app)
|
||||||
{
|
{
|
||||||
if (file_exists(__DIR__ . '/../.env')) {
|
if (file_exists(__DIR__ . '/../.env')) {
|
||||||
(new \Dotenv\Dotenv(__DIR__ . '/..'))->load();
|
$this->loadDotEnv();
|
||||||
}
|
}
|
||||||
|
|
||||||
$app['config']->set([
|
$app['config']->set([
|
||||||
|
|
@ -75,6 +75,15 @@ abstract class TestCase extends \Orchestra\Testbench\TestCase
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function loadDotEnv()
|
||||||
|
{
|
||||||
|
if (app()::VERSION > '5.8.0') {
|
||||||
|
\Dotenv\Dotenv::create(__DIR__ . '/..')->load();
|
||||||
|
} else {
|
||||||
|
(new \Dotenv\Dotenv(__DIR__ . '/..'))->load();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
protected function getPackageProviders($app)
|
protected function getPackageProviders($app)
|
||||||
{
|
{
|
||||||
return [\Stancl\Tenancy\TenancyServiceProvider::class];
|
return [\Stancl\Tenancy\TenancyServiceProvider::class];
|
||||||
|
|
@ -102,4 +111,9 @@ abstract class TestCase extends \Orchestra\Testbench\TestCase
|
||||||
// set one of these environment vars on their computer.
|
// set one of these environment vars on their computer.
|
||||||
return env('CI') && env('TRAVIS') && env('CONTINUOUS_INTEGRATION');
|
return env('CI') && env('TRAVIS') && env('CONTINUOUS_INTEGRATION');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function assertArrayIsSubset($subset, $array, string $message = ''): void
|
||||||
|
{
|
||||||
|
parent::assertTrue(array_intersect($subset, $array) == $subset, $message);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue