'testing', 'APP_URL' => 'http://127.0.0.1:18097', 'APP_KEY' => 'base64:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=', 'APP_PREVIOUS_KEYS' => '', 'APP_CONFIG_CACHE' => $cache, 'DB_CONNECTION' => 'pgsql', 'DB_HOST' => '127.0.0.1', 'DB_PORT' => '55441', 'DB_DATABASE' => $target['database'], 'DB_USERNAME' => 'postgres', 'DB_PASSWORD' => '', 'DB_URL' => '', 'SESSION_DRIVER' => $sessionDriver, 'SESSION_COOKIE' => 'opportunity_resources_qa', 'CACHE_STORE' => 'array', 'QUEUE_CONNECTION' => 'sync'] as $key => $value) { putenv($key.'='.$value); $_ENV[$key] = $_SERVER[$key] = $value; } return $target; } function portalQaAssertTarget(array $target): object { $identity = DB::selectOne('SELECT current_database() AS database,inet_server_port() AS port'); if (! app()->environment('testing') || $identity->database !== $target['database'] || (int) $identity->port !== 55441 || config('database.connections.pgsql.host') !== '127.0.0.1' || config('database.connections.pgsql.url') || app()->configurationIsCached() || config('app.key') !== getenv('APP_KEY')) { throw new RuntimeException('QA configuration/actual target mismatch; refused before writes.'); } return $identity; }