assertIsString($entrypoint); $this->assertStringContainsString( 'runuser -u www-data -- php artisan "$@"', $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", "runuser", "-u", "www-data", "--", "php", "artisan", "app:ready", "--quiet"]', $compose ); $this->assertMatchesRegularExpression( '/snapshot_worker:.*?user: www-data/s', $compose ); $this->assertIsString($initializer); $this->assertStringContainsString( 'exec -T -u www-data app', $initializer ); $this->assertDoesNotMatchRegularExpression( '/exec -T app\s+(?:\\\\\s*)?php artisan/', $initializer ); } }