28 lines
1.1 KiB
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([]);
|
|
});
|