mirror of
https://github.com/InvoiceShelf/InvoiceShelf.git
synced 2026-09-02 05:10:59 +00:00
feat: add secure module marketplace runtime (#745)
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
use App\Services\Marketplace\ModuleRuntimeAutoloader;
|
||||
use Illuminate\Support\Facades\File;
|
||||
use Modules\AutoloadProbe\Providers\AutoloadProbeServiceProvider;
|
||||
|
||||
afterEach(function () {
|
||||
File::deleteDirectory(base_path('Modules/AutoloadProbe'));
|
||||
});
|
||||
|
||||
it('autoloads an installed module before Laravel package providers are registered', function () {
|
||||
$modulePath = base_path('Modules/AutoloadProbe');
|
||||
File::ensureDirectoryExists($modulePath.'/app/Providers');
|
||||
File::put($modulePath.'/module.json', json_encode(['name' => 'AutoloadProbe'], JSON_THROW_ON_ERROR));
|
||||
File::put($modulePath.'/app/Providers/AutoloadProbeServiceProvider.php', <<<'PHP'
|
||||
<?php
|
||||
|
||||
namespace Modules\AutoloadProbe\Providers;
|
||||
|
||||
class AutoloadProbeServiceProvider {}
|
||||
PHP);
|
||||
|
||||
ModuleRuntimeAutoloader::registerInstalledModules(base_path('Modules'));
|
||||
|
||||
expect(class_exists(AutoloadProbeServiceProvider::class))->toBeTrue();
|
||||
});
|
||||
Reference in New Issue
Block a user