CaiWuXiTong/tests/Unit/Deployment/WebProcessOwnershipTest.php
qiuxiang 454919b0c7 Revert "Merge branch 'fix/chenxi-inventory-mapping-release-20260928'"
This reverts commit c328dcbe77e114d1111c22ca22870227ad280ab7, reversing
changes made to bfbfe935eab814027d7d2328accc18a60171a712.
2026-09-28 12:00:54 +08:00

54 lines
1.8 KiB
PHP

<?php
namespace Tests\Unit\Deployment;
use Tests\TestCase;
class WebProcessOwnershipTest extends TestCase
{
public function test_container_entrypoint_runs_laravel_maintenance_as_web_user(): void
{
$entrypoint = file_get_contents(base_path('deploy/entrypoint.sh'));
$this->assertIsString($entrypoint);
$this->assertStringContainsString(
'runuser -u www-data -- php artisan "$@"',
$entrypoint
);
$this->assertStringContainsString(
'run_artisan_as_web local-bootstrap:update --no-ansi',
$entrypoint
);
$this->assertStringContainsString('assert_web_writable', $entrypoint);
$this->assertDoesNotMatchRegularExpression('/^\s*php artisan /m', $entrypoint);
}
public function test_local_worker_healthcheck_and_initialization_use_web_user(): void
{
$compose = file_get_contents(base_path('docker-compose.local.yml'));
$initializer = file_get_contents(base_path('deploy/local-init.sh'));
$this->assertIsString($compose);
$this->assertStringContainsString(
'test: ["CMD", "jiangling-healthcheck"]',
$compose
);
$this->assertStringNotContainsString('snapshot_worker:', $compose);
$this->assertIsString($initializer);
$this->assertStringContainsString(
'exec -T -u www-data app',
$initializer
);
$this->assertStringContainsString(
'php artisan local-bootstrap:update --no-ansi',
$initializer
);
$this->assertStringContainsString('docker rm -f jiangling_snapshot_worker', $initializer);
$this->assertDoesNotMatchRegularExpression(
'/exec -T app\s+(?:\\\\\s*)?php artisan/',
$initializer
);
}
}