Tests were improved (https:// support)

This commit is contained in:
Dmitry Stogov 2004-01-09 14:56:24 +00:00
parent b9052251e7
commit 6af0639c92
8 changed files with 33 additions and 19 deletions

View file

@ -71,18 +71,18 @@ class Interop_Client
// set up local endpoint // set up local endpoint
$this->localEndpoint['base'] = (object)array( $this->localEndpoint['base'] = (object)array(
'endpointName'=>'PHP ext/soap', 'endpointName'=>'PHP ext/soap',
'endpointURL'=>'http://'.$_SERVER['SERVER_NAME'].dirname($_SERVER['PHP_SELF']).'/server_round2_base.php', 'endpointURL'=>'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/server_round2_base.php',
'wsdlURL'=>'http://'.$_SERVER['SERVER_NAME'].dirname($_SERVER['PHP_SELF']).'/interop.wsdl.php' 'wsdlURL'=>'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/interop.wsdl.php'
); );
$this->localEndpoint['GroupB'] = (object)array( $this->localEndpoint['GroupB'] = (object)array(
'endpointName'=>'PHP ext/soap', 'endpointName'=>'PHP ext/soap',
'endpointURL'=>'http://'.$_SERVER['SERVER_NAME'].dirname($_SERVER['PHP_SELF']).'/server_round2_groupB.php', 'endpointURL'=>'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/server_round2_groupB.php',
'wsdlURL'=>'http://'.$_SERVER['SERVER_NAME'].dirname($_SERVER['PHP_SELF']).'/interopB.wsdl.php' 'wsdlURL'=>'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/interopB.wsdl.php'
); );
$this->localEndpoint['GroupC'] = (object)array( $this->localEndpoint['GroupC'] = (object)array(
'endpointName'=>'PHP ext/soap', 'endpointName'=>'PHP ext/soap',
'endpointURL'=>'http://'.$_SERVER['SERVER_NAME'].dirname($_SERVER['PHP_SELF']).'/server_round2_groupC.php', 'endpointURL'=>'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/server_round2_groupC.php',
'wsdlURL'=>'http://'.$_SERVER['SERVER_NAME'].dirname($_SERVER['PHP_SELF']).'/echoheadersvc.wsdl.php' 'wsdlURL'=>'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/echoheadersvc.wsdl.php'
); );
} }
@ -481,9 +481,14 @@ class Interop_Client
// compare the results with what we sent // compare the results with what we sent
$ok = $this->compareResult($sent_d,$return, $sent->type); if ($soap_test->cmp_func !== NULL) {
if (!$ok && $soap_test->expect) { $cmp_func = $soap_test->cmp_func;
$ok = $cmp_func($sent_d,$return);
} else {
$ok = $this->compareResult($sent_d,$return, $sent->type);
if (!$ok && $soap_test->expect) {
$ok = $this->compareResult($soap_test->expect,$return); $ok = $this->compareResult($soap_test->expect,$return);
}
} }
// save the wire // save the wire

View file

