Current File : //opt/alt/php56/usr/share/pear/test/XML_RPC/tests/protoport.php |
<?php
/**
* Tests that properties of XML_RPC_Client get properly set
*
* Any individual tests that fail will have their name, expected result
* and actual result printed out. So seeing no output when executing
* this file is a good thing.
*
* Can be run via CLI or a web server.
*
* PHP versions 4 and 5
*
* @category Web Services
* @package XML_RPC
* @author Daniel Convissor <danielc@php.net>
* @copyright 2005-2010 The PHP Group
* @license http://www.php.net/license/3_01.txt PHP License
* @version SVN: $Id: protoport.php 300957 2010-07-02 23:55:00Z danielc $
* @link http://pear.php.net/package/XML_RPC
* @since File available since Release 1.2
*/
/*
* If the package version number is found in the left hand
* portion of the if() expression below, that means this file has
* come from the PEAR installer. Therefore, let's test the
* installed version of XML_RPC which should be in the include path.
*
* If the version has not been substituted in the if() expression,
* this file has likely come from a SVN checkout or a .tar file.
* Therefore, we'll assume the tests should use the version of
* XML_RPC that has come from there as well.
*/
if ('1.5.5' == '@'.'package_version'.'@') {
ini_set('include_path', '../'
. PATH_SEPARATOR . '.' . PATH_SEPARATOR
. ini_get('include_path')
);
}
require_once 'XML/RPC.php';
/**
* Compare the test result to the expected result
*
* If the test fails, echo out the results.
*
* @param array $expect the array of object properties you expect
* from the test
* @param object $actual the object results from the test
* @param string $test_name the name of the test
*
* @return void
*/
function compare($expect, $actual, $test_name) {
$actual = get_object_vars($actual);
if (count(array_diff($actual, $expect))) {
echo "$test_name failed.\nExpect: ";
print_r($expect);
echo "Actual: ";
print_r($actual);
echo "\n";
}
}
if (php_sapi_name() != 'cli') {
echo "<pre>\n";
}
$x = array(
'path' => 'thepath',
'server' => 'theserver',
'protocol' => 'http://',
'port' => 80,
'proxy' => '',
'proxy_protocol' => 'http://',
'proxy_port' => 8080,
'proxy_user' => '',
'proxy_pass' => '',
'errno' => 0,
'errstring' => '',
'debug' => 0,
'username' => '',
'password' => '',
);
$c = new XML_RPC_Client('thepath', 'theserver');
compare($x, $c, 'defaults');
$x = array(
'path' => 'thepath',
'server' => 'theserver',
'protocol' => 'http://',
'port' => 80,
'proxy' => '',
'proxy_protocol' => 'http://',
'proxy_port' => 8080,
'proxy_user' => '',
'proxy_pass' => '',
'errno' => 0,
'errstring' => '',
'debug' => 0,
'username' => '',
'password' => '',
);
$c = new XML_RPC_Client('thepath', 'http://theserver');
compare($x, $c, 'defaults with http');
$x = array(
'path' => 'thepath',
'server' => 'theserver',
'protocol' => 'ssl://',
'port' => 443,
'proxy' => '',
'proxy_protocol' => 'http://',
'proxy_port' => 8080,
'proxy_user' => '',
'proxy_pass' => '',
'errno' => 0,
'errstring' => '',
'debug' => 0,
'username' => '',
'password' => '',
);
$c = new XML_RPC_Client('thepath', 'https://theserver');
compare($x, $c, 'defaults with https');
$x = array(
'path' => 'thepath',
'server' => 'theserver',
'protocol' => 'ssl://',
'port' => 443,
'proxy' => '',
'proxy_protocol' => 'http://',
'proxy_port' => 8080,
'proxy_user' => '',
'proxy_pass' => '',
'errno' => 0,
'errstring' => '',
'debug' => 0,
'username' => '',
'password' => '',
);
$c = new XML_RPC_Client('thepath', 'ssl://theserver');
compare($x, $c, 'defaults with ssl');
$x = array(
'path' => 'thepath',
'server' => 'theserver',
'protocol' => 'http://',
'port' => 65,
'proxy' => '',
'proxy_protocol' => 'http://',
'proxy_port' => 8080,
'proxy_user' => '',
'proxy_pass' => '',
'errno' => 0,
'errstring' => '',
'debug' => 0,
'username' => '',
'password' => '',
);
$c = new XML_RPC_Client('thepath', 'theserver', 65);
compare($x, $c, 'port 65');
$x = array(
'path' => 'thepath',
'server' => 'theserver',
'protocol' => 'http://',
'port' => 65,
'proxy' => '',
'proxy_protocol' => 'http://',
'proxy_port' => 8080,
'proxy_user' => '',
'proxy_pass' => '',
'errno' => 0,
'errstring' => '',
'debug' => 0,
'username' => '',
'password' => '',
);
$c = new XML_RPC_Client('thepath', 'http://theserver', 65);
compare($x, $c, 'port 65 with http');
$x = array(
'path' => 'thepath',
'server' => 'theserver',
'protocol' => 'ssl://',
'port' => 65,
'proxy' => '',
'proxy_protocol' => 'http://',
'proxy_port' => 8080,
'proxy_user' => '',
'proxy_pass' => '',
'errno' => 0,
'errstring' => '',
'debug' => 0,
'username' => '',
'password' => '',
);
$c = new XML_RPC_Client('thepath', 'https://theserver', 65);
compare($x, $c, 'port 65 with https');
$x = array(
'path' => 'thepath',
'server' => 'theserver',
'protocol' => 'ssl://',
'port' => 65,
'proxy' => '',
'proxy_protocol' => 'http://',
'proxy_port' => 8080,
'proxy_user' => '',
'proxy_pass' => '',
'errno' => 0,
'errstring' => '',
'debug' => 0,
'username' => '',
'password' => '',
);
$c = new XML_RPC_Client('thepath', 'ssl://theserver', 65);
compare($x, $c, 'port 65 with ssl');
$x = array(
'path' => 'thepath',
'server' => 'theserver',
'protocol' => 'http://',
'port' => 80,
'proxy' => 'theproxy',
'proxy_protocol' => 'http://',
'proxy_port' => 8080,
'proxy_user' => '',
'proxy_pass' => '',
'errno' => 0,
'errstring' => '',
'debug' => 0,
'username' => '',
'password' => '',
);
$c = new XML_RPC_Client('thepath', 'theserver', 0,
'theproxy');
compare($x, $c, 'defaults proxy');
$x = array(
'path' => 'thepath',
'server' => 'theserver',
'protocol' => 'http://',
'port' => 80,
'proxy' => 'theproxy',
'proxy_protocol' => 'http://',
'proxy_port' => 8080,
'proxy_user' => '',
'proxy_pass' => '',
'errno' => 0,
'errstring' => '',
'debug' => 0,
'username' => '',
'password' => '',
);
$c = new XML_RPC_Client('thepath', 'http://theserver', 0,
'http://theproxy');
compare($x, $c, 'defaults with http proxy');
$x = array(
'path' => 'thepath',
'server' => 'theserver',
'protocol' => 'ssl://',
'port' => 443,
'proxy' => 'theproxy',
'proxy_protocol' => 'ssl://',
'proxy_port' => 443,
'proxy_user' => '',
'proxy_pass' => '',
'errno' => 0,
'errstring' => '',
'debug' => 0,
'username' => '',
'password' => '',
);
$c = new XML_RPC_Client('thepath', 'https://theserver', 0,
'https://theproxy');
compare($x, $c, 'defaults with https proxy');
$x = array(
'path' => 'thepath',
'server' => 'theserver',
'protocol' => 'ssl://',
'port' => 443,
'proxy' => 'theproxy',
'proxy_protocol' => 'ssl://',
'proxy_port' => 443,
'proxy_user' => '',
'proxy_pass' => '',
'errno' => 0,
'errstring' => '',
'debug' => 0,
'username' => '',
'password' => '',
);
$c = new XML_RPC_Client('thepath', 'ssl://theserver', 0,
'ssl://theproxy');
compare($x, $c, 'defaults with ssl proxy');
$x = array(
'path' => 'thepath',
'server' => 'theserver',
'protocol' => 'http://',
'port' => 65,
'proxy' => 'theproxy',
'proxy_protocol' => 'http://',
'proxy_port' => 6565,
'proxy_user' => '',
'proxy_pass' => '',
'errno' => 0,
'errstring' => '',
'debug' => 0,
'username' => '',
'password' => '',
);
$c = new XML_RPC_Client('thepath', 'theserver', 65,
'theproxy', 6565);
compare($x, $c, 'port 65 proxy 6565');
$x = array(
'path' => 'thepath',
'server' => 'theserver',
'protocol' => 'http://',
'port' => 65,
'proxy' => 'theproxy',
'proxy_protocol' => 'http://',
'proxy_port' => 6565,
'proxy_user' => '',
'proxy_pass' => '',
'errno' => 0,
'errstring' => '',
'debug' => 0,
'username' => '',
'password' => '',
);
$c = new XML_RPC_Client('thepath', 'http://theserver', 65,
'http://theproxy', 6565);
compare($x, $c, 'port 65 with http proxy 6565');
$x = array(
'path' => 'thepath',
'server' => 'theserver',
'protocol' => 'ssl://',
'port' => 65,
'proxy' => 'theproxy',
'proxy_protocol' => 'ssl://',
'proxy_port' => 6565,
'proxy_user' => '',
'proxy_pass' => '',
'errno' => 0,
'errstring' => '',
'debug' => 0,
'username' => '',
'password' => '',
);
$c = new XML_RPC_Client('thepath', 'https://theserver', 65,
'https://theproxy', 6565);
compare($x, $c, 'port 65 with https proxy 6565');
$x = array(
'path' => 'thepath',
'server' => 'theserver',
'protocol' => 'ssl://',
'port' => 65,
'proxy' => 'theproxy',
'proxy_protocol' => 'ssl://',
'proxy_port' => 6565,
'proxy_user' => '',
'proxy_pass' => '',
'errno' => 0,
'errstring' => '',
'debug' => 0,
'username' => '',
'password' => '',
);
$c = new XML_RPC_Client('thepath', 'ssl://theserver', 65,
'ssl://theproxy', 6565);
compare($x, $c, 'port 65 with ssl proxy 6565');
$x = array(
'path' => 'thepath',
'server' => 'theserver',
'protocol' => 'ssl://',
'port' => 443,
'proxy' => 'theproxy',
'proxy_protocol' => 'ssl://',
'proxy_port' => 443,
'proxy_user' => '',
'proxy_pass' => '',
'errno' => 0,
'errstring' => '',
'debug' => 0,
'username' => '',
'password' => '',
);
$c = new XML_RPC_Client('thepath', 'theserver', 443,
'theproxy', 443);
compare($x, $c, 'port 443 no protocol and proxy port 443 no protocol');
$x = array(
'path' => 'thepath',
'server' => 'theserver',
'protocol' => 'http://',
'port' => 80,
'proxy' => 'theproxy',
'proxy_protocol' => 'ssl://',
'proxy_port' => 6565,
'proxy_user' => '',
'proxy_pass' => '',
'errno' => 0,
'errstring' => '',
'debug' => 0,
'username' => '',
'password' => '',
);
$c = new XML_RPC_Client('thepath', 'theserver', 0,
'ssl://theproxy', 6565);
compare($x, $c, 'port 443 no protocol and proxy port 443 no protocol');
echo "\nIf no other output was produced, these tests passed.\n";