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;
|
||||
|
||||
/** @var \OCP\Share\IManager */
|
||||
private $shareManager;
|
||||
|
||||
protected function 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->file_put_contents($this->folder.$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() {
|
||||
|
@ -72,6 +77,40 @@ class Test_Files_Sharing_Api extends TestCase {
|
|||
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
|
||||
*/
|
||||
|
@ -1725,4 +1764,85 @@ class Test_Files_Sharing_Api extends TestCase {
|
|||
$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