public function testLoggerWithContext() { $endpoint = "inproc://zmq_logger2"; $receiver = $this->createCollector(self::$context, $endpoint); $log1 = new ZLogger('l3', $endpoint, self::$context); $this->emptyPoll($receiver); $collector = new Zmsg($receiver); $msgOut = "asd123"; $context = [1 => 2, 'a' => 'b']; $log1->debug($msgOut, $context); $collector->recv(); $this->assertEquals($collector->parts(), 6); $this->assertEquals($collector->body(), json_encode($context)); $this->assertEquals($collector->pop(), 'l3'); $collector->pop(); //time $this->assertEquals($collector->pop(), 'debug'); $this->assertEquals($collector->pop(), $msgOut); $this->assertEquals($collector->pop(), ZLogger::CONTEXT_DELIMITER); $this->assertEquals($collector->pop(), json_encode($context)); }
public function testMultiPartMessage() { $zmsgo = new Zmsg(self::$outputSocket); $zmsgo->body_set("Hello"); $zmsgo->wrap("address1", ""); $zmsgo->wrap("address2"); $this->assertEquals($zmsgo->parts(), 4); $zmsgo->send(); $zmsgi = new Zmsg(self::$inputSocket); $zmsgi->recv(); $this->assertEquals($zmsgi->parts(), 5); $zmsgi->unwrap(); $this->assertEquals($zmsgi->unwrap(), "address2"); $zmsgi->body_fmt("%s%s", 'W', "orld"); $this->assertEquals($zmsgi->body(), "World"); // Pull off address 1, check that empty part was dropped $zmsgi->unwrap(); $this->assertEquals($zmsgi->parts(), 1); // Check that message body was correctly modified $part = $zmsgi->pop(); $this->assertEquals($part, "World"); $this->assertEquals($zmsgi->parts(), 0); }