get(TransportInterface::class); $this->assertInstanceOf(FilesystemTransport::class, $transport); $pqueueConsumer = $container->get(PQueueConsumer::class); $this->assertInstanceOf(PQueueConsumer::class, $pqueueConsumer); } public function testConfigIsWired() { $container = self::getContainer(); $this->assertSame(FilesystemTransport::class, $container->getParameter('pqueue.transport.class')); $this->assertArrayHasKey('directory',$container->getParameter('pqueue.transport.options')); $this->assertIsArray($container->getParameter('pqueue.handlers.sources')); $this->assertNotEmpty($container->getParameter('pqueue.handlers.sources')); $this->assertNotEmpty($container->getParameter('pqueue.handlers.cache_dir')); $map = $container->getParameter('pqueue.handlers.map'); $this->assertNotEmpty($map); $this->assertSame(TestMessageHandler::class,$map[TestMessage::class]); } public function testHandlerResolverCanSeeHandler(): void { $container = self::getContainer(); $resolver = $container->get(SymfonyHandlerResolver::class); $this->assertTrue( $resolver->hasHandler(TestMessageHandler::class), 'SymfonyHandlerResolver should detect TestMessageHandler' ); } public function testHandlerResolverReturnsCorrectHandler(): void { $container = self::getContainer(); $resolver = $container->get(SymfonyHandlerResolver::class); $handler = $resolver->getHandler(TestMessageHandler::class); $this->assertInstanceOf(TestMessageHandler::class, $handler); } public function testHandlersAreRegisteredAsServices(): void { $container = self::getContainer(); $this->assertTrue( $container->has(TestMessageHandler::class), 'TestMessageHandler should be registered as a service' ); $handler = $container->get(TestMessageHandler::class); $this->assertInstanceOf(TestMessageHandler::class, $handler); $resolver = $container->get(\Michel\PQueueBundle\HandlerResolver\SymfonyHandlerResolver::class); $this->assertTrue( $resolver->hasHandler(TestMessageHandler::class), 'HandlerResolver must detect TestMessageHandler' ); $resolved = $resolver->getHandler(TestMessageHandler::class); $this->assertInstanceOf(TestMessageHandler::class, $resolved); } }