Merge branch 'master' into develop
This commit is contained in:
commit
81143e231a
41 changed files with 303 additions and 190 deletions
|
@ -3,6 +3,8 @@
|
|||
namespace Tests\Unit\Commands\Server;
|
||||
|
||||
use Mockery as m;
|
||||
use Pterodactyl\Models\Node;
|
||||
use GuzzleHttp\Psr7\Response;
|
||||
use Pterodactyl\Models\Server;
|
||||
use Illuminate\Validation\Factory;
|
||||
use Tests\Unit\Commands\CommandTestCase;
|
||||
|
@ -38,8 +40,13 @@ class BulkPowerActionCommandTest extends CommandTestCase
|
|||
*/
|
||||
public function testSendAction()
|
||||
{
|
||||
/** @var \Pterodactyl\Models\Server[] $servers */
|
||||
$servers = factory(Server::class)->times(2)->make();
|
||||
|
||||
foreach ($servers as &$server) {
|
||||
$server->setRelation('node', factory(Node::class)->make());
|
||||
}
|
||||
|
||||
$this->repository->shouldReceive('getServersForPowerActionCount')
|
||||
->once()
|
||||
->with([], [])
|
||||
|
@ -51,7 +58,7 @@ class BulkPowerActionCommandTest extends CommandTestCase
|
|||
->andReturn($servers);
|
||||
|
||||
for ($i = 0; $i < count($servers); $i++) {
|
||||
$this->powerRepository->shouldReceive('setServer->sendSignal')
|
||||
$this->powerRepository->shouldReceive('setNode->setServer->sendSignal')
|
||||
->once()
|
||||
->with('kill')
|
||||
->andReturnNull();
|
||||
|
@ -70,6 +77,7 @@ class BulkPowerActionCommandTest extends CommandTestCase
|
|||
public function testSendWithFilters()
|
||||
{
|
||||
$server = factory(Server::class)->make();
|
||||
$server->setRelation('node', $node = factory(Node::class)->make());
|
||||
|
||||
$this->repository->shouldReceive('getServersForPowerActionCount')
|
||||
->once()
|
||||
|
@ -81,10 +89,9 @@ class BulkPowerActionCommandTest extends CommandTestCase
|
|||
->with([1, 2], [3, 4])
|
||||
->andReturn([$server]);
|
||||
|
||||
$this->powerRepository->shouldReceive('setServer->sendSignal')
|
||||
->once()
|
||||
->with('kill')
|
||||
->andReturnNull();
|
||||
$this->powerRepository->expects('setNode')->with($node)->andReturnSelf();
|
||||
$this->powerRepository->expects('setServer')->with($server)->andReturnSelf();
|
||||
$this->powerRepository->expects('sendSignal')->with('kill')->andReturn(new Response);
|
||||
|
||||
$display = $this->runCommand($this->getCommand(), [
|
||||
'action' => 'kill',
|
||||
|
@ -103,6 +110,7 @@ class BulkPowerActionCommandTest extends CommandTestCase
|
|||
public function testSendWithEmptyOptions()
|
||||
{
|
||||
$server = factory(Server::class)->make();
|
||||
$server->setRelation('node', factory(Node::class)->make());
|
||||
|
||||
$this->repository->shouldReceive('getServersForPowerActionCount')
|
||||
->once()
|
||||
|
@ -110,7 +118,7 @@ class BulkPowerActionCommandTest extends CommandTestCase
|
|||
->andReturn(1);
|
||||
|
||||
$this->repository->shouldReceive('getServersForPowerAction')->once()->with([], [])->andReturn([$server]);
|
||||
$this->powerRepository->shouldReceive('setServer->sendSignal')->once()->with('kill')->andReturnNull();
|
||||
$this->powerRepository->shouldReceive('setNode->setServer->sendSignal')->once()->with('kill')->andReturnNull();
|
||||
|
||||
$display = $this->runCommand($this->getCommand(), [
|
||||
'action' => 'kill',
|
||||
|
|
|
@ -48,43 +48,35 @@ class DatabasePasswordServiceTest extends TestCase
|
|||
|
||||
/**
|
||||
* Test that a password can be updated.
|
||||
*
|
||||
* @dataProvider useModelDataProvider
|
||||
*/
|
||||
public function testPasswordIsChanged(bool $useModel)
|
||||
public function testPasswordIsChanged()
|
||||
{
|
||||
$model = factory(Database::class)->make();
|
||||
|
||||
if (! $useModel) {
|
||||
$this->repository->shouldReceive('find')->with(1234)->once()->andReturn($model);
|
||||
}
|
||||
$this->connection->expects('transaction')->with(m::on(function ($closure) {
|
||||
return is_null($closure());
|
||||
}));
|
||||
|
||||
$this->dynamic->shouldReceive('set')->with('dynamic', $model->database_host_id)->once()->andReturnNull();
|
||||
$this->connection->shouldReceive('beginTransaction')->withNoArgs()->once()->andReturnNull();
|
||||
$this->encrypter->shouldReceive('encrypt')->with('test123')->once()->andReturn('enc123');
|
||||
|
||||
$this->encrypter->expects('encrypt')->with(m::on(function ($string) {
|
||||
preg_match_all('/[!@+=^-]/', $string, $matches, PREG_SET_ORDER);
|
||||
$this->assertTrue(count($matches) >= 2 && count($matches) <= 6, "Failed asserting that [{$string}] contains 2 to 6 special characters.");
|
||||
$this->assertTrue(strlen($string) === 24, "Failed asserting that [{$string}] is 24 characters in length.");
|
||||
|
||||
return true;
|
||||
}))->andReturn('enc123');
|
||||
|
||||
$this->repository->shouldReceive('withoutFreshModel')->withNoArgs()->once()->andReturnSelf();
|
||||
$this->repository->shouldReceive('update')->with($model->id, ['password' => 'enc123'])->once()->andReturn(true);
|
||||
|
||||
$this->repository->shouldReceive('dropUser')->with($model->username, $model->remote)->once()->andReturn(true);
|
||||
$this->repository->shouldReceive('createUser')->with($model->username, $model->remote, 'test123')->once()->andReturn(true);
|
||||
$this->repository->shouldReceive('createUser')->with($model->username, $model->remote, m::any())->once()->andReturn(true);
|
||||
$this->repository->shouldReceive('assignUserToDatabase')->with($model->database, $model->username, $model->remote)->once()->andReturn(true);
|
||||
$this->repository->shouldReceive('flush')->withNoArgs()->once()->andReturn(true);
|
||||
$this->connection->shouldReceive('commit')->withNoArgs()->once()->andReturn(true);
|
||||
|
||||
$response = $this->getService()->handle($useModel ? $model : 1234, 'test123');
|
||||
$response = $this->getService()->handle($model);
|
||||
$this->assertNotEmpty($response);
|
||||
$this->assertTrue($response);
|
||||
}
|
||||
|
||||
/**
|
||||
* Data provider to determine if a model should be passed or an int.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function useModelDataProvider(): array
|
||||
{
|
||||
return [[false], [true]];
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -60,18 +60,20 @@ class HostCreationServiceTest extends TestCase
|
|||
{
|
||||
$model = factory(DatabaseHost::class)->make();
|
||||
|
||||
$this->connection->shouldReceive('beginTransaction')->withNoArgs()->once()->andReturnNull();
|
||||
$this->encrypter->shouldReceive('encrypt')->with('test123')->once()->andReturn('enc123');
|
||||
$this->repository->shouldReceive('create')->with(m::subset([
|
||||
$this->connection->expects('transaction')->with(m::on(function ($closure) {
|
||||
return ! is_null($closure());
|
||||
}))->andReturn($model);
|
||||
|
||||
$this->encrypter->expects('encrypt')->with('test123')->andReturn('enc123');
|
||||
$this->repository->expects('create')->with(m::subset([
|
||||
'password' => 'enc123',
|
||||
'username' => $model->username,
|
||||
'node_id' => $model->node_id,
|
||||
]))->once()->andReturn($model);
|
||||
]))->andReturn($model);
|
||||
|
||||
$this->dynamic->shouldReceive('set')->with('dynamic', $model)->once()->andReturnNull();
|
||||
$this->databaseManager->shouldReceive('connection')->with('dynamic')->once()->andReturnSelf();
|
||||
$this->databaseManager->shouldReceive('select')->with('SELECT 1 FROM dual')->once()->andReturnNull();
|
||||
$this->connection->shouldReceive('commit')->withNoArgs()->once()->andReturnNull();
|
||||
$this->dynamic->expects('set')->with('dynamic', $model)->andReturnNull();
|
||||
$this->databaseManager->expects('connection')->with('dynamic')->andReturnSelf();
|
||||
$this->databaseManager->expects('select')->with('SELECT 1 FROM dual')->andReturnNull();
|
||||
|
||||
$response = $this->getService()->handle([
|
||||
'password' => 'test123',
|
||||
|
|
|
@ -60,14 +60,15 @@ class HostUpdateServiceTest extends TestCase
|
|||
{
|
||||
$model = factory(DatabaseHost::class)->make();
|
||||
|
||||
$this->encrypter->shouldReceive('encrypt')->with('test123')->once()->andReturn('enc123');
|
||||
$this->connection->shouldReceive('beginTransaction')->withNoArgs()->once()->andReturnNull();
|
||||
$this->repository->shouldReceive('update')->with(1234, ['password' => 'enc123'])->once()->andReturn($model);
|
||||
$this->connection->expects('transaction')->with(m::on(function ($closure) {
|
||||
return ! is_null($closure());
|
||||
}))->andReturn($model);
|
||||
|
||||
$this->dynamic->shouldReceive('set')->with('dynamic', $model)->once()->andReturnNull();
|
||||
$this->databaseManager->shouldReceive('connection')->with('dynamic')->once()->andReturnSelf();
|
||||
$this->databaseManager->shouldReceive('select')->with('SELECT 1 FROM dual')->once()->andReturnNull();
|
||||
$this->connection->shouldReceive('commit')->withNoArgs()->once()->andReturnNull();
|
||||
$this->encrypter->expects('encrypt')->with('test123')->andReturn('enc123');
|
||||
$this->repository->expects('update')->with(1234, ['password' => 'enc123'])->andReturn($model);
|
||||
$this->dynamic->expects('set')->with('dynamic', $model)->andReturnNull();
|
||||
$this->databaseManager->expects('connection')->with('dynamic')->andReturnSelf();
|
||||
$this->databaseManager->expects('select')->with('SELECT 1 FROM dual')->andReturnNull();
|
||||
|
||||
$response = $this->getService()->handle(1234, ['password' => 'test123']);
|
||||
$this->assertNotEmpty($response);
|
||||
|
@ -81,13 +82,14 @@ class HostUpdateServiceTest extends TestCase
|
|||
{
|
||||
$model = factory(DatabaseHost::class)->make();
|
||||
|
||||
$this->connection->shouldReceive('beginTransaction')->withNoArgs()->once()->andReturnNull();
|
||||
$this->repository->shouldReceive('update')->with(1234, ['username' => 'test'])->once()->andReturn($model);
|
||||
$this->connection->expects('transaction')->with(m::on(function ($closure) {
|
||||
return ! is_null($closure());
|
||||
}))->andReturn($model);
|
||||
|
||||
$this->dynamic->shouldReceive('set')->with('dynamic', $model)->once()->andReturnNull();
|
||||
$this->databaseManager->shouldReceive('connection')->with('dynamic')->once()->andReturnSelf();
|
||||
$this->databaseManager->shouldReceive('select')->with('SELECT 1 FROM dual')->once()->andReturnNull();
|
||||
$this->connection->shouldReceive('commit')->withNoArgs()->once()->andReturnNull();
|
||||
$this->repository->expects('update')->with(1234, ['username' => 'test'])->andReturn($model);
|
||||
$this->dynamic->expects('set')->with('dynamic', $model)->andReturnNull();
|
||||
$this->databaseManager->expects('connection')->with('dynamic')->andReturnSelf();
|
||||
$this->databaseManager->expects('select')->with('SELECT 1 FROM dual')->andReturnNull();
|
||||
|
||||
$response = $this->getService()->handle(1234, ['password' => '', 'username' => 'test']);
|
||||
$this->assertNotEmpty($response);
|
||||
|
|
|
@ -60,7 +60,7 @@ class TwoFactorSetupServiceTest extends TestCase
|
|||
$response = $this->getService()->handle($model);
|
||||
$this->assertNotEmpty($response);
|
||||
|
||||
$companyName = preg_quote(rawurlencode('Company Name'));
|
||||
$companyName = preg_quote(rawurlencode('CompanyName'));
|
||||
$email = preg_quote(rawurlencode($model->email));
|
||||
|
||||
$this->assertRegExp(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue