php-src/ext/soap/interop/client_round2.php

114 lines
3.9 KiB
PHP

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Round 2 Interop Client Tests</title>
</head>
<body>
<a href="index.php">Back to Interop Index</a><br>
<p>&nbsp;</p>
<?php
require_once 'client_round2_interop.php';
$iop = new Interop_Client();
function endpointList($test,$sel_endpoint)
{
global $iop;
$iop->getEndpoints($test);
echo "<select name='endpoint'>\n";
echo "<option value=''>-- All Endpoints --</option>\n";
foreach ($iop->endpoints as $epname => $epinfo) {
$selected = '';
if ($sel_endpoint == $epname) $selected = ' SELECTED';
echo "<option value='$epname'$selected>$epname</option>\n";
}
echo "</select>\n";
}
function methodList($test,$sel_method)
{
global $iop;
global $soap_tests;
echo "<select name='method'>\n";
echo "<option value='ALL'>-- Run All Methods --</option>\n";
$prev_method = "";
foreach ($soap_tests[$test] as $x) {
$method = $x->test_name;
if ($method != $prev_method) {
$prev_method = $method;
$selected = '';
if ($sel_method == $method) $selected = ' SELECTED';
echo "<option value='$method'$selected>$method</option>\n";
}
}
echo "</select>\n";
}
function endpointTestForm($test, $endpoint, $method, $paramType, $useWSDL)
{
global $PHP_SELF;
if (!$test) $test = 'base';
echo "Round 2 '$test' Selected<br>\n";
echo "Select endpoint and method to run:<br>\n";
echo "<form action='$PHP_SELF' method='post'>\n";
echo "<input type='hidden' name='test' value='$test'>\n";
endpointList($test, $endpoint);
methodList($test, $method);
echo "<select name='paramType'>";
// echo "<option value='all'>-- All --</option>";
echo "<option value='soapval'".($paramType=='soapval'?' selected':'').">soap value</option>";
echo "<option value='php'".($paramType=='php'?' selected':'').">php internal type</option></select>\n";
echo "<select name='useWSDL'>";
// echo "<option value='all'>-- All --</option>";
echo "<option value='0'>go Direct</option>";
echo "<option value='1'".($useWSDL?' selected':'').">use WSDL</option></select>\n";
echo "<input type='submit' value='Go'>\n";
echo "</form><br>\n";
}
function testSelectForm($selected_test = NULL)
{
global $iop, $PHP_SELF;
echo "Select a Round 2 test case to run:<br>\n";
echo "<form action='$PHP_SELF' method='post'>\n";
echo "<select name='test'>\n";
foreach ($iop->tests as $test) {
$selected = '';
if ($selected_test == $test) $selected = ' SELECTED';
echo "<option value='$test'$selected>$test</option>\n";
}
echo "</select>\n";
echo "<input type='submit' value='Go'>\n";
echo "</form><br>\n";
}
testSelectForm($_POST['test']);
endpointTestForm($_POST['test'],$_POST['endpoint'],$_POST['method'],$_POST['paramType'],$_POST['useWSDL']);
if ($_POST['test'] && array_key_exists('endpoint', $_POST) && array_key_exists('method', $_POST)) {
// here we execute the orders
echo "<h2>Calling {$_POST['method']} at {$_POST['endpoint']}</h2>\n";
echo "NOTE: wire's are slightly modified to display better in web browsers.<br>\n";
$iop->currentTest = $_POST['test']; // see $tests above
$iop->paramType = $_POST['paramType']; // 'php' or 'soapval'
$iop->useWSDL = $_POST['useWSDL']; // 1= do wsdl tests
$iop->numServers = 0; // 0 = all
$iop->specificEndpoint = $_POST['endpoint']; // test only this endpoint
$iop->testMethod = $_POST['method']=='ALL'?'':$_POST['method']; // test only this method
$iop->skipEndpointList = array(); // endpoints to skip
$iop->nosave = 0; // 1= disable saving results to database
// debug output
$iop->show = 0;
$iop->debug = 0;
$iop->showFaults = 0; // used in result table output
echo '<pre>';
$iop->doTest(); // run a single set of tests using above options
echo '</pre>';
}
?>
</body>
</html>