/** * @test definition parameter format ""|"type"|"type:name" will find definitions and pass to configurator * @dataProvider definitions */ public function definitionConfigurator($name, $definitions) { $configurator = $this->getMock('EventBand\\Transport\\TransportConfigurator'); $configurator->expects($this->once())->method('setUpDefinition')->with($definitions); $this->container->expects($this->any())->method('get')->will($this->returnCallback(function ($id) use($configurator) { if ($id === EventBandExtension::getTransportConfiguratorId()) { return $configurator; } return 'object_' . $id; })); $this->container->expects($this->once())->method('getParameter')->with('event_band.transport_definitions')->will($this->returnValue(['test' => ['name1' => 'id1', 'name2' => 'id2']])); $this->tester->execute(['command' => 'event-band:setup', 'definition' => $name]); }
/** * {@inheritDoc} */ protected function getConfigurator() { return $this->getContainer()->get(EventBandExtension::getTransportConfiguratorId()); }
/** * @test amqp registers configurator for each connection */ public function amqpConfigurator() { $config = ['transports' => ['amqp' => ['connections' => ['foo' => []]]]]; $this->loadExtension($config); /** @var DelegatingTransportConfigurator $configurator */ $configurator = $this->container->get(EventBandExtension::getTransportConfiguratorId()); $configurators = $configurator->getConfigurators(); $this->assertCount(2, $configurators); $this->assertArrayHasKey('amqp.default', $configurators); $this->assertArrayHasKey('amqp.foo', $configurators); $configurator = $configurators['amqp.foo']; $this->assertInstanceOf('EventBand\\Transport\\Amqp\\AmqpConfigurator', $configurator); $this->assertEquals(['amqp' => ['default' => EventBandExtension::getTransportDefinitionId('amqp', 'default'), 'foo' => EventBandExtension::getTransportDefinitionId('amqp', 'foo')]], $this->container->getParameter('event_band.transport_definitions')); }