Path: blob/1.0-develop/tests/Unit/Services/Acl/Api/AdminAclTest.php
10277 views
<?php12namespace Pterodactyl\Tests\Unit\Services\Acl\Api;34use Pterodactyl\Models\ApiKey;5use Pterodactyl\Tests\TestCase;6use Pterodactyl\Services\Acl\Api\AdminAcl;78class AdminAclTest extends TestCase9{10/**11* Test that permissions return the expects values.12*/13#[\PHPUnit\Framework\Attributes\DataProvider('permissionsDataProvider')]14public function testPermissions(int $permission, int $check, bool $outcome)15{16$this->assertSame($outcome, AdminAcl::can($permission, $check));17}1819/**20* Test that checking against a model works as expected.21*/22public function testCheck()23{24$model = ApiKey::factory()->make(['r_servers' => AdminAcl::READ | AdminAcl::WRITE]);2526$this->assertTrue(AdminAcl::check($model, AdminAcl::RESOURCE_SERVERS, AdminAcl::WRITE));27}2829/**30* Provide valid and invalid permissions combos for testing.31*/32public static function permissionsDataProvider(): array33{34return [35[AdminAcl::READ, AdminAcl::READ, true],36[AdminAcl::READ | AdminAcl::WRITE, AdminAcl::READ, true],37[AdminAcl::READ | AdminAcl::WRITE, AdminAcl::WRITE, true],38[AdminAcl::WRITE, AdminAcl::WRITE, true],39[AdminAcl::READ, AdminAcl::WRITE, false],40[AdminAcl::NONE, AdminAcl::READ, false],41[AdminAcl::NONE, AdminAcl::WRITE, false],42];43}44}454647