feat(админка): connection pgsql_admin под ролью crm_admin_user (Путь А)
AdminTenantsController/AdminBillingController ходят под default-подключением; новое pgsql_admin (crm_admin_user, srv_bypass) даст им cross-tenant доступ через middleware-переключатель (следующий коммит). На dev fallback на DB_USERNAME. Test: pgsql_admin делит базовый pgsql-конфиг, роль из DB_ADMIN_*. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
use Tests\TestCase;
|
||||
|
||||
uses(TestCase::class);
|
||||
|
||||
it('defines pgsql_admin connection sharing pgsql base with dev fallback to default role', function () {
|
||||
/** @var array<string, mixed> $admin */
|
||||
$admin = config('database.connections.pgsql_admin');
|
||||
/** @var array<string, mixed> $base */
|
||||
$base = config('database.connections.pgsql');
|
||||
|
||||
expect($admin)->toBeArray();
|
||||
expect($admin['driver'])->toBe('pgsql');
|
||||
// делит базовый pgsql-конфиг (host/database/sslmode), отличается только ролью
|
||||
expect($admin['host'])->toBe($base['host']);
|
||||
expect($admin['database'])->toBe($base['database']);
|
||||
expect($admin['sslmode'])->toBe($base['sslmode']);
|
||||
// на dev/test (DB_ADMIN_USERNAME/DB_ADMIN_PASSWORD не заданы) роль падает на
|
||||
// default DB_USERNAME/DB_PASSWORD — поэтому совпадает с базовым pgsql.
|
||||
// На prod env-ключи DB_ADMIN_* указывают на crm_admin_user (отличается).
|
||||
expect($admin['username'])->toBe($base['username']);
|
||||
expect($admin['password'])->toBe($base['password']);
|
||||
});
|
||||
Reference in New Issue
Block a user