toBeArray() ->and($disk['driver'])->toBe('s3') ->and($disk['use_path_style_endpoint'])->toBeTrue(); }); it('resolves r2 credentials endpoint bucket and url from R2 env vars', function (): void { putenv('R2_ACCESS_KEY_ID=r2-key'); putenv('R2_SECRET_ACCESS_KEY=r2-secret'); putenv('R2_BUCKET=amare-media'); putenv('R2_ENDPOINT=https://accountid.r2.cloudflarestorage.com'); putenv('R2_URL=https://media.example.com'); $_ENV['R2_ACCESS_KEY_ID'] = 'r2-key'; $_ENV['R2_SECRET_ACCESS_KEY'] = 'r2-secret'; $_ENV['R2_BUCKET'] = 'amare-media'; $_ENV['R2_ENDPOINT'] = 'https://accountid.r2.cloudflarestorage.com'; $_ENV['R2_URL'] = 'https://media.example.com'; $_SERVER['R2_ACCESS_KEY_ID'] = 'r2-key'; $_SERVER['R2_SECRET_ACCESS_KEY'] = 'r2-secret'; $_SERVER['R2_BUCKET'] = 'amare-media'; $_SERVER['R2_ENDPOINT'] = 'https://accountid.r2.cloudflarestorage.com'; $_SERVER['R2_URL'] = 'https://media.example.com'; $filesystems = require config_path('filesystems.php'); $disk = $filesystems['disks']['r2']; expect($disk['key'])->toBe('r2-key') ->and($disk['secret'])->toBe('r2-secret') ->and($disk['bucket'])->toBe('amare-media') ->and($disk['endpoint'])->toBe('https://accountid.r2.cloudflarestorage.com') ->and($disk['url'])->toBe('https://media.example.com') ->and($disk['use_path_style_endpoint'])->toBeTrue() ->and($disk['visibility'])->toBe('public'); }); it('uses r2 as the default disk when FILESYSTEM_DISK is r2', function (): void { config(['filesystems.default' => 'r2']); expect(config('filesystems.default'))->toBe('r2'); });