| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- <?php
- namespace Test\Michel\PQueueBundle;
- use Michel\PQueue\PQueueConsumer;
- use Michel\PQueue\Transport\FilesystemTransport;
- use Michel\PQueue\Transport\TransportInterface;
- use Michel\PQueueBundle\HandlerResolver\SymfonyHandlerResolver;
- use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
- use Test\Michel\PQueue\Extra\TestMessage;
- use Test\Michel\PQueueBundle\Fixtures\MessageHandler\TestMessageHandler;
- use Test\Michel\PQueueBundle\Fixtures\TestKernel;
- class BundleIntegrationTest extends KernelTestCase
- {
- protected static function getKernelClass(): string
- {
- return TestKernel::class;
- }
- protected function setUp(): void
- {
- self::bootKernel();
- }
- public function testPQueueIsWired(): void
- {
- $container = self::getContainer();
- $transport = $container->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);
- }
- }
|