{
// NB: This test will NOT pass if server does not support system.multicall.
+ $noMultiCall = $this->client->no_multicall;
$this->client->no_multicall = false;
$good1 = new xmlrpcmsg('system.methodHelp',
$this->assertTrue($this->client->no_multicall == false,
"server does not support system.multicall"
);
+
+ $this->client->no_multicall = $noMultiCall;
}
public function testClientMulticall2()
{
// NB: This test will NOT pass if server does not support system.multicall.
+ $noMultiCall = $this->client->no_multicall;
$this->client->no_multicall = true;
$good1 = new xmlrpcmsg('system.methodHelp',
$val = $r[3]->value();
$this->assertTrue($val->kindOf() == 'array', "good2 did not return array");
}
+
+ $this->client->no_multicall = $noMultiCall;
}
public function testClientMulticall3()
{
// NB: This test will NOT pass if server does not support system.multicall.
+ $noMultiCall = $this->client->no_multicall;
+ $returnType = $this->client->return_type;
+
$this->client->return_type = 'phpvals';
$this->client->no_multicall = false;
$val = $r[3]->value();
$this->assertTrue(is_array($val), "good2 did not return array");
}
- //$this->client->return_type = 'xmlrpcvals';
+
+ $this->client->return_type = $returnType;
+ $this->client->no_multicall = $noMultiCall;
}
public function testCatchWarnings()
$this->fail('Registration of remote server failed');
} else {
$obj = new $class();
- $v = $obj->examples_getStateName(23);
- // work around bug in current (or old?) version of phpunit when reporting the error
- /*if (is_object($v)) {
- $v = var_export($v, true);
- }*/
- $this->assertEquals('Michigan', $v);
+ if (!is_callable(array($obj, 'examples_getStateName'))) {
+ $this->fail('Registration of remote server failed to import method "examples_getStateName"');
+ } else {
+ $v = $obj->examples_getStateName(23);
+ // work around bug in current (or old?) version of phpunit when reporting the error
+ /*if (is_object($v)) {
+ $v = var_export($v, true);
+ }*/
+ $this->assertEquals('Michigan', $v);
+ }
}
}
public function testTransferOfObjectViaWrapping()
{
// make a 'deep client copy' as the original one might have many properties set
- $func = wrap_xmlrpc_method($this->client, 'tests.returnPhpObject', array('simple_client_copy' => true,
+ $func = wrap_xmlrpc_method($this->client, 'tests.returnPhpObject', array('simple_client_copy' => 0,
'decode_php_objs' => true));
if ($func == false) {
$this->fail('Registration of tests.returnPhpObject failed');
$unsafeMethods = array('testHttps', 'testCatchExceptions', 'testUtf8Method', 'testServerComments', 'testExoticCharsetsRequests',
'testExoticCharsetsRequests2', 'testExoticCharsetsRequests3',
// @todo the following are currently not compatible w Digest Auth (most likely because of client copy) and should be fixed
- 'testcatchWarnings', 'testWrappedMethodAsSource', 'testTransferOfObjectViaWrapping');
+ 'testcatchWarnings', 'testWrappedMethodAsSource', 'testTransferOfObjectViaWrapping'
+ );
$methods = array();
foreach(get_class_methods('LocalhostTest') as $method)
*/
public function testProxy($method)
{
- if (!$this->args['PROXYSERVER'])
+ if ($this->args['PROXYSERVER'] == '')
{
$this->markTestSkipped('PROXY definition missing: cannot test proxy');
return;
$this->markTestSkipped('CURL missing: cannot test https functionality');
return;
}
+ else if ($this->args['HTTPSSERVER'] == '')
+ {
+ $this->markTestSkipped('HTTPS SERVER definition missing: cannot test https');
+ return;
+ }
$this->client->server = $this->args['HTTPSSERVER'];
$this->method = 'https';
{
if(!function_exists('curl_init'))
{
- $this->markTestSkipped('CURL missing: cannot test https functionality');
+ $this->markTestSkipped('CURL missing: cannot test https w. proxy');
return;
}
else if ($this->args['PROXYSERVER'] == '')
{
- $this->markTestSkipped('PROXY definition missing: cannot test proxy w. http 1.1');
+ $this->markTestSkipped('PROXY definition missing: cannot test proxy w. https');
return;
}
+ else if ($this->args['HTTPSSERVER'] == '')
+ {
+ $this->markTestSkipped('HTTPS SERVER definition missing: cannot test https w. proxy');
+ return;
+ }
+
$this->client->server = $this->args['HTTPSSERVER'];
$this->method = 'https';
$this->client->method = 'https';