$newtester = new $ct($idpmetadata, $spm->parsed, $inputmeta['metadata'], $initsso, $initslo, $attributeurl); $testers[] = $newtester; $newflows = $newtester->getFlows(); foreach ($newflows as $nf => $name) { $flows[] = array('id' => $ct . '__' . $nf, 'name' => $name); } } } catch (Exception $e) { echo 'Error: ' . $e->getMessage() . "\n"; exit(1); } if ($action === 'check') { try { $testprogramme = new sspmod_fedlab_TestProgramme($testconfig, $idpmetadata, $spm->parsed, $spm->xmlmetadata, $initsso, $initslo, $attributeurl); $test = new sspmod_fedlab_BasicSPTest($idpmetadata, $spm->parsed, $inputmeta['metadata'], $initsso, $initslo, $attributeurl); $res = $test->simpleTest(); $result = array('status' => 0, 'id' => 'verify'); } catch (Exception $e) { $result = array('id' => 'verify', 'status' => 4, 'message' => $e->getMessage()); } echo json_encode($result, TRUE); exit(0); } else { if ($action === 'runTest') { if (empty($argv[2])) { throw new Exception('Missing parameter name of test'); } $test = $argv[2]; $splitted = explode('__', $test); $testername = $splitted[0]; $flowname = $splitted[1];
$initslo = $spm->initslo; $attributeurl = $spm->attributeurl; if (empty($initurl)) { throw new Exception('InitSSO parameter not found in metadata (EntityAttribute extension)'); } if (empty($attributeurl)) { $attributeurl = $initurl; } $idpentityid = SimpleSAML_Utilities::getBaseURL() . 'module.php/fedlab/metadata.php'; $idpmetadata = array('entityid' => $idpentityid, 'certificate' => 'server.crt', 'privatekey' => 'server.pem'); $testconfig = array('sspmod_fedlab_BasicSPTest', 'sspmod_fedlab_AuthnRequestVerify', 'sspmod_fedlab_ExtendedSPTest', 'sspmod_fedlab_tests_CheckRequestID', 'sspmod_fedlab_tests_Metadata', 'sspmod_fedlab_tests_Replay', 'sspmod_fedlab_tests_MultipleAttr', 'sspmod_fedlab_tests_TrickySignature', 'sspmod_fedlab_tests_TrickySignature2', 'sspmod_fedlab_tests_MultipleAssertions', 'sspmod_fedlab_tests_SLOTest', 'sspmod_fedlab_tests_IdPInitSLOTest', 'sspmod_fedlab_tests_IdPInitSLONoCookie', 'sspmod_fedlab_tests_SessionFixtation', 'sspmod_fedlab_tests_LogoutBeforeAssertion'); $testprogramme = new sspmod_fedlab_TestProgramme($testconfig, $idpmetadata, $spm->parsed, $spm->xmlmetadata, $initurl, $initslo, $attributeurl); $session->setData('fedlab', 'testprogramme', $testprogramme); $test = new sspmod_fedlab_BasicSPTest($idpmetadata, $spm->parsed, $entity, $initurl, $initslo, $attributeurl); error_log('before test2'); $test->simpleTest(); error_log('after test'); $result = array('status' => 'success'); } catch (Exception $e) { $err = $e->getTraceAsString(); foreach (split("\n", $err) as $el) { error_log('exception: ' . $el); } $result = array('status' => 'error', 'message' => $e->getMessage()); } /* * The first two headers prevent the browser from caching the response (a problem with IE and GET requests) * and the third sets the correct MIME type for JSON. */ header('Cache-Control: no-cache, must-revalidate'); header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');