public function prepare($config)
 {
     $connection = $this->getMock('AMQPConnection', array(), array(), '', false);
     $channel = $this->getMock('AMQPChannel', array(), array(), '', false);
     $channel->expects($this->any())->method('getPrefetchCount')->will($this->returnValue(10));
     $queue = $this->getMock('AMQPQueue', array(), array(), '', false);
     $queue->expects($this->any())->method('getChannel')->will($this->returnValue($channel));
     $queueFactory = $this->getMock('HumusAmqpModule\\QueueFactory');
     $queueFactory->expects($this->any())->method('create')->will($this->returnValue($queue));
     $connectionManager = $this->getMock('HumusAmqpModule\\PluginManager\\Connection');
     $connectionManager->expects($this->any())->method('get')->with('default')->willReturn($connection);
     $myListener = $this->getMock('Zend\\EventManager\\ListenerAggregateInterface');
     $services = $this->services = new ServiceManager();
     $services->setAllowOverride(true);
     $services->setService('Config', $config);
     $callbackManager = new CallbackPluginManager();
     $callbackManager->setInvokableClass('test-callback', __NAMESPACE__ . '\\TestAsset\\TestCallback');
     $callbackManager->setServiceLocator($services);
     $services->setService('HumusAmqpModule\\PluginManager\\Connection', $connectionManager);
     $services->setService('HumusAmqpModule\\PluginManager\\Callback', $callbackManager);
     $services->setService('My\\Listener', $myListener);
     $components = $this->components = new ConsumerAbstractServiceFactory();
     $components->setChannelMock($channel);
     $components->setQueueFactory($queueFactory);
     $services->setService('HumusAmqpModule\\PluginManager\\Consumer', $consumerManager = new ConsumerPluginManager());
     $consumerManager->addAbstractFactory($components);
     $consumerManager->setServiceLocator($services);
 }
 /**
  * @expectedException HumusAmqpModule\Exception\RuntimeException
  */
 public function testInvalidPlugin()
 {
     $manager = new ConsumerPluginManager();
     $manager->validatePlugin('foo');
 }