fix: create image dynamically in test to omit image fixture from repo

This commit is contained in:
Björn Fromme
2026-03-15 12:42:28 +01:00
parent 24d02c0776
commit 9e0bacaa45
+15 -6
View File
@@ -5,22 +5,31 @@ namespace App\Tests\Service\Pdf;
use App\Service\Pdf\Sanitizer; use App\Service\Pdf\Sanitizer;
use PHPUnit\Framework\TestCase; use PHPUnit\Framework\TestCase;
use Symfony\Component\Filesystem\Filesystem; use Symfony\Component\Filesystem\Filesystem;
use Symfony\Component\Process\Process;
class SanitizerTest extends TestCase class SanitizerTest extends TestCase
{ {
public function testAcceptsImages(): void public function testAcceptsImages(): void
{ {
$tempDir = realpath(__DIR__.'/../../../temp'); $tempDir = realpath(__DIR__.'/../../../temp');
$sourceFilepath = realpath(__DIR__.'/../../Resources/upload.jpg'); $sourceFilepath = $tempDir.'/upload.png';
$targetFilepath = $tempDir.'/test.pdf'; $targetFilepath = $tempDir.'/test-image';
$sanitizer = new Sanitizer('/usr/bin/gs', '/usr/bin/convert', $tempDir); $sanitizer = new Sanitizer('/usr/bin/gs', '/usr/bin/convert', $tempDir);
$sanitizer->sanitizeFile($sourceFilepath, $targetFilepath); $process = new Process(['/usr/bin/convert', '-size', '1x1', 'xc:white', $sourceFilepath]);
$process->run();
$this->assertFileExists($targetFilepath); if (false === $process->isSuccessful()) {
$this->markTestSkipped('Unable to create image fixture: '.$process->getErrorOutput());
}
(new Filesystem())->remove($targetFilepath); $sanitizedFilepath = $sanitizer->sanitizeFile($sourceFilepath, $targetFilepath, false);
$this->assertSame($targetFilepath.'.pdf', $sanitizedFilepath);
$this->assertFileExists($sanitizedFilepath);
(new Filesystem())->remove([$sourceFilepath, $sanitizedFilepath]);
} }
public function testAcceptsPdfs(): void public function testAcceptsPdfs(): void
@@ -31,7 +40,7 @@ class SanitizerTest extends TestCase
$sanitizer = new Sanitizer('/usr/bin/gs', '/usr/bin/convert', $tempDir); $sanitizer = new Sanitizer('/usr/bin/gs', '/usr/bin/convert', $tempDir);
$sanitizer->sanitizeFile($sourceFilepath, $targetFilepath); $sanitizer->sanitizeFile($sourceFilepath, $targetFilepath, false);
$this->assertFileExists($targetFilepath); $this->assertFileExists($targetFilepath);