/** * loadXml() test */ public function testLoadXml() { $xml = $this->_createXml(); $parsed = $this->_fault->loadXml($xml); $this->assertTrue($parsed, $xml); $this->assertEquals(1000, $this->_fault->getCode()); $this->assertEquals('Error string', $this->_fault->getMessage()); $this->assertFalse($this->_fault->loadXml('<wellformedButInvalid/>')); $this->_fault->loadXml('<methodResponse><fault><value><struct>' . '<member><name>faultString</name><value><string>str</string></value></member>' . '</struct></value></fault></methodResponse>'); $this->assertSame(404, $this->_fault->getCode(), 'If no fault code is given, use 404 as a default'); $this->_fault->loadXml('<methodResponse><fault><value><struct>' . '<member><name>faultCode</name><value><int>610</int></value></member>' . '</struct></value></fault></methodResponse>'); $this->assertSame('Invalid method class', $this->_fault->getMessage(), 'If empty fault string is given, resolve the code'); $this->_fault->loadXml('<methodResponse><fault><value><struct>' . '<member><name>faultCode</name><value><int>1234</int></value></member>' . '</struct></value></fault></methodResponse>'); $this->assertSame('Unknown Error', $this->_fault->getMessage(), 'If code resolval failed, use "Unknown Error"'); }
/** * loadXml() test */ public function testLoadXml() { $xml = $this->_createXml(); try { $parsed = $this->_fault->loadXml($xml); } catch (\Exception $e) { $this->fail('Failed to parse XML: ' . $e->getMessage()); } $this->assertTrue($parsed, $xml); $this->assertEquals(1000, $this->_fault->getCode()); $this->assertEquals('Error string', $this->_fault->getMessage()); try { $parsed = $this->_fault->loadXml('foo'); $this->fail('Should not parse invalid XML'); } catch (XmlRpc\Exception $e) { // do nothing } $this->assertFalse($this->_fault->loadXml('<wellformedButInvalid/>')); try { $this->assertFalse($this->_fault->loadXml('<methodResponse><fault/></methodResponse>')); $this->fail('Should throw an exception. No value element in fault'); } catch (XmlRpc\Exception $e) { $this->assertEquals('Invalid fault structure', $e->getMessage()); $this->assertSame(500, $e->getCode()); } try { $this->_fault->loadXml('<methodResponse><fault/></methodResponse>'); $this->fail('Should throw an exception. No struct element in //fault/value'); } catch (XmlRpc\Exception $e) { $this->assertEquals('Invalid fault structure', $e->getMessage()); $this->assertSame(500, $e->getCode()); } try { $this->_fault->loadXml('<methodResponse><fault><value><struct/></value></fault></methodResponse>'); $this->fail('Should throw an exception. Empty fault code and string in //fault/value'); } catch (XmlRpc\Exception $e) { $this->assertEquals('Fault code and string required', $e->getMessage()); } $this->_fault->loadXml('<methodResponse><fault><value><struct>' . '<member><name>faultString</name><value><string>str</string></value></member>' . '</struct></value></fault></methodResponse>'); $this->assertSame(404, $this->_fault->getCode(), 'If no fault code is given, use 404 as a default'); $this->_fault->loadXml('<methodResponse><fault><value><struct>' . '<member><name>faultCode</name><value><int>610</int></value></member>' . '</struct></value></fault></methodResponse>'); $this->assertSame('Invalid method class', $this->_fault->getMessage(), 'If empty fault string is given, resolve the code'); $this->_fault->loadXml('<methodResponse><fault><value><struct>' . '<member><name>faultCode</name><value><int>1234</int></value></member>' . '</struct></value></fault></methodResponse>'); $this->assertSame('Unknown Error', $this->_fault->getMessage(), 'If code resolval failed, use "Unknown Error"'); }
/** * loadXml() test */ public function testLoadXml() { $xml = $this->_createXml(); try { $parsed = $this->_fault->loadXml($xml); } catch (Exception $e) { $this->fail('Failed to parse XML: ' . $e->getMessage()); } $this->assertTrue($parsed, $xml); $this->assertEquals(1000, $this->_fault->getCode()); $this->assertEquals('Error string', $this->_fault->getMessage()); try { $parsed = $this->_fault->loadXml('foo'); $this->fail('Should not parse invalid XML'); } catch (Exception $e) { // do nothing } }
public function testUnknownErrorIsUsedIfUnknownErrorCodeEndEmptyMessageIsPassed() { $fault = new Zend_XmlRpc_Fault(1234); $this->assertSame(1234, $fault->getCode()); $this->assertSame('Unknown error', $fault->getMessage()); }