@ -27,6 +27,7 @@ class SOAP_Test {
var $test_name = NULL; var $test_name = NULL;
var $method_name = NULL; var $method_name = NULL;
var $method_params = NULL; var $method_params = NULL;
var $cmp_func = NULL;
var $expect = NULL; var $expect = NULL;
var $expect_fault = FALSE; var $expect_fault = FALSE;
var $headers = NULL; var $headers = NULL;
@ -36,7 +37,7 @@ class SOAP_Test {
var $debug = 0; var $debug = 0;
var $encoding = 'UTF-8'; var $encoding = 'UTF-8';
function SOAP_Test($methodname, $params, $expect = NULL) { function SOAP_Test($methodname, $params, $expect = NULL, $cmp_func = NULL) {
# XXX we have to do this to make php-soap happy with NULL params # XXX we have to do this to make php-soap happy with NULL params
if (!$params) $params = array(); if (!$params) $params = array();
@ -51,6 +52,9 @@ class SOAP_Test {
if ($expect !== NULL) { if ($expect !== NULL) {
$this->expect = $expect; $this->expect = $expect;
} }
if ($cmp_func !== NULL) {
$this->cmp_func = $cmp_func;
}
// determine test type // determine test type
if ($params) { if ($params) {
@ -259,9 +263,9 @@ $soap_tests['base'][] = new SOAP_Test('echoBase64', array('inputBase64' =>
//*********************************************************** //***********************************************************
// Base echoHexBinary // Base echoHexBinary
$soap_tests['base'][] = new SOAP_Test('echoHexBinary', array('inputHexBinary' => '736F61707834')); $soap_tests['base'][] = new SOAP_Test('echoHexBinary', array('inputHexBinary' => '736F61707834'),'736F61707834','hex_compare');
$soap_tests['base'][] = new SOAP_Test('echoHexBinary', array('inputHexBinary' => $soap_tests['base'][] = new SOAP_Test('echoHexBinary', array('inputHexBinary' =>
soap_value('inputHexBinary','736F61707834',XSD_HEXBINARY))); soap_value('inputHexBinary','736F61707834',XSD_HEXBINARY)),'736F61707834','hex_compare');
//*********************************************************** //***********************************************************
// Base echoDecimal // Base echoDecimal

View file

@ -12,7 +12,7 @@ echo "\n";
<service name="interopLabEchoHeader"> <service name="interopLabEchoHeader">
<port name="interopPortEchoHdr" binding="tns:InteropEchoHeaderBinding"> <port name="interopPortEchoHdr" binding="tns:InteropEchoHeaderBinding">
<soap:address location="http://<?php echo ($_SERVER['SERVER_NAME'].dirname($_SERVER['PHP_SELF']));?>/server_round2.php"/> <soap:address location="<?php echo ((isset($_SERVER['HTTPS'])?"https://":"http://").$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']));?>/server_round2.php"/>
</port> </port>
</service> </service>

View file

@ -6,10 +6,10 @@
</head> </head>
<?php <?php
// get our endpoint // get our endpoint
$server = $_SERVER['SERVER_NAME'].':'.$_SERVER['SERVER_PORT']; $server = $_SERVER['HTTP_HOST'].':'.$_SERVER['SERVER_PORT'];
$base = 'http://'.$server.dirname($_SERVER['PHP_SELF'])."/interop.wsdl.php"; $base = (isset($_SERVER['HTTPS'])?"https://":"http://").$server.dirname($_SERVER['PHP_SELF'])."/interop.wsdl.php";
$groupb = 'http://'.$server.dirname($_SERVER['PHP_SELF'])."/interopB.wsdl.php"; $groupb = (isset($_SERVER['HTTPS'])?"https://":"http://").$server.dirname($_SERVER['PHP_SELF'])."/interopB.wsdl.php";
$groupc = 'http://'.$server.dirname($_SERVER['PHP_SELF'])."/echoheadersvc.wsdl.php"; $groupc = (isset($_SERVER['HTTPS'])?"https://":"http://").$server.dirname($_SERVER['PHP_SELF'])."/echoheadersvc.wsdl.php";
?> ?>
<body> <body>

View file

@ -328,7 +328,7 @@ echo "\n";
<service name="InteropTest"> <service name="InteropTest">
<port name="InteropTestPort" binding="tns:InteropTestBinding"> <port name="InteropTestPort" binding="tns:InteropTestBinding">
<soap:address location="http://<?php echo ($_SERVER['SERVER_NAME'].dirname($_SERVER['PHP_SELF']));?>/server_round2_base.php"/> <soap:address location="<?php echo ((isset($_SERVER['HTTPS'])?"https://":"http://").$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']));?>/server_round2_base.php"/>
</port> </port>
</service> </service>

View file

@ -139,7 +139,7 @@ class SOAP_Interop_Base {
} }
$server = new SoapServer("http://test-uri"); $server = new SoapServer("http://test-uri");
$server->bind("http://".$_SERVER['SERVER_NAME'].dirname($_SERVER['PHP_SELF'])."/interop.wsdl.php"); $server->bind((isset($_SERVER['HTTPS'])?"https://":"http://").$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/interop.wsdl.php");
$server->setClass("SOAP_Interop_Base"); $server->setClass("SOAP_Interop_Base");
$server->handle(); $server->handle();
?> ?>

View file

@ -64,7 +64,7 @@ class SOAP_Interop_GroupB {
} }
$server = new SoapServer("http://test-uri"); $server = new SoapServer("http://test-uri");
$server->bind("http://".$_SERVER['SERVER_NAME'].dirname($_SERVER['PHP_SELF'])."/interopB.wsdl.php"); $server->bind((isset($_SERVER['HTTPS'])?"https://":"http://").$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/interopB.wsdl.php");
$server->setClass("SOAP_Interop_GroupB"); $server->setClass("SOAP_Interop_GroupB");
$server->handle(); $server->handle();
?> ?>

View file

@ -1,5 +1,10 @@
<?php <?php
function hex_compare($f1, $f2)
{
return strcasecmp($f1,$f2) == 0;
}
function number_compare($f1, $f2) function number_compare($f1, $f2)
{ {
# figure out which has the least fractional digits # figure out which has the least fractional digits