\$SuchbereichID", $json ); self::assertStringContainsString( "'Zuordnung' => \$AutomatischeVerbraucherZuordnung", $json ); } public function testManagerTrenntDiagnosevariablenUndDebugLogging(): void { $inhalt = (string) file_get_contents(__DIR__ . '/../Manager/module.php'); self::assertStringContainsString( "RegisterPropertyBoolean('DiagnosevariablenAnzeigen', false)", $inhalt ); self::assertStringContainsString("ReadPropertyBoolean('DiagnosevariablenAnzeigen')", $inhalt); self::assertStringContainsString('UnregisterVariable($ident)', $inhalt); self::assertStringContainsString("ReadPropertyBoolean('LoggingEin')", $inhalt); self::assertStringContainsString('SendDebug(', $inhalt); } public function testManagerBindetDieLizenzierungFailClosedAn(): void { $inhalt = (string) file_get_contents(__DIR__ . '/../Manager/module.php'); self::assertFileExists(__DIR__ . '/../libs/Lizenzpruefung.php'); self::assertStringContainsString( "RegisterPropertyString('Lizenzcode', '')", $inhalt ); self::assertStringContainsString( "https://license.enelix.ch/api/v1/licenses/activate", $inhalt ); self::assertStringContainsString("RegisterAttributeString('LizenzInstallationID'", $inhalt); self::assertStringContainsString("RegisterAttributeString('LizenzLease'", $inhalt); self::assertStringContainsString("RegisterAttributeString('LizenzcodeHash'", $inhalt); self::assertStringContainsString('STATUS_LIZENZ_UNGUELTIG', $inhalt); self::assertStringContainsString('aktualisiereLizenzfreigabe(', $inhalt); self::assertStringNotContainsString("'publicKey' =>", $inhalt); } public function testManagerVerwendetDieNeuenZeitdefaults(): void { $inhalt = (string) file_get_contents(__DIR__ . '/../Manager/module.php'); self::assertStringContainsString("RegisterPropertyInteger('KeepAlive', 60)", $inhalt); self::assertStringContainsString("RegisterPropertyInteger('VerbraucherTimeout', 60)", $inhalt); self::assertStringContainsString("RegisterPropertyInteger('MesswertMaxAlter', 60)", $inhalt); self::assertStringContainsString("RegisterPropertyFloat('Umschaltdifferenz', 5.0)", $inhalt); self::assertStringNotContainsString("RegisterPropertyInteger('Regelintervall'", $inhalt); self::assertStringNotContainsString("RegisterPropertyInteger('Vorgabeintervall'", $inhalt); $verbraucherBasis = (string) file_get_contents(__DIR__ . '/../libs/VerbraucherBasisTrait.php'); self::assertStringContainsString( "RegisterPropertyInteger('VorgabeTimeout', 120)", $verbraucherBasis ); } public function testManagerImplementiertDenGemeinsamenEmpfangsvertrag(): void { $inhalt = (string) file_get_contents(__DIR__ . '/../Manager/module.php'); self::assertStringContainsString('implements ManagerSchnittstelle', $inhalt); self::assertStringContainsString('VerbraucherdatenEmpfangen(array $daten)', $inhalt); self::assertStringContainsString("'ManagerdatenEmpfangen'", $inhalt); } }