function uploadPath($sc, $dbg, $rootDir, $relativePath) { handleResponse("mkdir {$relativePath}", $dbg, $sc->call("createDirectory", array('relativePath' => $relativePath), "POST")); $fullDir = $rootDir . DIRECTORY_SEPARATOR . $relativePath; foreach (glob($fullDir . DIRECTORY_SEPARATOR . "*") as $fileName) { echo $fileName . "\n"; if (is_file($fileName)) { $r = handleResponse("utoken {$fileName}", $dbg, $sc->call("getUploadToken", array('relativePath' => $relativePath . DIRECTORY_SEPARATOR . basename($fileName), 'fileSize' => filesize($fileName)), "POST")); handleResponse("ufile {$fileName}", $dbg, uploadFile($r->data->uploadLocation, $fileName, 1024 * 1024)); } else { if (is_dir($fileName)) { uploadPath($sc, $dbg, $rootDir, $relativePath . DIRECTORY_SEPARATOR . basename($fileName)); } } } }
$spMetadata = $GLOBALS['metadata']->getMetaDataConfig($GLOBALS['spEntityId'], 'saml20-sp-hosted'); $assertion = sspmod_saml_Message::processResponse($spMetadata, $idpMetadata, $response); if (count($assertion) > 1) { throw new SimpleSAML_Error_Exception('More than one assertion in received response.'); } $assertion = $assertion[0]; $dataId = $response->getRelayState(); if ($dataId === NULL) { throw new SimpleSAML_Error_Exception('RelayState was lost during request.'); } $data = $GLOBALS['session']->getData('attributequeryexample:data', $dataId); $data['attributes'] = $assertion->getAttributes(); $GLOBALS['session']->setData('attributequeryexample:data', $dataId, $data, 3600); SimpleSAML_Utilities::redirect(SimpleSAML_Utilities::selfURLNoQuery(), array('dataId' => $dataId)); } handleResponse(); $defNameId = $session->getNameId(); if (empty($defNameId)) { $defNameId = array(); } if (!array_key_exists('Value', $defNameId)) { $defNameId['Value'] = SimpleSAML_Utilities::generateID(); } if (!array_key_exists('Format', $defNameId)) { $defNameId['Format'] = SAML2_Const::NAMEID_TRANSIENT; } if (!array_key_exists('NameQualifier', $defNameId) || $defNameId['NameQualifier'] === NULL) { $defNameId['NameQualifier'] = ''; } if (!array_key_exists('SPNameQualifier', $defNameId) || $defNameId['SPNameQualifier'] === NULL) { $defNameId['SPNameQualifier'] = '';
function handleNegativeResponse($testName = "test", $debug = FALSE, $response) { return handleResponse($testName, $debug, $response, TRUE); }
// $dbg = TRUE; $dbg = FALSE; $storageProvider = array('displayName' => 'Test Server', 'apiUrl' => 'http://localhost/filetrader/fts', 'consumerKey' => '12345', 'consumerSecret' => '54321'); $sc = new StorageClient($storageProvider); $sc->performDecode(TRUE); handleResponse("ping " . $storageProvider['apiUrl'], $dbg, $sc->call("pingServer")); handleNegativeResponse("mkdir {$dirName}/{$otherDirName}", $dbg, $sc->call("createDirectory", array('relativePath' => "{$dirName}/{$otherDirName}"), "POST")); handleResponse("mkdir {$dirName}", $dbg, $sc->call("createDirectory", array('relativePath' => $dirName), "POST")); handleResponse("mkdir {$dirName}/{$otherDirName}", $dbg, $sc->call("createDirectory", array('relativePath' => "{$dirName}/{$otherDirName}"), "POST")); handleNegativeResponse("mkdir {$dirName}/{$otherDirName}/.test", $dbg, $sc->call("createDirectory", array('relativePath' => "{$dirName}/{$otherDirName}/.test"), "POST")); handleNegativeResponse("mkdir ../test", $dbg, $sc->call("createDirectory", array('relativePath' => "../test"), "POST")); handleNegativeResponse("setdesc {$fileName}", $dbg, $sc->call('setDescription', array('relativePath' => $fileName, 'fileDescription' => 'Hello World'), "POST")); handleNegativeResponse("getdesc {$fileName}", $dbg, $sc->call('getDescription', array('relativePath' => $fileName), "POST")); /* upload a file, use random name, but actually send COPYING as it is * there anyway... */ $r = handleResponse("utoken {$fileName}", $dbg, $sc->call("getUploadToken", array('relativePath' => $fileName, 'fileSize' => filesize("COPYING")), "POST")); handleResponse("ufile {$fileName}", $dbg, uploadFile($r->uploadLocation, "COPYING", 1024)); handleResponse("setdesc {$fileName}", $dbg, $sc->call('setDescription', array('relativePath' => $fileName, 'fileDescription' => "'Hello World'"), "POST")); $d = handleResponse("getdesc {$fileName}", $dbg, $sc->call('getDescription', array('relativePath' => $fileName), "POST")); if ($d->fileDescription !== "'Hello World'") { die("FAIL"); } $r = handleResponse("dtoken {$fileName}", $dbg, $sc->call("getDownloadToken", array('relativePath' => $fileName), "POST")); handleResponse("dfile {$fileName}", $dbg, downloadFile($r->downloadLocation, "COPYING")); handleResponse("ls .", $dbg, $sc->call("getDirList", array('relativePath' => '.'), "GET")); handleResponse("ls {$dirName}", $dbg, $sc->call("getDirList", array('relativePath' => $dirName), "GET")); handleNegativeResponse("rmdir {$dirName}", $dbg, $sc->call("deleteDirectory", array('relativePath' => $dirName), "POST")); handleResponse("rmdir {$dirName}/{$otherDirName}", $dbg, $sc->call("deleteDirectory", array('relativePath' => "{$dirName}/{$otherDirName}"), "POST")); handleResponse("rmdir {$dirName}", $dbg, $sc->call("deleteDirectory", array('relativePath' => $dirName), "POST")); handleResponse("rm {$fileName}", $dbg, $sc->call("deleteFile", array('relativePath' => $fileName), "POST")); handleNegativeResponse("setdesc {$fileName}", $dbg, $sc->call('setDescription', array('relativePath' => $fileName, 'fileDescription' => 'Hello World'), "POST"));