public function testMessage() { $message = Factory::message(['t']); $messenger = Phake::mock('WyriHaximus\\React\\ChildProcess\\Messenger\\Messenger'); $worker = new Worker($messenger); $worker->message($message); Phake::verify($messenger)->message($message); }
public function testMethods() { $loop = Phake::mock('React\\EventLoop\\LoopInterface'); $poolPromise = Dummy::createFromClass('stdClass', $loop); $promiseHasResolved = false; $poolPromise->then(function ($pool) use(&$promiseHasResolved) { $pool->message(Factory::message([])); $pool->terminate(Factory::message([])); $this->assertInstanceOf('React\\Promise\\FulfilledPromise', $pool->rpc(Factory::rpc('abc', ['def']))); $this->assertSame([], $pool->info()); $promiseHasResolved = true; }); $this->assertTrue($promiseHasResolved); }
public function testTerminate() { $manager = Phake::mock('WyriHaximus\\React\\ChildProcess\\Pool\\ManagerInterface'); Phake::when($manager)->info()->thenReturn([Info::TOTAL => 1, Info::IDLE => 2, Info::BUSY => 3]); $queue = Phake::mock('WyriHaximus\\React\\ChildProcess\\Pool\\QueueInterface'); Phake::when($queue)->count()->thenReturn(4); $poolInstance = null; $process = Phake::mock('React\\ChildProcess\\Process'); $loop = Phake::mock('React\\EventLoop\\LoopInterface'); Phake::when($loop)->addTimer($this->isType('integer'), $this->isType('callable'))->thenReturnCallback(function ($interval, $function) { $function(); }); $poolPromise = Fixed::create($process, $loop, [Options::MANAGER => $manager, Options::QUEUE => $queue]); $this->assertInstanceOf('React\\Promise\\PromiseInterface', $poolPromise); $promiseHasResolved = false; $poolPromise->then(function ($pool) use(&$promiseHasResolved, &$poolInstance) { $promiseHasResolved = true; $poolInstance = $pool; }); $this->assertTrue($promiseHasResolved); $poolInstance->terminate(Factory::message(['foo' => 'bar'])); Phake::verify($manager)->terminate(); }
public function testMessage() { $message = Factory::message(['bar']); $workerDeferred = new Deferred(); $worker = null; $messenger = Phake::mock('WyriHaximus\\React\\ChildProcess\\Messenger\\Messenger'); Phake::when($this->processCollection)->current()->thenReturnCallback(function () use($workerDeferred) { return function () use($workerDeferred) { return $workerDeferred->promise(); }; }); $this->createManager(); $this->manager->once('ready', function (WorkerInterface $workerInstance) use(&$worker) { $worker = $workerInstance; }); $workerDeferred->resolve($messenger); $this->manager->message($message); Phake::verify($messenger)->message($message); }