Add ability to update an Egg by re-uploading a file.
This commit is contained in:
parent
e2cb789b2b
commit
e01d7497f5
17 changed files with 449 additions and 23 deletions
|
@ -21,7 +21,8 @@ use Pterodactyl\Exceptions\PterodactylException;
|
|||
use Pterodactyl\Services\Eggs\Sharing\EggImporterService;
|
||||
use Pterodactyl\Contracts\Repository\EggRepositoryInterface;
|
||||
use Pterodactyl\Contracts\Repository\NestRepositoryInterface;
|
||||
use Pterodactyl\Exceptions\Service\Pack\InvalidFileUploadException;
|
||||
use Pterodactyl\Exceptions\Service\Egg\BadJsonFormatException;
|
||||
use Pterodactyl\Exceptions\Service\InvalidFileUploadException;
|
||||
use Pterodactyl\Contracts\Repository\EggVariableRepositoryInterface;
|
||||
|
||||
class EggImporterServiceTest extends TestCase
|
||||
|
@ -90,7 +91,7 @@ class EggImporterServiceTest extends TestCase
|
|||
$this->file->shouldReceive('openFile->fread')->with(100)->once()->andReturn(json_encode([
|
||||
'meta' => ['version' => 'PTDL_v1'],
|
||||
'name' => $egg->name,
|
||||
'tag' => $egg->tag,
|
||||
'author' => $egg->author,
|
||||
'variables' => [
|
||||
$variable = factory(EggVariable::class)->make(),
|
||||
],
|
||||
|
@ -165,4 +166,24 @@ class EggImporterServiceTest extends TestCase
|
|||
$this->assertEquals(trans('exceptions.nest.importer.invalid_json_provided'), $exception->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Test that an exception is thrown if bad JSON is provided.
|
||||
*/
|
||||
public function testExceptionIsThrownIfBadJsonIsProvided()
|
||||
{
|
||||
$this->file->shouldReceive('isValid')->withNoArgs()->once()->andReturn(true);
|
||||
$this->file->shouldReceive('isFile')->withNoArgs()->once()->andReturn(true);
|
||||
$this->file->shouldReceive('getSize')->withNoArgs()->once()->andReturn(100);
|
||||
$this->file->shouldReceive('openFile->fread')->with(100)->once()->andReturn('}');
|
||||
|
||||
try {
|
||||
$this->service->handle($this->file, 1234);
|
||||
} catch (PterodactylException $exception) {
|
||||
$this->assertInstanceOf(BadJsonFormatException::class, $exception);
|
||||
$this->assertEquals(trans('exceptions.nest.importer.json_error', [
|
||||
'error' => json_last_error_msg(),
|
||||
]), $exception->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Reference in a new issue