public function testHandleLogWithGoodMessageNotImplementingJobInterface() { $worker = new WorkerPresence(); $worker->setMemory(12345); $frame = new Frame('MESSAGE', array('delivery_tag' => 'delivery-' . mt_rand()), $worker->toJson()); $loop = LoopFactory::create(); $options = array('eventloop' => $loop, 'on_error' => array($this, 'throwRedisError')); $redisSync = new PredisSync('tcp://127.0.0.1:6379'); $redisSync->connect(); $resolver = $this->getResolver(); $resolver->expects($this->once())->method('ack'); $done = false; $phpunit = $this; $redis = new PredisAsync('tcp://127.0.0.1:6379', $options); $redis->connect(function () use($resolver, $phpunit, $redis, $frame, $redisSync, &$done, $worker) { $component = new LogBuilderComponent(); $component->handleLog($redis, $phpunit->getLogger(), $frame, $resolver)->then(function ($hashId) use($phpunit, $redis, $redisSync, &$done, $worker) { $redis->disconnect(); $phpunit->assertEquals($worker->toJson(), $redisSync->get($hashId)); $phpunit->assertTrue($redisSync->sismember('garbages', $hashId)); $done = true; }); }); $loop->run(); $this->assertTrue($done); }
/** * @covers Gloubster\Message\Presence\WorkerPresence::getArrayData * @covers Gloubster\Message\AbstractMessage::toJson * @covers Gloubster\Message\AbstractMessage::fromJson */ public function testFromToJson() { $type = 'worker-type'; $this->object->setWorkerType($type); $total = mt_rand(); $this->object->setFailureJobs($total); $id = mt_rand(); $this->object->setId($id); $memory = 123456789; $this->object->setMemory($memory); $time = 223456789.98765433; $this->object->setStartedTime($time); $time = 333456789.9876543; $this->object->setLastJobTime($time); $total = mt_rand(); $this->object->setTotalJobs($total); $success = mt_rand(); $this->object->setSuccessJobs($success); $time = 444456789.98765445; $this->object->setReportTime($time); $idle = true; $this->object->setIdle($idle); $this->assertEquals($this->object, WorkerPresence::fromJson($this->object->toJson())); }