From 150f8035d6b3f2135cc4c6a43032f7aafe6cdb7b Mon Sep 17 00:00:00 2001 From: Boy132 Date: Tue, 20 Jan 2026 10:36:32 +0100 Subject: [PATCH] fix tests --- database/Factories/BackupFactory.php | 1 - database/Factories/BackupHostFactory.php | 28 +++++++++++++++++++ .../Server/Backup/BackupAuthorizationTest.php | 9 ++++-- .../Client/Server/Backup/DeleteBackupTest.php | 7 +++-- .../Backups/DeleteBackupServiceTest.php | 15 ++++++++-- 5 files changed, 52 insertions(+), 8 deletions(-) create mode 100644 database/Factories/BackupHostFactory.php diff --git a/database/Factories/BackupFactory.php b/database/Factories/BackupFactory.php index e82528dfb..dbe5b918d 100644 --- a/database/Factories/BackupFactory.php +++ b/database/Factories/BackupFactory.php @@ -24,7 +24,6 @@ class BackupFactory extends Factory return [ 'uuid' => Uuid::uuid4()->toString(), 'name' => $this->faker->sentence(), - 'disk' => 'wings', 'is_successful' => true, 'created_at' => CarbonImmutable::now(), 'completed_at' => CarbonImmutable::now(), diff --git a/database/Factories/BackupHostFactory.php b/database/Factories/BackupHostFactory.php new file mode 100644 index 000000000..c1bcfde64 --- /dev/null +++ b/database/Factories/BackupHostFactory.php @@ -0,0 +1,28 @@ + $this->faker->colorName(), + 'schema' => 'wings', + 'configuration' => null, + ]; + } +} diff --git a/tests/Integration/Api/Client/Server/Backup/BackupAuthorizationTest.php b/tests/Integration/Api/Client/Server/Backup/BackupAuthorizationTest.php index bf6ff79a7..1ec6a16a8 100644 --- a/tests/Integration/Api/Client/Server/Backup/BackupAuthorizationTest.php +++ b/tests/Integration/Api/Client/Server/Backup/BackupAuthorizationTest.php @@ -3,6 +3,7 @@ namespace App\Tests\Integration\Api\Client\Server\Backup; use App\Models\Backup; +use App\Models\BackupHost; use App\Models\Subuser; use App\Services\Backups\DeleteBackupService; use App\Tests\Integration\Api\Client\ClientApiIntegrationTestCase; @@ -25,9 +26,11 @@ class BackupAuthorizationTest extends ClientApiIntegrationTestCase // to do anything with the backups for that server. Subuser::factory()->create(['server_id' => $server2->id, 'user_id' => $user->id]); - $backup1 = Backup::factory()->create(['server_id' => $server1->id, 'completed_at' => CarbonImmutable::now()]); - $backup2 = Backup::factory()->create(['server_id' => $server2->id, 'completed_at' => CarbonImmutable::now()]); - $backup3 = Backup::factory()->create(['server_id' => $server3->id, 'completed_at' => CarbonImmutable::now()]); + $backupHost = BackupHost::factory()->create(); + + $backup1 = Backup::factory()->create(['server_id' => $server1->id, 'backup_host_id' => $backupHost->id, 'completed_at' => CarbonImmutable::now()]); + $backup2 = Backup::factory()->create(['server_id' => $server2->id, 'backup_host_id' => $backupHost->id, 'completed_at' => CarbonImmutable::now()]); + $backup3 = Backup::factory()->create(['server_id' => $server3->id, 'backup_host_id' => $backupHost->id, 'completed_at' => CarbonImmutable::now()]); $this->instance(DeleteBackupService::class, $mock = \Mockery::mock(DeleteBackupService::class)); diff --git a/tests/Integration/Api/Client/Server/Backup/DeleteBackupTest.php b/tests/Integration/Api/Client/Server/Backup/DeleteBackupTest.php index 649c8ae6b..49683abda 100644 --- a/tests/Integration/Api/Client/Server/Backup/DeleteBackupTest.php +++ b/tests/Integration/Api/Client/Server/Backup/DeleteBackupTest.php @@ -5,6 +5,7 @@ namespace App\Tests\Integration\Api\Client\Server\Backup; use App\Enums\SubuserPermission; use App\Events\ActivityLogged; use App\Models\Backup; +use App\Models\BackupHost; use App\Repositories\Daemon\DaemonBackupRepository; use App\Tests\Integration\Api\Client\ClientApiIntegrationTestCase; use Illuminate\Http\Response; @@ -26,7 +27,8 @@ class DeleteBackupTest extends ClientApiIntegrationTestCase { [$user, $server] = $this->generateTestAccount([SubuserPermission::BackupCreate]); - $backup = Backup::factory()->create(['server_id' => $server->id]); + $backupHost = BackupHost::factory()->create(); + $backup = Backup::factory()->create(['server_id' => $server->id, 'backup_host_id' => $backupHost->id]); $this->actingAs($user)->deleteJson($this->link($backup)) ->assertStatus(Response::HTTP_FORBIDDEN); @@ -43,8 +45,9 @@ class DeleteBackupTest extends ClientApiIntegrationTestCase [$user, $server] = $this->generateTestAccount([SubuserPermission::BackupDelete]); + $backupHost = BackupHost::factory()->create(); /** @var \App\Models\Backup $backup */ - $backup = Backup::factory()->create(['server_id' => $server->id]); + $backup = Backup::factory()->create(['server_id' => $server->id, 'backup_host_id' => $backupHost->id]); $this->repository->expects('setServer->delete')->with( \Mockery::on(function ($value) use ($backup) { diff --git a/tests/Integration/Services/Backups/DeleteBackupServiceTest.php b/tests/Integration/Services/Backups/DeleteBackupServiceTest.php index 3f1f63aaf..6e2d37880 100644 --- a/tests/Integration/Services/Backups/DeleteBackupServiceTest.php +++ b/tests/Integration/Services/Backups/DeleteBackupServiceTest.php @@ -4,6 +4,7 @@ namespace App\Tests\Integration\Services\Backups; use App\Exceptions\Service\Backup\BackupLockedException; use App\Models\Backup; +use App\Models\BackupHost; use App\Repositories\Daemon\DaemonBackupRepository; use App\Services\Backups\DeleteBackupService; use App\Tests\Integration\IntegrationTestCase; @@ -15,8 +16,11 @@ class DeleteBackupServiceTest extends IntegrationTestCase public function test_locked_backup_cannot_be_deleted(): void { $server = $this->createServerModel(); + + $backupHost = BackupHost::factory()->create(); $backup = Backup::factory()->create([ 'server_id' => $server->id, + 'backup_host_id' => $backupHost->id, 'is_locked' => true, ]); @@ -28,8 +32,11 @@ class DeleteBackupServiceTest extends IntegrationTestCase public function test_failed_backup_that_is_locked_can_be_deleted(): void { $server = $this->createServerModel(); + + $backupHost = BackupHost::factory()->create(); $backup = Backup::factory()->create([ 'server_id' => $server->id, + 'backup_host_id' => $backupHost->id, 'is_locked' => true, 'is_successful' => false, ]); @@ -47,7 +54,9 @@ class DeleteBackupServiceTest extends IntegrationTestCase public function test_exception_thrown_due_to_missing_backup_is_ignored(): void { $server = $this->createServerModel(); - $backup = Backup::factory()->create(['server_id' => $server->id]); + + $backupHost = BackupHost::factory()->create(); + $backup = Backup::factory()->create(['server_id' => $server->id, 'backup_host_id' => $backupHost->id]); $mock = $this->mock(DaemonBackupRepository::class); $mock->expects('setServer->delete')->with($backup)->andThrow(new ConnectionException(code: 404)); @@ -62,7 +71,9 @@ class DeleteBackupServiceTest extends IntegrationTestCase public function test_exception_is_thrown_if_not404(): void { $server = $this->createServerModel(); - $backup = Backup::factory()->create(['server_id' => $server->id]); + + $backupHost = BackupHost::factory()->create(); + $backup = Backup::factory()->create(['server_id' => $server->id, 'backup_host_id' => $backupHost->id]); $mock = $this->mock(DaemonBackupRepository::class); $mock->expects('setServer->delete')->with($backup)->andThrow(new ConnectionException(code: 500));