From 73d4e88549df89b3c33b6d86ee4a9bd9994bd9f3 Mon Sep 17 00:00:00 2001 From: Dragos Protung Date: Sat, 26 Sep 2026 12:03:44 +0200 Subject: [PATCH] Autowire the bundle's Cloudinary class --- README.md | 10 +++++----- src/Resources/config/services.yaml | 4 ++++ ...bstractSpeicher210CloudinaryExtensionTestCase.php | 12 ++++++++++++ 3 files changed, 21 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 5f1409d..2350c1b 100644 --- a/README.md +++ b/README.md @@ -50,11 +50,11 @@ speicher210_cloudinary: ### Services -| Service id | Class | Autowired by | -|-------------------------------------|------------------------------------------------------|----------------------------------------------------| -| `speicher210_cloudinary.cloudinary` | `Speicher210\CloudinaryBundle\Cloudinary\Cloudinary` | `Cloudinary\Cloudinary` | -| `speicher210_cloudinary.admin` | `Speicher210\CloudinaryBundle\Cloudinary\Admin` | `Speicher210\CloudinaryBundle\Cloudinary\Admin` | -| `speicher210_cloudinary.uploader` | `Speicher210\CloudinaryBundle\Cloudinary\Uploader` | `Speicher210\CloudinaryBundle\Cloudinary\Uploader` | +| Service id | Class | Autowired by | +|-------------------------------------|------------------------------------------------------|-------------------------------------------------------------------------------| +| `speicher210_cloudinary.cloudinary` | `Speicher210\CloudinaryBundle\Cloudinary\Cloudinary` | `Speicher210\CloudinaryBundle\Cloudinary\Cloudinary`, `Cloudinary\Cloudinary` | +| `speicher210_cloudinary.admin` | `Speicher210\CloudinaryBundle\Cloudinary\Admin` | `Speicher210\CloudinaryBundle\Cloudinary\Admin` | +| `speicher210_cloudinary.uploader` | `Speicher210\CloudinaryBundle\Cloudinary\Uploader` | `Speicher210\CloudinaryBundle\Cloudinary\Uploader` | The classes extend the SDK's `Cloudinary\Cloudinary`, `Cloudinary\Api\Admin\AdminApi` and `Cloudinary\Api\Upload\UploadApi`, configured by the bundle: diff --git a/src/Resources/config/services.yaml b/src/Resources/config/services.yaml index 69bff13..4f59608 100644 --- a/src/Resources/config/services.yaml +++ b/src/Resources/config/services.yaml @@ -9,6 +9,10 @@ services: public: true factory: [ '@Speicher210\CloudinaryBundle\Factory\CloudinaryFactory', 'createCloudinary' ] + Speicher210\CloudinaryBundle\Cloudinary\Cloudinary: + alias: speicher210_cloudinary.cloudinary + public: true + Cloudinary\Cloudinary: alias: speicher210_cloudinary.cloudinary public: true diff --git a/tests/DependencyInjection/AbstractSpeicher210CloudinaryExtensionTestCase.php b/tests/DependencyInjection/AbstractSpeicher210CloudinaryExtensionTestCase.php index a9eb976..ab4241a 100644 --- a/tests/DependencyInjection/AbstractSpeicher210CloudinaryExtensionTestCase.php +++ b/tests/DependencyInjection/AbstractSpeicher210CloudinaryExtensionTestCase.php @@ -4,6 +4,7 @@ namespace Speicher210\CloudinaryBundle\Tests\DependencyInjection; +use Cloudinary\Cloudinary as SdkCloudinary; use Cloudinary\Configuration\Configuration; use Override; use PHPUnit\Framework\TestCase; @@ -60,6 +61,17 @@ public function testCloudinaryService(): void self::assertStringNotContainsString('_a=', (string) $cloudinary->image('sample')->toUrl()); } + public function testCloudinaryServiceCanBeAutowiredByTheBundleAndTheSdkClass(): void + { + $this->loadConfiguration($this->container, 'default'); + $this->container->compile(); + + $cloudinary = $this->container->get('speicher210_cloudinary.cloudinary'); + + self::assertSame($cloudinary, $this->container->get(Cloudinary::class)); + self::assertSame($cloudinary, $this->container->get(SdkCloudinary::class)); + } + public function testUploaderService(): void { $this->loadConfiguration($this->container, 'default');