35 lines
2.0 KiB
PHP
35 lines
2.0 KiB
PHP
<?php
|
|
|
|
$root = dirname(__DIR__);
|
|
if (! in_array(($argv[1] ?? ''), ['test', 'analyse'], true) || basename($root) !== 'portal-investidor') {
|
|
throw new RuntimeException('Explicit local test operation required.');
|
|
}
|
|
foreach (['APP_ENV' => 'testing', 'APP_KEY' => 'base64:'.base64_encode(str_repeat('Q', 32)),
|
|
'APP_CONFIG_CACHE' => $root.'/outputs/education-review-preparation-20261111/no-config.php',
|
|
'DB_CONNECTION' => 'pgsql', 'DB_HOST' => '127.0.0.1', 'DB_PORT' => '55441',
|
|
'DB_DATABASE' => 'simulator_fiscal_delta_20261021_test', 'DB_USERNAME' => 'investmoz_test', 'DB_PASSWORD' => '',
|
|
'DB_URL' => '', 'DATABASE_URL' => '', 'CACHE_STORE' => 'array', 'SESSION_DRIVER' => 'array',
|
|
'QUEUE_CONNECTION' => 'sync', 'MAIL_MAILER' => 'array', 'SUITECRM_ENABLED' => 'false'] as $key => $value) {
|
|
putenv($key.'='.$value);
|
|
$_ENV[$key] = $_SERVER[$key] = $value;
|
|
}
|
|
$pdo = new PDO('pgsql:host=127.0.0.1;port=55441;dbname=simulator_fiscal_delta_20261021_test', 'investmoz_test', '');
|
|
$identity = $pdo->query('select current_database() as name,inet_server_port() as port')->fetch(PDO::FETCH_ASSOC);
|
|
if ($identity['name'] !== 'simulator_fiscal_delta_20261021_test' || (int) $identity['port'] !== 55441) {
|
|
throw new RuntimeException('Isolated QA identity required.');
|
|
}
|
|
if (($argv[1] ?? '') === 'analyse') {
|
|
$argv = ['phpstan', 'analyse', '--no-progress', '--memory-limit=512M', '--configuration='.$root.'/outputs/funding-directory-20261110/phpstan.neon', 'app/Services/EducationReviews.php', 'app/Http/Controllers/EducationController.php'];
|
|
$_SERVER['argv'] = $argv;
|
|
$_SERVER['argc'] = count($argv);
|
|
require $root.'/vendor/autoload.php';
|
|
require $root.'/vendor/phpstan/phpstan/phpstan';
|
|
exit;
|
|
}
|
|
$argv = ['phpunit', '-c', 'phpunit.investmoz.xml', '--do-not-cache-result', 'tests/Feature/EducationReviewPreparationTest.php'];
|
|
$argc = count($argv);
|
|
$_SERVER['argv'] = $argv;
|
|
$_SERVER['argc'] = $argc;
|
|
require $root.'/vendor/autoload.php';
|
|
require $root.'/vendor/phpunit/phpunit/phpunit';
|