CluPilotCloud/tests/Feature/Provisioning/OneOffBackupTest.php

28 lines
1.1 KiB
PHP

<?php // tests/Feature/Provisioning/OneOffBackupTest.php
use App\Services\Proxmox\FakeProxmoxClient;
it('faehrt einen einzelnen vzdump und liefert die Auftragskennung', function () {
$pve = new FakeProxmoxClient;
$upid = $pve->backupNow('pve', 201, 'local');
expect($upid)->not->toBe('')
->and($pve->backupCalls)->toHaveCount(1)
->and($pve->backupCalls[0])->toMatchArray(['node' => 'pve', 'vmid' => 201, 'storage' => 'local']);
});
it('sagt, was auf der Ablage wirklich liegt', function () {
// Der Kern: nicht "der Auftrag lief", sondern "da liegt eine Datei".
// Ein vzdump, der mit einem Fehler endet, hinterlaesst auch eine
// Auftragskennung — nur eben kein Archiv.
$pve = new FakeProxmoxClient;
$pve->backups['201'] = [['volid' => 'local:backup/vzdump-qemu-201-2026_08_04.vma.zst', 'size' => 4096]];
expect($pve->backupsFor('pve', 201, 'local'))->toHaveCount(1);
});
it('liefert eine leere Liste, wenn nichts da ist', function () {
expect((new FakeProxmoxClient)->backupsFor('pve', 999, 'local'))->toBe([]);
});