public function testAppendingParams() { $this->serializer->expects($this->once())->method('serialize')->with('methodName', array('p0', 'p1', 'p2', 'p3'))->will($this->returnValue('REQUEST')); $this->mockTransport('http://foo.com', 'REQUEST', 'RESPONSE'); $this->parser->expects($this->once())->method('parse')->with('RESPONSE')->will($this->returnValue('NATIVE VALUE')); $this->assertSame(array(), $this->client->getAppendParams()); $this->client->appendParams(array('p2', 'p3')); $this->assertSame(array('p2', 'p3'), $this->client->getAppendParams()); $this->assertSame('NATIVE VALUE', $this->client->call('methodName', array('p0', 'p1'))); }
/** {@inheritdoc} */ public function call($methodName, array $params = []) { if (!is_string($methodName)) { throw InvalidArgumentException::expectedParameter(0, 'string', $methodName); } $params = array_merge($this->prependParams, $params, $this->appendParams); $payload = $this->serializer->serialize($methodName, $params); $response = $this->transport->send($this->uri, $payload); return $this->parser->parse($response); }
public function testEmptyStructMember() { $string = '<?xml version="1.0" encoding="UTF-8"?> <methodResponse> <params> <param> <value> <struct> <member> <name>FIRST</name> <value></value> </member> </struct> </value> </param> </params> </methodResponse>'; $isFault = false; $this->assertSame(array('FIRST' => ''), $this->parser->parse($string, $isFault)); $this->assertFalse($isFault); }
public function testThrowExceptionWhenIsString() { $string = 'returned string'; $this->setExpectedException('fXmlRpc\\Exception\\ParserException', 'Invalid XML. Expected XML, string given: "returned string"'); $this->parser->parse($string); }