コード例 #1
0
 public function testGetDefaultPheanstalk()
 {
     $pheanstalkA = $this->getMockForAbstractClass(PheanstalkInterface::class);
     $pheanstalkB = $this->getMockForAbstractClass(PheanstalkInterface::class);
     $pheanstalkLocator = new PheanstalkLocator();
     $pheanstalkLocator->addPheanstalk('default', $pheanstalkA, true);
     $pheanstalkLocator->addPheanstalk('foo', $pheanstalkB);
     $this->assertEquals($pheanstalkA, $pheanstalkLocator->getPheanstalk());
     $this->assertEquals($pheanstalkA, $pheanstalkLocator->getDefaultPheanstalk());
     $this->assertEquals($pheanstalkA, $pheanstalkLocator->getPheanstalk('default'));
     $this->assertEquals($pheanstalkB, $pheanstalkLocator->getPheanstalk('foo'));
     $this->assertEquals(['default' => $pheanstalkA, 'foo' => $pheanstalkB], $pheanstalkLocator->getPheanstalks());
 }
コード例 #2
0
 /**
  * @param string $name
  *
  * @return PheanstalkInterface
  */
 protected function getPheanstalk(&$name = null)
 {
     $pheanstalk = $this->locator->getPheanstalk($name);
     if (null === $name) {
         $name = 'default';
     }
     if (null === $pheanstalk) {
         throw new \RuntimeException('Pheanstalk not found: ' . $name);
     }
     if (!$pheanstalk->getConnection()->isServiceListening()) {
         throw new \RuntimeException('Pheanstalk not connected: ' . $name);
     }
     return $pheanstalk;
 }