Don't allow allocations to be deleted by users if no limit is defined; closes #3703
This commit is contained in:
parent
c751ce7f44
commit
e88d24e0db
7 changed files with 68 additions and 19 deletions
|
@ -19,6 +19,7 @@ class DeleteAllocationTest extends ClientApiIntegrationTestCase
|
|||
{
|
||||
/** @var \Pterodactyl\Models\Server $server */
|
||||
[$user, $server] = $this->generateTestAccount($permission);
|
||||
$server->update(['allocation_limit' => 2]);
|
||||
|
||||
/** @var \Pterodactyl\Models\Allocation $allocation */
|
||||
$allocation = Allocation::factory()->create([
|
||||
|
@ -60,6 +61,7 @@ class DeleteAllocationTest extends ClientApiIntegrationTestCase
|
|||
{
|
||||
/** @var \Pterodactyl\Models\Server $server */
|
||||
[$user, $server] = $this->generateTestAccount();
|
||||
$server->update(['allocation_limit' => 2]);
|
||||
|
||||
$this->actingAs($user)->deleteJson($this->link($server->allocation))
|
||||
->assertStatus(Response::HTTP_BAD_REQUEST)
|
||||
|
@ -67,6 +69,22 @@ class DeleteAllocationTest extends ClientApiIntegrationTestCase
|
|||
->assertJsonPath('errors.0.detail', 'You cannot delete the primary allocation for this server.');
|
||||
}
|
||||
|
||||
public function testAllocationCannotBeDeletedIfServerLimitIsNotDefined()
|
||||
{
|
||||
[$user, $server] = $this->generateTestAccount();
|
||||
|
||||
/** @var \Pterodactyl\Models\Allocation $allocation */
|
||||
$allocation = Allocation::factory()->forServer($server)->create(['notes' => 'Test notes']);
|
||||
|
||||
$this->actingAs($user)->deleteJson($this->link($allocation))
|
||||
->assertStatus(400)
|
||||
->assertJsonPath('errors.0.detail', 'You cannot delete allocations for this server: no allocation limit is set.');
|
||||
|
||||
$allocation->refresh();
|
||||
$this->assertNotNull($allocation->notes);
|
||||
$this->assertEquals($server->id, $allocation->server_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test that an allocation cannot be deleted if it does not belong to the server instance.
|
||||
*/
|
||||
|
|
|
@ -137,9 +137,4 @@ class NetworkAllocationControllerTest extends ClientApiIntegrationTestCase
|
|||
{
|
||||
return [[[]], [[Permission::ACTION_ALLOCATION_UPDATE]]];
|
||||
}
|
||||
|
||||
public function deletePermissionsDataProvider()
|
||||
{
|
||||
return [[[]], [[Permission::ACTION_ALLOCATION_DELETE]]];
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue