示例#1
0
 /**
  * Test remove()
  *
  * @return void
  */
 public function testRemove()
 {
     $removeResponse = new Response(200, ['Content-Type' => 'text/plain']);
     $mockedClient = $this->getMockBuilder('\\Seafile\\Client\\Http\\Client')->getMock();
     $mockedClient->method('getConfig')->willReturn('http://example.com/');
     $expectUri = 'http://example.com/repos/some-crazy-id/';
     $expectParams = ['headers' => ['Accept' => "application/json"]];
     // @todo: Test more thoroughly. For example make sure request() gets called with POST twice (a, then b)
     $mockedClient->expects(self::any())->method('request')->will(self::returnCallback(function ($method, $uri, $params) use($removeResponse, $expectUri, $expectParams) {
         return $removeResponse;
     }));
     /**
      * @var Client $mockedClient
      */
     $sharedLinkResource = new SharedLink($mockedClient);
     $sharedLink = new SharedLinkType();
     $sharedLink->url = 'https://seafile.example.com/f/abc/';
     self::assertTrue($sharedLinkResource->remove($sharedLink));
 }
示例#2
0
$lib = $libraryResource->getById($libId);
$lib->password = $cfg->testLibPassword;
// library is encrypted and thus we provide a password
$success = $libraryResource->decrypt($libId, ['query' => ['password' => $cfg->testLibPassword]]);
// upload a Hello World file and random file name (note: this seems not to work at this time when you are not logged into the Seafile web frontend).
$newFilename = './Seafile-PHP-SDK_Test_Upload.txt';
if (!file_exists($newFilename)) {
    file_put_contents($newFilename, 'Hello World: ' . date('Y-m-d H:i:s'));
}
$logger->log(Logger::INFO, "#################### Uploading file " . $newFilename);
$response = $fileResource->upload($lib, $newFilename, '/');
// create share link for a file
$logger->log(Logger::INFO, "#################### Create share link for a file");
$expire = 5;
$shareType = SharedLinkType::SHARE_TYPE_DOWNLOAD;
$p = "/" . basename($newFilename);
$password = '******';
$shareLinkType = $sharedLinkResource->create($lib, $p, $expire, $shareType, $password);
var_dump($shareLinkType);
$logger->log(Logger::INFO, "#################### Get all shared links");
$response = $sharedLinkResource->getAll();
var_dump($response);
$logger->log(Logger::INFO, "#################### Sleeping 10s before deleting the shared link");
sleep(10);
$success = $sharedLinkResource->remove($shareLinkType);
if ($success) {
    $logger->log(Logger::INFO, "#################### Shared link deleted");
} else {
    $logger->log(Logger::INFO, "#################### Could not delete share link");
}
print PHP_EOL . 'Done' . PHP_EOL;