Пример #1
0
 /**
  * __toString() test
  */
 public function test__toString()
 {
     $this->_fault->setCode(1000);
     $this->_fault->setMessage('Fault message');
     $xml = $this->_fault->__toString();
     try {
         $sx = new SimpleXMLElement($xml);
     } catch (Exception $e) {
         $this->fail('Unable to parse generated XML');
     }
     $this->assertTrue($sx->fault ? true : false, $xml);
     $this->assertTrue($sx->fault->value ? true : false, $xml);
     $this->assertTrue($sx->fault->value->struct ? true : false, $xml);
     $count = 0;
     foreach ($sx->fault->value->struct->member as $member) {
         $count++;
         $this->assertTrue($member->name ? true : false, $xml);
         $this->assertTrue($member->value ? true : false, $xml);
         if ('faultCode' == (string) $member->name) {
             $this->assertTrue($member->value->int ? true : false, $xml);
             $this->assertEquals(1000, (int) $member->value->int, $xml);
         }
         if ('faultString' == (string) $member->name) {
             $this->assertTrue($member->value->string ? true : false, $xml);
             $this->assertEquals('Fault message', (string) $member->value->string, $xml);
         }
     }
     $this->assertEquals(2, $count, $xml);
 }
 /**
  * __toString() test
  */
 public function test__toString()
 {
     $this->_fault->setCode(1000);
     $this->_fault->setMessage('Fault message');
     $xml = $this->_fault->__toString();
     $this->_testXmlFault($xml);
 }
Пример #3
0
 public function testGettingAllMethodSignaturesDegradesToLooping()
 {
     // system.listMethods() will return ['foo', 'bar']
     $whatListMethodsReturns = array('foo', 'bar');
     $response = $this->getServerResponseFor($whatListMethodsReturns);
     $this->httpAdapter->setResponse($response);
     // system.multicall() will return a fault
     $fault = new Zend_XmlRpc_Fault(7, 'bad method');
     $xml = $fault->__toString();
     $response = $this->makeHttpResponseFrom($xml);
     $this->httpAdapter->addResponse($response);
     // system.methodSignature('foo') will return [['int'], ['int', 'string']]
     $fooSignatures = array(array('int'), array('int', 'string'));
     $response = $this->getServerResponseFor($fooSignatures);
     $this->httpAdapter->addResponse($response);
     // system.methodSignature('bar') will return [['boolean']]
     $barSignatures = array(array('boolean'));
     $response = $this->getServerResponseFor($barSignatures);
     $this->httpAdapter->addResponse($response);
     $i = $this->xmlrpcClient->getIntrospector();
     $expected = array('foo' => $fooSignatures, 'bar' => $barSignatures);
     $this->assertEquals($expected, $i->getSignatureForEachMethod());
     $request = $this->xmlrpcClient->getLastRequest();
     $this->assertEquals('system.methodSignature', $request->getMethod());
 }