From 59531a237205e4b926cf11959fc2d416abbaa59c Mon Sep 17 00:00:00 2001 From: Sergei Predvoditelev Date: Sat, 5 Sep 2026 14:37:54 +0300 Subject: [PATCH] Move injector invocation into `CallableFactory` --- docs/guide/en/configuration-manual.md | 9 +++---- src/Message/Handler/HandlerResolver.php | 10 +------ src/Middleware/CallableFactory.php | 26 ++++++++++++++++--- .../Consume/ConsumeMiddlewareFactory.php | 13 +++------- .../FailureMiddlewareFactory.php | 13 +++------- src/Middleware/MiddlewareFactory.php | 13 ++++++++-- src/Middleware/Push/PushMiddlewareFactory.php | 12 +++------ tests/Benchmark/QueueBench.php | 8 +++--- tests/Integration/MiddlewareTest.php | 13 ++-------- tests/TestCase.php | 16 +++--------- tests/Unit/Middleware/CallableFactoryTest.php | 2 +- .../Consume/MiddlewareDispatcherTest.php | 4 +-- .../Consume/MiddlewareFactoryTest.php | 3 +-- .../MiddlewareDispatcherTest.php | 4 +-- .../FailureHandling/MiddlewareFactoryTest.php | 3 +-- .../Push/MiddlewareDispatcherTest.php | 4 +-- .../Middleware/Push/MiddlewareFactoryTest.php | 3 +-- 17 files changed, 65 insertions(+), 91 deletions(-) diff --git a/docs/guide/en/configuration-manual.md b/docs/guide/en/configuration-manual.md index 63207220..2938b5ff 100644 --- a/docs/guide/en/configuration-manual.md +++ b/docs/guide/en/configuration-manual.md @@ -17,7 +17,6 @@ use Psr\Container\ContainerInterface; use Psr\Log\NullLogger; use Yiisoft\Queue\Cli\SimpleLoop; use Yiisoft\Queue\Message\Handler\HandlerResolver; -use Yiisoft\Queue\Middleware\CallableFactory; use Yiisoft\Queue\Middleware\Consume\ConsumeMiddlewareDispatcher; use Yiisoft\Queue\Middleware\Consume\ConsumeMiddlewareFactory; use Yiisoft\Queue\Middleware\FailureHandling\FailureMiddlewareDispatcher; @@ -39,20 +38,18 @@ $handlers = [ DownloadFileMessage::TYPE => [FileDownloader::class, 'handle'], ]; -$callableFactory = new CallableFactory($container); - // Create middleware dispatchers $consumeMiddlewareDispatcher = new ConsumeMiddlewareDispatcher( - new ConsumeMiddlewareFactory($container, $callableFactory), + new ConsumeMiddlewareFactory($container), ); $failureMiddlewareDispatcher = new FailureMiddlewareDispatcher( - new FailureMiddlewareFactory($container, $callableFactory), + new FailureMiddlewareFactory($container), [], ); $pushMiddlewareConfig = new PushMiddlewareConfig( - new PushMiddlewareFactory($container, $callableFactory), + new PushMiddlewareFactory($container), ); // Create worker diff --git a/src/Message/Handler/HandlerResolver.php b/src/Message/Handler/HandlerResolver.php index e6b51f10..886f8773 100644 --- a/src/Message/Handler/HandlerResolver.php +++ b/src/Message/Handler/HandlerResolver.php @@ -6,8 +6,6 @@ use Psr\Container\ContainerExceptionInterface; use Psr\Container\ContainerInterface; -use Yiisoft\Injector\Injector; -use Yiisoft\Queue\Message\MessageInterface; use Yiisoft\Queue\Middleware\CallableFactory; use Yiisoft\Queue\Middleware\InvalidCallableConfigurationException; @@ -27,7 +25,6 @@ final class HandlerResolver */ private array $cache = []; - private readonly Injector $injector; private readonly CallableFactory $callableFactory; /** @@ -43,8 +40,7 @@ public function __construct( private readonly ContainerInterface $container, ?ContainerInterface $callableDependencyContainer = null, ) { - $this->injector = new Injector($callableDependencyContainer ?? $this->container); - $this->callableFactory = new CallableFactory($this->container); + $this->callableFactory = new CallableFactory($this->container, $callableDependencyContainer); } /** @@ -136,10 +132,6 @@ private function createCallableHandler(string $messageType, mixed $definition): throw new InvalidHandlerConfigurationException($messageType, $exception->getMessage(), $exception); } - $callable = function (MessageInterface $message) use ($callable): void { - $this->injector->invoke($callable, [$message]); - }; - return new CallableHandler($callable); } } diff --git a/src/Middleware/CallableFactory.php b/src/Middleware/CallableFactory.php index d06a93da..ddd46b1d 100644 --- a/src/Middleware/CallableFactory.php +++ b/src/Middleware/CallableFactory.php @@ -8,6 +8,7 @@ use Psr\Container\ContainerInterface; use ReflectionException; use ReflectionMethod; +use Yiisoft\Injector\Injector; use function is_array; use function is_callable; @@ -15,23 +16,42 @@ use function is_string; /** - * @internal Create real callable listener from configuration. + * @internal Create real callable listener from configuration, ready to be invoked with dependency injection. */ final class CallableFactory { + private readonly Injector $injector; + public function __construct( private readonly ContainerInterface $container, - ) {} + ?ContainerInterface $dependencyContainer = null, + ) { + $this->injector = new Injector($dependencyContainer ?? $container); + } /** - * Create a real callable listener from definition. + * Create a real callable listener from definition. Calling the returned callable invokes the resolved listener, + * injecting its dependencies by type hinting. * * @param mixed $definition Definition to create listener from. * * @throws InvalidCallableConfigurationException Failed to create listener. * @throws ContainerExceptionInterface Error while retrieving the entry from container. + * + * @psalm-return callable(mixed...): mixed */ public function create(mixed $definition): callable + { + $callable = $this->resolve($definition); + + return fn(mixed ...$params): mixed => $this->injector->invoke($callable, $params); + } + + /** + * @throws InvalidCallableConfigurationException Failed to resolve listener. + * @throws ContainerExceptionInterface Error while retrieving the entry from container. + */ + private function resolve(mixed $definition): callable { if ($definition === null) { throw new InvalidCallableConfigurationException(); diff --git a/src/Middleware/Consume/ConsumeMiddlewareFactory.php b/src/Middleware/Consume/ConsumeMiddlewareFactory.php index 66d31798..a61cd794 100644 --- a/src/Middleware/Consume/ConsumeMiddlewareFactory.php +++ b/src/Middleware/Consume/ConsumeMiddlewareFactory.php @@ -4,8 +4,6 @@ namespace Yiisoft\Queue\Middleware\Consume; -use Psr\Container\ContainerInterface; -use Yiisoft\Injector\Injector; use Yiisoft\Queue\Middleware\InvalidMiddlewareDefinitionException; use Yiisoft\Queue\Middleware\MiddlewareFactory; @@ -60,20 +58,17 @@ protected function getInterfaceName(): string protected function wrapMiddleware(callable $callback): ConsumeMiddlewareInterface { - $container = $this->container; - return new class ($callback, $container) implements ConsumeMiddlewareInterface { + return new class ($callback) implements ConsumeMiddlewareInterface { private $callback; - public function __construct( - callable $callback, - private readonly ContainerInterface $container, - ) { + public function __construct(callable $callback) + { $this->callback = $callback; } public function processConsume(ConsumeRequest $request, ConsumeHandlerInterface $handler): ConsumeRequest { - $response = (new Injector($this->container))->invoke($this->callback, [$request, $handler]); + $response = ($this->callback)($request, $handler); if ($response instanceof ConsumeRequest) { return $response; } diff --git a/src/Middleware/FailureHandling/FailureMiddlewareFactory.php b/src/Middleware/FailureHandling/FailureMiddlewareFactory.php index 501131e7..bcb5f17f 100644 --- a/src/Middleware/FailureHandling/FailureMiddlewareFactory.php +++ b/src/Middleware/FailureHandling/FailureMiddlewareFactory.php @@ -5,9 +5,7 @@ namespace Yiisoft\Queue\Middleware\FailureHandling; use Psr\Container\ContainerExceptionInterface; -use Psr\Container\ContainerInterface; use Psr\Container\NotFoundExceptionInterface; -use Yiisoft\Injector\Injector; use Yiisoft\Queue\Middleware\InvalidMiddlewareDefinitionException; use Yiisoft\Queue\Middleware\MiddlewareFactory; @@ -64,20 +62,17 @@ protected function getInterfaceName(): string protected function wrapMiddleware(callable $callback): FailureMiddlewareInterface { - $container = $this->container; - return new class ($callback, $container) implements FailureMiddlewareInterface { + return new class ($callback) implements FailureMiddlewareInterface { private $callback; - public function __construct( - callable $callback, - private readonly ContainerInterface $container, - ) { + public function __construct(callable $callback) + { $this->callback = $callback; } public function processFailure(FailureHandlingRequest $request, FailureHandlerInterface $handler): FailureHandlingRequest { - $response = (new Injector($this->container))->invoke($this->callback, [$request, $handler]); + $response = ($this->callback)($request, $handler); if ($response instanceof FailureHandlingRequest) { return $response; } diff --git a/src/Middleware/MiddlewareFactory.php b/src/Middleware/MiddlewareFactory.php index b0289284..32142051 100644 --- a/src/Middleware/MiddlewareFactory.php +++ b/src/Middleware/MiddlewareFactory.php @@ -21,10 +21,19 @@ */ abstract class MiddlewareFactory { + private readonly CallableFactory $callableFactory; + + /** + * @param ContainerInterface $container Container used to resolve middleware. + * @param ContainerInterface|null $callableDependencyContainer Container used to resolve callable middleware + * dependencies. If not set, the main container is used. + */ public function __construct( protected readonly ContainerInterface $container, - private readonly CallableFactory $callableFactory, - ) {} + ?ContainerInterface $callableDependencyContainer = null, + ) { + $this->callableFactory = new CallableFactory($container, $callableDependencyContainer); + } /** * @param callable|array|string $definition Middleware definition in one of the following formats: diff --git a/src/Middleware/Push/PushMiddlewareFactory.php b/src/Middleware/Push/PushMiddlewareFactory.php index 967b274c..de70f488 100644 --- a/src/Middleware/Push/PushMiddlewareFactory.php +++ b/src/Middleware/Push/PushMiddlewareFactory.php @@ -4,8 +4,6 @@ namespace Yiisoft\Queue\Middleware\Push; -use Psr\Container\ContainerInterface; -use Yiisoft\Injector\Injector; use Yiisoft\Queue\Message\MessageInterface; use Yiisoft\Queue\Middleware\InvalidMiddlewareDefinitionException; use Yiisoft\Queue\Middleware\MiddlewareFactory; @@ -68,19 +66,17 @@ protected function getInterfaceName(): string protected function wrapMiddleware(callable $callback): PushMiddlewareInterface { - return new class ($callback, $this->container) implements PushMiddlewareInterface { + return new class ($callback) implements PushMiddlewareInterface { private $callback; - public function __construct( - callable $callback, - private readonly ContainerInterface $container, - ) { + public function __construct(callable $callback) + { $this->callback = $callback; } public function processPush(MessageInterface $message, PushHandlerInterface $handler): MessageInterface { - $response = (new Injector($this->container))->invoke($this->callback, [$message, $handler]); + $response = ($this->callback)($message, $handler); if ($response instanceof MessageInterface) { return $response; } diff --git a/tests/Benchmark/QueueBench.php b/tests/Benchmark/QueueBench.php index d3a75ca4..c5bc691f 100644 --- a/tests/Benchmark/QueueBench.php +++ b/tests/Benchmark/QueueBench.php @@ -12,7 +12,6 @@ use Yiisoft\Queue\Message\GenericMessage; use Yiisoft\Queue\Message\Serializer\JsonMessageEncoder; use Yiisoft\Queue\Message\Serializer\MessageSerializer; -use Yiisoft\Queue\Middleware\CallableFactory; use Yiisoft\Queue\Middleware\Consume\ConsumeMiddlewareDispatcher; use Yiisoft\Queue\Middleware\Consume\ConsumeMiddlewareFactory; use Yiisoft\Queue\Middleware\FailureHandling\FailureEnvelope; @@ -39,14 +38,13 @@ final class QueueBench public function __construct() { $container = new SimpleContainer(); - $callableFactory = new CallableFactory($container); $logger = new NullLogger(); $worker = new Worker( $logger, - new ConsumeMiddlewareDispatcher(new ConsumeMiddlewareFactory($container, $callableFactory)), + new ConsumeMiddlewareDispatcher(new ConsumeMiddlewareFactory($container)), new FailureMiddlewareDispatcher( - new FailureMiddlewareFactory($container, $callableFactory), + new FailureMiddlewareFactory($container), [], ), new HandlerResolver( @@ -61,7 +59,7 @@ public function __construct() $this->producer = new AsyncQueueProducer( $logger, - new PushMiddlewareConfig(new PushMiddlewareFactory($container, $callableFactory)), + new PushMiddlewareConfig(new PushMiddlewareFactory($container)), $this->adapter, ); $this->consumer = new QueueConsumer($worker, new SimpleLoop(0), $logger, $this->adapter); diff --git a/tests/Integration/MiddlewareTest.php b/tests/Integration/MiddlewareTest.php index 50d4e7bb..55e906bd 100644 --- a/tests/Integration/MiddlewareTest.php +++ b/tests/Integration/MiddlewareTest.php @@ -12,7 +12,6 @@ use Yiisoft\Test\Support\Log\SimpleLogger; use Yiisoft\Queue\Message\GenericMessage; use Yiisoft\Queue\Message\MessageInterface; -use Yiisoft\Queue\Middleware\CallableFactory; use Yiisoft\Queue\Middleware\Consume\ConsumeMiddlewareDispatcher; use Yiisoft\Queue\Middleware\Consume\ConsumeMiddlewareFactory; use Yiisoft\Queue\Middleware\FailureHandling\FailureFinalHandler; @@ -47,9 +46,6 @@ public function testFullStackPush(): void $pushMiddlewareConfig = new PushMiddlewareConfig( new PushMiddlewareFactory( $this->createMock(ContainerInterface::class), - new CallableFactory( - $this->createMock(ContainerInterface::class), - ), ), [ new TestMiddleware('common 1'), @@ -85,21 +81,17 @@ public function testFullStackConsume(): void 'common 2', ]; $container = new SimpleContainer(); - $callableFactory = new CallableFactory($container); $consumeMiddlewareDispatcher = new ConsumeMiddlewareDispatcher( new ConsumeMiddlewareFactory( $this->createMock(ContainerInterface::class), - new CallableFactory( - $this->createMock(ContainerInterface::class), - ), ), new TestMiddleware('common 1'), new TestMiddleware('common 2'), ); $failureMiddlewareDispatcher = new FailureMiddlewareDispatcher( - new FailureMiddlewareFactory($container, $callableFactory), + new FailureMiddlewareFactory($container), [], ); @@ -125,7 +117,6 @@ public function testFullStackFailure(): void $queueCallback = static fn(MessageInterface $message): MessageInterface => $message; $queue = $this->createMock(QueueProducerInterface::class); $container = new SimpleContainer([SendAgainMiddleware::class => new SendAgainMiddleware('test-container', 1, $queue)]); - $callableFactory = new CallableFactory($container); $queue->expects(self::exactly(7))->method('push')->willReturnCallback($queueCallback); $queue->method('getQueueName')->willReturn('simple'); @@ -154,7 +145,7 @@ public function testFullStackFailure(): void ], ]; $dispatcher = new FailureMiddlewareDispatcher( - new FailureMiddlewareFactory($container, $callableFactory), + new FailureMiddlewareFactory($container), $middlewares, ); diff --git a/tests/TestCase.php b/tests/TestCase.php index eef5914d..8660c167 100644 --- a/tests/TestCase.php +++ b/tests/TestCase.php @@ -14,7 +14,6 @@ use Yiisoft\Queue\Cli\LoopInterface; use Yiisoft\Queue\Cli\SimpleLoop; use Yiisoft\Queue\DefaultQueue; -use Yiisoft\Queue\Middleware\CallableFactory; use Yiisoft\Queue\Middleware\Consume\ConsumeMiddlewareDispatcher; use Yiisoft\Queue\Middleware\Consume\ConsumeMiddlewareFactory; use Yiisoft\Queue\Middleware\FailureHandling\FailureMiddlewareDispatcher; @@ -160,30 +159,21 @@ protected function getMessageHandlers(): array protected function getPushMiddlewareConfig(): PushMiddlewareConfig { return new PushMiddlewareConfig( - new PushMiddlewareFactory( - $this->getContainer(), - new CallableFactory($this->getContainer()), - ), + new PushMiddlewareFactory($this->getContainer()), ); } protected function getConsumeMiddlewareDispatcher(): ConsumeMiddlewareDispatcher { return new ConsumeMiddlewareDispatcher( - new ConsumeMiddlewareFactory( - $this->getContainer(), - new CallableFactory($this->getContainer()), - ), + new ConsumeMiddlewareFactory($this->getContainer()), ); } protected function getFailureMiddlewareDispatcher(): FailureMiddlewareDispatcher { return new FailureMiddlewareDispatcher( - new FailureMiddlewareFactory( - $this->getContainer(), - new CallableFactory($this->getContainer()), - ), + new FailureMiddlewareFactory($this->getContainer()), [], ); } diff --git a/tests/Unit/Middleware/CallableFactoryTest.php b/tests/Unit/Middleware/CallableFactoryTest.php index f270543b..92314289 100644 --- a/tests/Unit/Middleware/CallableFactoryTest.php +++ b/tests/Unit/Middleware/CallableFactoryTest.php @@ -35,7 +35,7 @@ public static function positiveDefinitionsProvider(): iterable yield 'callable string' => [ 'strlen', - ['foo'], + ['string' => 'foo'], 3, new SimpleContainer(), ]; diff --git a/tests/Unit/Middleware/Consume/MiddlewareDispatcherTest.php b/tests/Unit/Middleware/Consume/MiddlewareDispatcherTest.php index e1b0ab71..1ccacd94 100644 --- a/tests/Unit/Middleware/Consume/MiddlewareDispatcherTest.php +++ b/tests/Unit/Middleware/Consume/MiddlewareDispatcherTest.php @@ -10,7 +10,6 @@ use Yiisoft\Test\Support\Container\SimpleContainer; use Yiisoft\Queue\Adapter\AdapterInterface; use Yiisoft\Queue\Message\GenericMessage; -use Yiisoft\Queue\Middleware\CallableFactory; use Yiisoft\Queue\Middleware\Consume\ConsumeMiddlewareDispatcher; use Yiisoft\Queue\Middleware\Consume\ConsumeRequest; use Yiisoft\Queue\Middleware\Consume\ConsumeHandlerInterface; @@ -160,10 +159,9 @@ private function createDispatcher( ?ContainerInterface $container = null, ): ConsumeMiddlewareDispatcher { $container ??= $this->createContainer([AdapterInterface::class => new InMemoryAdapter()]); - $callableFactory = new CallableFactory($container); return new ConsumeMiddlewareDispatcher( - new ConsumeMiddlewareFactory($container, $callableFactory), + new ConsumeMiddlewareFactory($container), ); } diff --git a/tests/Unit/Middleware/Consume/MiddlewareFactoryTest.php b/tests/Unit/Middleware/Consume/MiddlewareFactoryTest.php index ccad2084..eda97e3c 100644 --- a/tests/Unit/Middleware/Consume/MiddlewareFactoryTest.php +++ b/tests/Unit/Middleware/Consume/MiddlewareFactoryTest.php @@ -10,7 +10,6 @@ use Yiisoft\Test\Support\Container\SimpleContainer; use Yiisoft\Queue\Adapter\AdapterInterface; use Yiisoft\Queue\Message\GenericMessage; -use Yiisoft\Queue\Middleware\CallableFactory; use Yiisoft\Queue\Middleware\Consume\ConsumeRequest; use Yiisoft\Queue\Middleware\Consume\ConsumeHandlerInterface; use Yiisoft\Queue\Middleware\Consume\ConsumeMiddlewareInterface; @@ -200,7 +199,7 @@ private function getMiddlewareFactory(?ContainerInterface $container = null): Co { $container ??= $this->getContainer([AdapterInterface::class => new InMemoryAdapter()]); - return new ConsumeMiddlewareFactory($container, new CallableFactory($container)); + return new ConsumeMiddlewareFactory($container); } private function getContainer(array $instances = []): ContainerInterface diff --git a/tests/Unit/Middleware/FailureHandling/MiddlewareDispatcherTest.php b/tests/Unit/Middleware/FailureHandling/MiddlewareDispatcherTest.php index 26d3ebe4..ee726bc0 100644 --- a/tests/Unit/Middleware/FailureHandling/MiddlewareDispatcherTest.php +++ b/tests/Unit/Middleware/FailureHandling/MiddlewareDispatcherTest.php @@ -10,7 +10,6 @@ use Yiisoft\Test\Support\Container\SimpleContainer; use Yiisoft\Queue\Adapter\AdapterInterface; use Yiisoft\Queue\Message\GenericMessage; -use Yiisoft\Queue\Middleware\CallableFactory; use Yiisoft\Queue\Middleware\FailureHandling\FailureHandlingRequest; use Yiisoft\Queue\Middleware\FailureHandling\FailureMiddlewareDispatcher; use Yiisoft\Queue\Middleware\FailureHandling\FailureHandlerInterface; @@ -159,9 +158,8 @@ private function createDispatcher( ?ContainerInterface $container = null, ): FailureMiddlewareDispatcher { $container ??= $this->createContainer([AdapterInterface::class => new InMemoryAdapter()]); - $callableFactory = new CallableFactory($container); - return new FailureMiddlewareDispatcher(new FailureMiddlewareFactory($container, $callableFactory), []); + return new FailureMiddlewareDispatcher(new FailureMiddlewareFactory($container), []); } private function createContainer(array $instances = []): ContainerInterface diff --git a/tests/Unit/Middleware/FailureHandling/MiddlewareFactoryTest.php b/tests/Unit/Middleware/FailureHandling/MiddlewareFactoryTest.php index d67b4813..57bcbf54 100644 --- a/tests/Unit/Middleware/FailureHandling/MiddlewareFactoryTest.php +++ b/tests/Unit/Middleware/FailureHandling/MiddlewareFactoryTest.php @@ -12,7 +12,6 @@ use Yiisoft\Test\Support\Container\SimpleContainer; use Yiisoft\Queue\Adapter\AdapterInterface; use Yiisoft\Queue\Message\GenericMessage; -use Yiisoft\Queue\Middleware\CallableFactory; use Yiisoft\Queue\Middleware\FailureHandling\FailureHandlingRequest; use Yiisoft\Queue\Middleware\FailureHandling\FailureHandlerInterface; use Yiisoft\Queue\Middleware\FailureHandling\FailureMiddlewareFactory; @@ -184,7 +183,7 @@ private function getMiddlewareFactory(?ContainerInterface $container = null): Fa { $container ??= $this->getContainer([AdapterInterface::class => new InMemoryAdapter()]); - return new FailureMiddlewareFactory($container, new CallableFactory($container)); + return new FailureMiddlewareFactory($container); } private function getContainer(array $instances = []): ContainerInterface diff --git a/tests/Unit/Middleware/Push/MiddlewareDispatcherTest.php b/tests/Unit/Middleware/Push/MiddlewareDispatcherTest.php index 0d24d697..21ff6088 100644 --- a/tests/Unit/Middleware/Push/MiddlewareDispatcherTest.php +++ b/tests/Unit/Middleware/Push/MiddlewareDispatcherTest.php @@ -11,7 +11,6 @@ use Yiisoft\Queue\Adapter\AdapterInterface; use Yiisoft\Queue\Message\GenericMessage; use Yiisoft\Queue\Message\MessageInterface; -use Yiisoft\Queue\Middleware\CallableFactory; use Yiisoft\Queue\Middleware\Push\PushHandlerInterface; use Yiisoft\Queue\Middleware\Push\PushMiddlewareFactory; use Yiisoft\Queue\Middleware\Push\PushMiddlewareDispatcher; @@ -141,10 +140,9 @@ private function createDispatcher( ?ContainerInterface $container = null, ): PushMiddlewareDispatcher { $container ??= $this->createContainer([AdapterInterface::class => new InMemoryAdapter()]); - $callableFactory = new CallableFactory($container); return new PushMiddlewareDispatcher( - new PushMiddlewareFactory($container, $callableFactory), + new PushMiddlewareFactory($container), [], new class implements PushHandlerInterface { public function handlePush(MessageInterface $message): MessageInterface diff --git a/tests/Unit/Middleware/Push/MiddlewareFactoryTest.php b/tests/Unit/Middleware/Push/MiddlewareFactoryTest.php index c1d39cc3..6a30802d 100644 --- a/tests/Unit/Middleware/Push/MiddlewareFactoryTest.php +++ b/tests/Unit/Middleware/Push/MiddlewareFactoryTest.php @@ -11,7 +11,6 @@ use Yiisoft\Queue\Adapter\AdapterInterface; use Yiisoft\Queue\Message\GenericMessage; use Yiisoft\Queue\Message\MessageInterface; -use Yiisoft\Queue\Middleware\CallableFactory; use Yiisoft\Queue\Middleware\InvalidMiddlewareDefinitionException; use Yiisoft\Queue\Middleware\Push\PushHandlerInterface; use Yiisoft\Queue\Middleware\Push\PushMiddlewareFactory; @@ -175,7 +174,7 @@ private function getMiddlewareFactory(?ContainerInterface $container = null): Pu { $container ??= $this->getContainer([AdapterInterface::class => new InMemoryAdapter()]); - return new PushMiddlewareFactory($container, new CallableFactory($container)); + return new PushMiddlewareFactory($container); } private function getContainer(array $instances = []): ContainerInterface