예제 #1
0
$directoryResource = new Directory($client);
$fileResource = new File($client);
// get all libraries available
$logger->log(Logger::INFO, "#################### Getting all libraries");
$libs = $libraryResource->getAll();
foreach ($libs as $lib) {
    printf("Name: %s, ID: %s, is encrypted: %s\n", $lib->name, $lib->id, $lib->encrypted ? 'YES' : 'NO');
}
$libId = $cfg->testLibId;
// get specific library
$logger->log(Logger::INFO, "#################### Getting lib with ID " . $libId);
$lib = $libraryResource->getById($libId);
$lib->password = $cfg->testLibPassword;
// library is encrypted and thus we provide a password
if ($lib->encrypted) {
    $success = $libraryResource->decrypt($libId, ['query' => ['password' => $cfg->testLibPassword]]);
    $logger->log(Logger::INFO, "#################### Decrypting library " . $libId . ' was ' . ($success ? '' : 'un') . 'successful');
} else {
    $logger->log(Logger::INFO, "#################### Library is not encrypted: " . $libId);
}
// list library
$logger->log(Logger::INFO, "#################### Listing items of that library...");
$items = $directoryResource->getAll($lib);
$logger->log(Logger::INFO, sprintf("\nGot %d items", count($items)));
foreach ($items as $item) {
    printf("%s: %s (%d bytes)\n\n", $item->type, $item->name, $item->size);
}
$logger->log(Logger::INFO, "#################### Done listing items of that library.");
if (count($items) > 0) {
    // download first file
    $saveTo = './downloaded_' . $items[0]->name;
예제 #2
0
 /**
  * Decryption succeeds
  *
  * @return void
  * @throws \Exception
  */
 public function testDecryptSuccessfully()
 {
     $library = new Library($this->getMockedClient(new Response(200, ['Content-Type' => 'application/json'], '"success"')));
     self::assertTrue($library->decrypt('some id', ['query' => ['password' => 'some password']]));
 }