/** * 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)); }
$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;