diff options
Diffstat (limited to 'ext/soap/interop/client_round2.php')
-rw-r--r-- | ext/soap/interop/client_round2.php | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/ext/soap/interop/client_round2.php b/ext/soap/interop/client_round2.php new file mode 100644 index 0000000..c130747 --- /dev/null +++ b/ext/soap/interop/client_round2.php @@ -0,0 +1,113 @@ +<!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> </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> |