Behebt Zaehlfehler: gestartete Instanzen wurden doppelt gezaehlt
$started++ stand an zwei Stellen: nach der Uebersprungsgruendung und nach dem Dispatch. Im echten Lauf wurde jede Instanz zweimal gezaehlt. Entfernt die redundante Zaehlung nach dem Dispatch und ergaenzt zwei Tests, die die Zahlenwerte in der Abschlusszusammenfassung pruefen — diese Tests haetten den Fehler gefangen. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>feat/versandtakt
parent
d7d116e9a5
commit
6513ccdb00
|
|
@ -76,7 +76,6 @@ class ConfigureInstanceMail extends Command
|
|||
|
||||
AdvanceRunJob::dispatch($run->uuid);
|
||||
$this->info("{$instance->uuid}: Lauf {$run->id} gestartet");
|
||||
$started++;
|
||||
}
|
||||
|
||||
foreach ($skipped as $reason => $count) {
|
||||
|
|
|
|||
|
|
@ -104,3 +104,33 @@ it('ueberspringt eine Instanz mit laufendem Lauf und sagt es', function () {
|
|||
// Kein neuer Lauf angelegt
|
||||
expect(ProvisioningRun::where('pipeline', 'instance-mail')->count())->toBe(0);
|
||||
});
|
||||
|
||||
it('zaehlt die Laeufe korrekt in der Abschlusszusammenfassung', function () {
|
||||
aktiveInstanzMitHost();
|
||||
aktiveInstanzMitHost(['vmid' => 102]);
|
||||
aktiveInstanzMitHost(['vmid' => 103]);
|
||||
|
||||
// Eine Instanz ohne Host (wird uebergangen)
|
||||
Instance::factory()->create(['status' => 'active', 'host_id' => null, 'vmid' => 104]);
|
||||
|
||||
$this->artisan('clupilot:configure-instance-mail')
|
||||
// Genau 3 Laeufe, nicht 6 wegen Doppelzaehlung
|
||||
->expectsOutputToContain('3 Lauf/Läufe gestartet')
|
||||
->expectsOutputToContain('übersprungen (kein Host): 1')
|
||||
->assertSuccessful();
|
||||
});
|
||||
|
||||
it('zaehlt unter --dry-run richtig', function () {
|
||||
aktiveInstanzMitHost();
|
||||
aktiveInstanzMitHost(['vmid' => 102]);
|
||||
|
||||
// Eine Instanz ohne VMID (wird uebergangen)
|
||||
$host = Host::factory()->active()->create(['datacenter' => 'fsn', 'node' => 'pve']);
|
||||
Instance::factory()->create(['status' => 'active', 'host_id' => $host->id, 'vmid' => null]);
|
||||
|
||||
$this->artisan('clupilot:configure-instance-mail', ['--dry-run' => true])
|
||||
// Genau 2 Instanzen im Probelauf
|
||||
->expectsOutputToContain('Probelauf: 2 Instanz(en) bekämen')
|
||||
->expectsOutputToContain('übersprungen (keine VMID): 1')
|
||||
->assertSuccessful();
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in New Issue