protected function setUp() { $this->logger = $this->getMockBuilder(LoggerInterface::class)->setMethods(['info', 'warning'])->getMockForAbstractClass(); $this->connection = $this->getMockBuilder(Connection::class)->disableOriginalConstructor()->setMethods(['isServiceListening'])->getMock(); $this->pheanstalk = $this->getMockBuilder(PheanstalkInterface::class)->setMethods(['getConnection'])->getMockForAbstractClass(); $this->pheanstalk->expects($this->any())->method('getConnection')->will($this->returnValue($this->connection)); }
public function testDone() { $jobId = 12345; $this->pheanstalkMock->expects($this->once())->method('delete')->with($this->callback(function (Job $job) use($jobId) { return $job->getId() === $jobId; })); $this->pheanstalkMock->expects($this->any())->method('peek')->with($jobId)->willReturn(new Job($jobId, 'asdf')); $this->loggerMock->expects($this->once())->method('info')->with('Done job (12345): asdf'); $this->sut->done($jobId); }
public function testExecuteJobAndNoMoreRetries() { $action = 'test'; $executor = $this->getMockForAbstractClass(ExecutorInterface::class); $executor->expects($this->any())->method('getName')->will($this->returnValue($action)); $this->manager->addExecutor($executor); $data = []; $job = new Job(1234, json_encode($data)); $stats = ['tube' => $action, 'releases' => 2, 'pri' => PheanstalkInterface::DEFAULT_PRIORITY]; $this->pheanstalk->expects($this->once())->method('statsJob')->with($job)->will($this->returnValue($stats)); $this->pheanstalk->expects($this->once())->method('bury')->with($job); $executor->expects($this->once())->method('execute')->will($this->throwException(new \Exception('oh noes!'))); $this->manager->executeJob($job); }