コード例 #1
0
 /**
  * Tests pipeline with progressbar.
  *
  * @param array $data
  * @param int   $expectedConsumedItems
  * @param int   $expectedSkippedItems
  *
  * @dataProvider PipelineData
  */
 public function testPipelineProgress($data, $expectedConsumedItems, $expectedSkippedItems)
 {
     $pipelineFactory = new PipelineFactory();
     $pipelineFactory->setDispatcher(new EventDispatcher());
     $pipelineFactory->setClassName('ONGR\\ConnectionsBundle\\Pipeline\\Pipeline');
     $expectedContext = 'This is a test of context';
     $progressBar = $this->getMockBuilder('Symfony\\Component\\Console\\Helper\\ProgressBar')->disableOriginalConstructor()->getMock();
     $progressBar->expects($this->once())->method('start');
     $progressBar->expects($this->exactly(count($data)))->method('advance');
     $progressBar->expects($this->once())->method('finish');
     $consumer = new PipelineTestConsumer();
     $source = function (SourcePipelineEvent $event) use($data, $expectedContext) {
         $event->addSource($data);
         $event->setContext($expectedContext);
     };
     $pipeline = $pipelineFactory->create('test', ['sources' => [$source], 'modifiers' => [[$this, 'onModify']], 'consumers' => [[$consumer, 'onConsume']]]);
     $pipeline->setProgressBar($progressBar);
     $pipeline->start();
     $this->assertEquals($expectedConsumedItems, $consumer->getConsumeCalled());
     $this->assertEquals($expectedSkippedItems, $consumer->getSkipCalled());
     $this->assertEquals($expectedContext, $pipeline->getContext());
 }
コード例 #2
0
 /**
  * Test pipeline factory exception.
  *
  * @expectedException \InvalidArgumentException
  */
 public function testPipelineFactoryException()
 {
     $pipelineFactory = new PipelineFactory();
     $pipelineFactory->setClassName('ONGR\\ConnectionsBundle\\Pipeline\\Event\\SourcePipelineEvent');
     $pipelineFactory->create(null);
 }