dbxapp 4.1.3
CMS, Shop, Workflows und modulare Geschäftsanwendungen
Loading...
Searching...
No Matches
dbxCmsMediaMaintenancePerformance_contract_test.php
Go to the documentation of this file.
1<?php
2declare(strict_types=1);
3
4$base = dirname(__DIR__, 3);
5$cms = file_get_contents($base . '/dbx/modules/dbxContent_admin/include/dbxContent_cms.class.php');
6$process = file_get_contents($base . '/dbx/js/lib/process.js');
7
8if (!is_string($cms) || !is_string($process)) {
9 fwrite(STDERR, "Quellcode konnte nicht geladen werden.\n");
10 exit(1);
11}
12
14 'Nutzungsabgleich startet eine DB-Transaktion' => strpos($cms, '$db->begin($this->dd_media_usage)') !== false,
15 'Nutzungsabgleich committed die DB-Transaktion' => strpos($cms, '$db->commit($this->dd_media_usage)') !== false,
16 'Nutzungsabgleich kann atomar zurueckrollen' => strpos($cms, '$db->rollback($this->dd_media_usage)') !== false,
17 'Sorter werden ohne SELECT pro Insert fortgeschrieben' => strpos($cms, '$sorter_max[$sorter_key]') !== false,
18 'Wartungs-Inserts laufen ohne Trace-Nebenlast' => strpos($cms, '$db->insert($this->dd_media_usage, $insert, 0, 1, 1, 0)') !== false,
19 'SVG wird nicht faelschlich als Thumbnail-Fehler behandelt' => strpos($cms, '$this->media_thumbnail_supported($row)') !== false && strpos($cms, "return \$mime !== 'image/svg+xml'") !== false,
20 'Fehlende und veraltete Thumbnails werden erkannt' => strpos($cms, 'private function media_thumbnail_is_current($row): bool') !== false
21 && strpos($cms, '$source_time > $thumb_time') !== false
22 && strpos($cms, 'strpos($thumb_stem, $source_stem) === false') !== false,
23 'Ersetzte Thumbnails werden als verwaiste Dateien entfernt' => substr_count($cms, '$old_thumb !== \'\' && $old_thumb !== $new_thumb') >= 2,
24 'Ein Datensatz plant nicht gleichzeitig Record- und Thumbnail-Arbeit' => strpos($cms, "if (\$id > 0\n && !\$needs_record_check") !== false,
25 'Prozess transport toleriert lange Wartungsschritte' => strpos($process, 'timeout: 45000') !== false,
26 'Prozess fragt Status nach einem Timeout erneut ab' => strpos($process, 'loadIntoRoot(root, url, "retry")') !== false,
27 'Prozess begrenzt automatische Wiederholungen' => strpos($process, 'retryCount <= 3') !== false,
28];
29
31foreach ($checks as $label => $ok) {
32 if (!$ok) $failed[] = $label;
33}
34
35if ($failed) {
36 fwrite(STDERR, "Fehlgeschlagen:\n- " . implode("\n- ", $failed) . "\n");
37 exit(1);
38}
39
40echo "OK: Medienwartung schreibt atomar und die Prozessanzeige nimmt lange Schritte wieder auf.\n";
if(!is_string($cms)||!is_string($process)) $checks
exit
Definition index.php:146