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()); }
/** * @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; }