[ Index ] |
PHP Cross Reference of DokuWiki |
[Summary view] [Print] [Text view]
1 <?php 2 3 namespace dokuwiki\test\Remote; 4 5 6 use dokuwiki\test\Remote\Mock\XmlRpcServer; 7 8 class XmlRpcServerTest extends \DokuWikiTest 9 { 10 protected $server; 11 12 function setUp(): void 13 { 14 parent::setUp(); 15 global $conf; 16 17 $conf['remote'] = 1; 18 $conf['remoteuser'] = ''; 19 $conf['useacl'] = 0; 20 21 $this->server = new XmlRpcServer(true); 22 } 23 24 25 function testFullArgs() 26 { 27 $request = <<<EOD 28 <?xml version="1.0"?> 29 <methodCall> 30 <methodName>wiki.twoArgWithDefaultArg</methodName> 31 <param> 32 <value> 33 <string>arg1</string> 34 </value> 35 </param> 36 <param> 37 <value> 38 <string>arg2</string> 39 </value> 40 </param> 41 </methodCall> 42 EOD; 43 44 $expected = <<<EOD 45 <methodResponse> 46 <params> 47 <param> 48 <value> 49 <array> 50 <data> 51 <value> 52 <string>arg1</string> 53 </value> 54 <value> 55 <string>arg2</string> 56 </value> 57 </data> 58 </array> 59 </value> 60 </param> 61 </params> 62 </methodResponse> 63 EOD; 64 65 $_SERVER['CONTENT_TYPE'] = 'text/xml'; 66 $this->server->serve($request); 67 $this->assertXmlStringEqualsXmlString(trim($expected), trim($this->server->output)); 68 } 69 70 function testDefaultArgs() 71 { 72 $request = <<<EOD 73 <?xml version="1.0"?> 74 <methodCall> 75 <methodName>wiki.twoArgWithDefaultArg</methodName> 76 <param> 77 <value> 78 <string>arg1</string> 79 </value> 80 </param> 81 </methodCall> 82 EOD; 83 84 $expected = <<<EOD 85 <methodResponse> 86 <params> 87 <param> 88 <value> 89 <array> 90 <data> 91 <value> 92 <string>arg1</string> 93 </value> 94 <value> 95 <string>default</string> 96 </value> 97 </data> 98 </array> 99 </value> 100 </param> 101 </params> 102 </methodResponse> 103 EOD; 104 105 $_SERVER['CONTENT_TYPE'] = 'text/xml'; 106 $this->server->serve($request); 107 $this->assertXmlStringEqualsXmlString(trim($expected), trim($this->server->output)); 108 } 109 110 function testStructResponse() 111 { 112 $request = <<<EOD 113 <?xml version="1.0"?> 114 <methodCall> 115 <methodName>wiki.getStructuredData</methodName> 116 </methodCall> 117 EOD; 118 $expected = <<<EOD 119 <methodResponse> 120 <params> 121 <param> 122 <value> 123 <struct> 124 <member> 125 <name>type</name> 126 <value><string>internal</string></value> 127 </member> 128 <member> 129 <name>page</name> 130 <value><string>wiki:dokuwiki</string></value> 131 </member> 132 <member> 133 <name>href</name> 134 <value><string>https://www.dokuwiki.org/wiki:dokuwiki</string></value> 135 </member> 136 </struct> 137 </value> 138 </param> 139 </params> 140 </methodResponse> 141 EOD; 142 143 $_SERVER['CONTENT_TYPE'] = 'text/xml'; 144 $this->server->serve($request); 145 $this->assertXmlStringEqualsXmlString(trim($expected), trim($this->server->output)); 146 } 147 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body