Fix-Runde 1: der WG-Endpunkt-Zweig der Ausnahmeliste bekommt einen Test
Die drei hart verdrahteten Adressen waren belegt, der vierte Eintrag — die eigene öffentliche Adresse aus CLUPILOT_WG_ENDPOINT — lief in der Testumgebung nie durch, weil die Variable dort leer ist. Setzt die Einstellung, prüft die Ausnahme UND die Gegenprobe am Nachbarn in derselben Zeile, damit der Test nicht bloß beweist, dass gar nichts mehr gesperrt wird. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>claude/nice-moser-521659
parent
fc3ff3cb28
commit
09cb8aea5c
|
|
@ -67,3 +67,19 @@ it('haelt eine laufende Sperre nicht zweimal', function () {
|
||||||
expect($dienst->forInstance($instance, '203.0.113.7', 10))->toBeNull()
|
expect($dienst->forInstance($instance, '203.0.113.7', 10))->toBeNull()
|
||||||
->and(SecurityBlock::count())->toBe(1);
|
->and(SecurityBlock::count())->toBe(1);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('sperrt niemals die eigene oeffentliche Adresse des CluPilot-Servers', function () {
|
||||||
|
// Der vierte Eintrag der Ausnahmeliste, und der einzige, der nicht hart
|
||||||
|
// verdrahtet ist. Ohne diesen Test bliebe er unbelegt — ausgerechnet der,
|
||||||
|
// der verhindert, dass sich der Server selbst aussperrt.
|
||||||
|
config()->set('provisioning.wireguard.endpoint', '203.0.113.10:51820');
|
||||||
|
|
||||||
|
$host = Host::factory()->create();
|
||||||
|
|
||||||
|
expect(app(BlockAddress::class)->forHost($host, '203.0.113.10', 999))->toBeNull()
|
||||||
|
->and(SecurityBlock::count())->toBe(0);
|
||||||
|
|
||||||
|
// Und die Gegenprobe, damit der Test nicht bloss beweist, dass gar nichts
|
||||||
|
// gesperrt wird: der Nachbar in derselben Zeile ist NICHT ausgenommen.
|
||||||
|
expect(app(BlockAddress::class)->forHost($host, '203.0.113.11', 999))->not->toBeNull();
|
||||||
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue