Add tests
This commit is contained in:
parent
4533cb9c59
commit
0284c60c3a
|
@ -40,6 +40,9 @@ class Test_Files_Sharing_Api extends TestCase {
|
||||||
|
|
||||||
private static $tempStorage;
|
private static $tempStorage;
|
||||||
|
|
||||||
|
/** @var \OCP\Share\IManager */
|
||||||
|
private $shareManager;
|
||||||
|
|
||||||
protected function setUp() {
|
protected function setUp() {
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
|
@ -59,6 +62,8 @@ class Test_Files_Sharing_Api extends TestCase {
|
||||||
$this->view->mkdir($this->folder . $this->subfolder . $this->subsubfolder);
|
$this->view->mkdir($this->folder . $this->subfolder . $this->subsubfolder);
|
||||||
$this->view->file_put_contents($this->folder.$this->filename, $this->data);
|
$this->view->file_put_contents($this->folder.$this->filename, $this->data);
|
||||||
$this->view->file_put_contents($this->folder . $this->subfolder . $this->filename, $this->data);
|
$this->view->file_put_contents($this->folder . $this->subfolder . $this->filename, $this->data);
|
||||||
|
|
||||||
|
$this->shareManager = \OC::$server->getShareManager();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function tearDown() {
|
protected function tearDown() {
|
||||||
|
@ -72,6 +77,40 @@ class Test_Files_Sharing_Api extends TestCase {
|
||||||
parent::tearDown();
|
parent::tearDown();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param array $data
|
||||||
|
* @return \OCP\IRequest
|
||||||
|
*/
|
||||||
|
private function createRequest(array $data) {
|
||||||
|
$request = $this->getMock('\OCP\IRequest');
|
||||||
|
$request->method('getParam')
|
||||||
|
->will($this->returnCallback(function($param, $default = null) use ($data) {
|
||||||
|
if (isset($data[$param])) {
|
||||||
|
return $data[$param];
|
||||||
|
}
|
||||||
|
return $default;
|
||||||
|
}));
|
||||||
|
return $request;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param \OCP\IRequest $request
|
||||||
|
* @param string $userId The userId of the caller
|
||||||
|
* @return \OCA\Files_Sharing\API\Share20OCS
|
||||||
|
*/
|
||||||
|
private function createOCS($request, $userId) {
|
||||||
|
$currentUser = \OC::$server->getUserManager()->get($userId);
|
||||||
|
return new \OCA\Files_Sharing\API\Share20OCS(
|
||||||
|
$this->shareManager,
|
||||||
|
\OC::$server->getGroupManager(),
|
||||||
|
\OC::$server->getUserManager(),
|
||||||
|
$request,
|
||||||
|
\OC::$server->getRootFolder(),
|
||||||
|
\OC::$server->getURLGenerator(),
|
||||||
|
$currentUser
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @medium
|
* @medium
|
||||||
*/
|
*/
|
||||||
|
@ -1725,4 +1764,85 @@ class Test_Files_Sharing_Api extends TestCase {
|
||||||
$config->setAppValue('core', 'shareapi_enforce_expire_date', 'no');
|
$config->setAppValue('core', 'shareapi_enforce_expire_date', 'no');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* test for no invisible shares
|
||||||
|
* See: https://github.com/owncloud/core/issues/22295
|
||||||
|
*/
|
||||||
|
public function testInvisibleSharesUser() {
|
||||||
|
// simulate a post request
|
||||||
|
$request = $this->createRequest([
|
||||||
|
'path' => $this->folder,
|
||||||
|
'shareWith' => self::TEST_FILES_SHARING_API_USER2,
|
||||||
|
'shareType' => \OCP\Share::SHARE_TYPE_USER
|
||||||
|
]);
|
||||||
|
$ocs = $this->createOCS($request, self::TEST_FILES_SHARING_API_USER1);
|
||||||
|
$result = $ocs->createShare();
|
||||||
|
$this->assertTrue($result->succeeded());
|
||||||
|
$data = $result->getData();
|
||||||
|
|
||||||
|
$topId = $data['id'];
|
||||||
|
|
||||||
|
$request = $this->createRequest([
|
||||||
|
'path' => $this->folder . $this->subfolder,
|
||||||
|
'shareType' => \OCP\Share::SHARE_TYPE_LINK,
|
||||||
|
]);
|
||||||
|
$ocs = $this->createOCS($request, self::TEST_FILES_SHARING_API_USER2);
|
||||||
|
$result = $ocs->createShare();
|
||||||
|
$this->assertTrue($result->succeeded());
|
||||||
|
|
||||||
|
$request = $this->createRequest([]);
|
||||||
|
$ocs = $this->createOCS($request, self::TEST_FILES_SHARING_API_USER1);
|
||||||
|
$result = $ocs->deleteShare($topId);
|
||||||
|
$this->assertTrue($result->succeeded());
|
||||||
|
|
||||||
|
$request = $this->createRequest([
|
||||||
|
'reshares' => 'true',
|
||||||
|
]);
|
||||||
|
$ocs = $this->createOCS($request, self::TEST_FILES_SHARING_API_USER1);
|
||||||
|
$result = $ocs->getShares();
|
||||||
|
$this->assertTrue($result->succeeded());
|
||||||
|
|
||||||
|
$this->assertEmpty($result->getData());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* test for no invisible shares
|
||||||
|
* See: https://github.com/owncloud/core/issues/22295
|
||||||
|
*/
|
||||||
|
public function testInvisibleSharesGroup() {
|
||||||
|
// simulate a post request
|
||||||
|
$request = $this->createRequest([
|
||||||
|
'path' => $this->folder,
|
||||||
|
'shareWith' => self::TEST_FILES_SHARING_API_GROUP1,
|
||||||
|
'shareType' => \OCP\Share::SHARE_TYPE_GROUP
|
||||||
|
]);
|
||||||
|
$ocs = $this->createOCS($request, self::TEST_FILES_SHARING_API_USER1);
|
||||||
|
$result = $ocs->createShare();
|
||||||
|
$this->assertTrue($result->succeeded());
|
||||||
|
$data = $result->getData();
|
||||||
|
|
||||||
|
$topId = $data['id'];
|
||||||
|
|
||||||
|
$request = $this->createRequest([
|
||||||
|
'path' => $this->folder . $this->subfolder,
|
||||||
|
'shareType' => \OCP\Share::SHARE_TYPE_LINK,
|
||||||
|
]);
|
||||||
|
$ocs = $this->createOCS($request, self::TEST_FILES_SHARING_API_USER2);
|
||||||
|
$result = $ocs->createShare();
|
||||||
|
$this->assertTrue($result->succeeded());
|
||||||
|
|
||||||
|
$request = $this->createRequest([]);
|
||||||
|
$ocs = $this->createOCS($request, self::TEST_FILES_SHARING_API_USER1);
|
||||||
|
$result = $ocs->deleteShare($topId);
|
||||||
|
$this->assertTrue($result->succeeded());
|
||||||
|
|
||||||
|
$request = $this->createRequest([
|
||||||
|
'reshares' => 'true',
|
||||||
|
]);
|
||||||
|
$ocs = $this->createOCS($request, self::TEST_FILES_SHARING_API_USER1);
|
||||||
|
$result = $ocs->getShares();
|
||||||
|
$this->assertTrue($result->succeeded());
|
||||||
|
|
||||||
|
$this->assertEmpty($result->getData());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue