add tests for recent parsing changes
authorgggeek <giunta.gaetano@gmail.com>
Tue, 23 Apr 2024 10:11:10 +0000 (10:11 +0000)
committergggeek <giunta.gaetano@gmail.com>
Tue, 23 Apr 2024 10:11:10 +0000 (10:11 +0000)
tests/04ParsingTest.php

index 1911c9d..345d40f 100644 (file)
@@ -218,6 +218,17 @@ class ParsingTest extends PhpXmlRpc_LoggerAwareTestCase
     public function testBrokenRequests()
     {
         $s = new xmlrpc_server();
+
+        // omitting the 'methodName' tag: not tolerated by the lib anymore
+        $f = '<?xml version="1.0"?>
+<methodCall>
+<params>
+<value><string>system.methodHelp</string></value>
+</params>
+</methodCall>';
+        $r = $s->parserequest($f);
+        $this->assertEquals(15, $r->faultCode());
+
         // omitting the 'params' tag: not tolerated by the lib anymore
         $f = '<?xml version="1.0"?>
 <methodCall>
@@ -228,6 +239,7 @@ class ParsingTest extends PhpXmlRpc_LoggerAwareTestCase
 </methodCall>';
         $r = $s->parserequest($f);
         $this->assertEquals(15, $r->faultCode());
+
         // omitting a 'param' tag
         $f = '<?xml version="1.0"?>
 <methodCall>
@@ -238,6 +250,7 @@ class ParsingTest extends PhpXmlRpc_LoggerAwareTestCase
 </methodCall>';
         $r = $s->parserequest($f);
         $this->assertEquals(15, $r->faultCode());
+
         // omitting a 'value' tag
         $f = '<?xml version="1.0"?>
 <methodCall>
@@ -253,24 +266,39 @@ class ParsingTest extends PhpXmlRpc_LoggerAwareTestCase
     public function testBrokenResponses()
     {
         $m = $this->newRequest('dummy');
+
         // omitting the 'params' tag: no more tolerated by the lib...
         $f = '<?xml version="1.0"?>
 <methodResponse>
+</methodResponse>';
+        $r = $m->parseResponse($f);
+        $this->assertEquals(2, $r->faultCode());
+        $f = '<?xml version="1.0"?>
+<methodResponse>
 <param>
 <value><string>system.methodHelp</string></value>
 </param>
 </methodResponse>';
         $r = $m->parseResponse($f);
         $this->assertEquals(2, $r->faultCode());
+
         // omitting the 'param' tag: no more tolerated by the lib...
         $f = '<?xml version="1.0"?>
 <methodResponse>
 <params>
+</params>
+</methodResponse>';
+        $r = $m->parseResponse($f);
+        $this->assertEquals(2, $r->faultCode());
+        $f = '<?xml version="1.0"?>
+<methodResponse>
+<params>
 <value><string>system.methodHelp</string></value>
 </params>
 </methodResponse>';
         $r = $m->parseResponse($f);
         $this->assertEquals(2, $r->faultCode());
+
         // omitting a 'value' tag: KO
         $f = '<?xml version="1.0"?>
 <methodResponse>