Installations-ID bei Manager-Updates erhalten
Tests / test (push) Successful in 45s

This commit is contained in:
dh
2026-09-22 15:06:31 +00:00
parent 693beb2263
commit 0f1e0c9fbb
4 changed files with 57 additions and 11 deletions
+16
View File
@@ -110,6 +110,22 @@ final class ManagerModulstrukturTest extends TestCase
$inhalt
);
self::assertStringContainsString("RegisterAttributeString('LizenzInstallationID'", $inhalt);
self::assertSame(
1,
preg_match('/public function Create\(\): void.*?public function ApplyChanges\(\): void/s', $inhalt, $treffer)
);
self::assertStringNotContainsString(
"WriteAttributeString('LizenzInstallationID'",
$treffer[0]
);
self::assertStringContainsString(
"parent::ApplyChanges();\n\n \$this->initialisiereLizenzInstallationID();",
$inhalt
);
self::assertSame(1, substr_count(
$inhalt,
"WriteAttributeString('LizenzInstallationID'"
));
self::assertStringContainsString("RegisterAttributeString('LizenzLease'", $inhalt);
self::assertStringContainsString("RegisterAttributeString('LizenzcodeHash'", $inhalt);
self::assertStringContainsString('STATUS_LIZENZ_UNGUELTIG', $inhalt);
+19
View File
@@ -145,6 +145,25 @@ return static function (TestContext $test): void {
return is_array($daten) ? $daten : [];
};
$lizenzInstallationID = static function () use ($test, $managerId): string {
$formular = IPS_GetConfigurationForm($managerId);
if (preg_match(
'/Installations-ID: ([0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})/i',
$formular,
$treffer
) !== 1) {
$test->fail('Das Manager-Formular enthaelt keine gueltige Installations-ID.');
}
return strtolower($treffer[1]);
};
$test->runCase('Installations-ID bleibt bei ApplyChanges stabil', static function (
TestContext $test
) use ($managerId, $lizenzInstallationID): void {
$vorher = $lizenzInstallationID();
IPS_ApplyChanges($managerId);
$test->assertSame($vorher, $lizenzInstallationID());
});
$zustandswert = static function (array $daten, int $instanzId, string $kennung) {
foreach ($daten['Verbraucher'] ?? [] as $verbraucher) {
if (($verbraucher['InstanzID'] ?? 0) !== $instanzId) {