1
1
mirror of https://github.com/pterodactyl/panel.git synced 2024-10-27 20:32:28 +01:00

More permission removal cleanup

This commit is contained in:
Dane Everitt 2018-01-14 12:11:04 -06:00
parent ad3a954256
commit 14f9e1ad43
No known key found for this signature in database
GPG Key ID: EEA66103B3D71F53
2 changed files with 9 additions and 72 deletions

View File

@ -14,6 +14,15 @@ class ApiKey extends Model implements CleansAttributes, ValidableContract
{
use Eloquence, Validable;
/**
* Different API keys that can exist on the system.
*/
const TYPE_NONE = 0;
const TYPE_USER = 1;
const TYPE_APPLICATION = 2;
const TYPE_DAEMON_USER = 3;
const TYPE_DAEMON_APPLICATION = 4;
/**
* The length of API key identifiers.
*/
@ -124,14 +133,4 @@ class ApiKey extends Model implements CleansAttributes, ValidableContract
{
return app()->make(Encrypter::class)->decrypt($this->token);
}
/**
* Gets the permissions associated with a key.
*
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function permissions()
{
return $this->hasMany(APIPermission::class, 'key_id');
}
}

View File

@ -1,62 +0,0 @@
<?php
/**
* Pterodactyl - Panel
* Copyright (c) 2015 - 2017 Dane Everitt <dane@daneeveritt.com>.
*
* This software is licensed under the terms of the MIT license.
* https://opensource.org/licenses/MIT
*/
namespace Tests\Unit\Services;
use Mockery as m;
use Tests\TestCase;
use Pterodactyl\Models\APIPermission;
use Pterodactyl\Services\Api\PermissionService;
use Pterodactyl\Contracts\Repository\ApiPermissionRepositoryInterface;
class PermissionServiceTest extends TestCase
{
/**
* @var \Pterodactyl\Contracts\Repository\ApiPermissionRepositoryInterface
*/
protected $repository;
/**
* @var \Pterodactyl\Services\Api\PermissionService
*/
protected $service;
/**
* Setup tests.
*/
public function setUp()
{
parent::setUp();
$this->repository = m::mock(ApiPermissionRepositoryInterface::class);
$this->service = new PermissionService($this->repository);
}
/**
* Test that a new API permission can be assigned to a key.
*/
public function test_create_function()
{
$this->repository->shouldReceive('withoutFreshModel')->withNoArgs()->once()->andReturnSelf()
->shouldReceive('create')->with(['key_id' => 1, 'permission' => 'test-permission'])
->once()->andReturn(true);
$this->assertTrue($this->service->create(1, 'test-permission'));
}
/**
* Test that function returns an array of all the permissions available as defined on the model.
*/
public function test_get_permissions_function()
{
$this->repository->shouldReceive('getModel')->withNoArgs()->once()->andReturn(new APIPermission());
$this->assertEquals(APIPermission::CONST_PERMISSIONS, $this->service->getPermissions());
}
}