assertStringContainsString( 'FROM php:8.3-apache-bookworm@sha256:fa8852a2e01747ffe8c8768bfd6bbc2f296f974aa0de90ee157a66664996d263 AS php-base', $dockerfile, ); $this->assertStringContainsString( 'FROM composer:2.8@sha256:5248900ab8b5f7f880c2d62180e40960cd87f60149ec9a1abfd62ac72a02577c AS composer-bin', $dockerfile, ); $this->assertStringContainsString('Acquire::Retries=3', $dockerfile); $this->assertStringContainsString('COMPOSER_MAX_PARALLEL_HTTP=4', $dockerfile); $this->assertStringContainsString('if [ "$attempt" -ge 3 ]', $dockerfile); } public function testWorkstationDeploymentRetainsReusableBuildLayers(): void { $script = file_get_contents(base_path('scripts/deploy-from-workstation.ps1')); $this->assertStringContainsString("[string]\$BuildCacheMaxUsedSpace = '24GB'", $script); $this->assertStringContainsString('[int]$BuildCacheMaxAgeHours = 720', $script); $this->assertStringContainsString('--max-used-space $BuildCacheMaxUsedSpace', $script); $this->assertStringContainsString('--keep-storage $BuildCacheMaxUsedSpace', $script); $this->assertStringNotContainsString('--max-used-space 3GB', $script); $this->assertStringNotContainsString('--keep-storage 3GB', $script); } }