|
|
|
|
@ -34,15 +34,17 @@ class Test_Files_Sharing_Api extends Test_Files_Sharing_Base {
|
|
|
|
|
|
|
|
|
|
$this->folder = '/folder_share_api_test';
|
|
|
|
|
$this->subfolder = '/subfolder_share_api_test';
|
|
|
|
|
$this->subsubfolder = '/subsubfolder_share_api_test';
|
|
|
|
|
|
|
|
|
|
$this->filename = 'share-api-test.txt';
|
|
|
|
|
$this->filename = '/share-api-test.txt';
|
|
|
|
|
|
|
|
|
|
// save file with content
|
|
|
|
|
$this->view->file_put_contents($this->filename, $this->data);
|
|
|
|
|
$this->view->mkdir($this->folder);
|
|
|
|
|
$this->view->mkdir($this->folder . '/' . $this->subfolder);
|
|
|
|
|
$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->mkdir($this->folder . $this->subfolder);
|
|
|
|
|
$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);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function tearDown() {
|
|
|
|
|
@ -323,9 +325,9 @@ class Test_Files_Sharing_Api extends Test_Files_Sharing_Base {
|
|
|
|
|
|
|
|
|
|
$testValues=array(
|
|
|
|
|
array('query' => 'Shared/' . $this->folder,
|
|
|
|
|
'expectedResult' => '/Shared' . $this->folder . '/' . $this->filename),
|
|
|
|
|
'expectedResult' => '/Shared' . $this->folder . $this->filename),
|
|
|
|
|
array('query' => 'Shared/' . $this->folder . $this->subfolder,
|
|
|
|
|
'expectedResult' => '/Shared' . $this->folder . $this->subfolder . '/' . $this->filename),
|
|
|
|
|
'expectedResult' => '/Shared' . $this->folder . $this->subfolder . $this->filename),
|
|
|
|
|
);
|
|
|
|
|
foreach ($testValues as $value) {
|
|
|
|
|
|
|
|
|
|
@ -354,6 +356,195 @@ class Test_Files_Sharing_Api extends Test_Files_Sharing_Base {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief reshare a sub folder and check if we get the correct path
|
|
|
|
|
* @medium
|
|
|
|
|
*/
|
|
|
|
|
function testGetShareFromSubFolderReShares() {
|
|
|
|
|
|
|
|
|
|
self::loginHelper(self::TEST_FILES_SHARING_API_USER1);
|
|
|
|
|
|
|
|
|
|
$fileInfo = $this->view->getFileInfo($this->folder . $this->subfolder);
|
|
|
|
|
|
|
|
|
|
// share sub-folder to user2
|
|
|
|
|
$result = \OCP\Share::shareItem('folder', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER,
|
|
|
|
|
\Test_Files_Sharing_Api::TEST_FILES_SHARING_API_USER2, 31);
|
|
|
|
|
|
|
|
|
|
// share was successful?
|
|
|
|
|
$this->assertTrue($result);
|
|
|
|
|
|
|
|
|
|
// login as user2
|
|
|
|
|
self::loginHelper(self::TEST_FILES_SHARING_API_USER2);
|
|
|
|
|
|
|
|
|
|
// reshare subfolder
|
|
|
|
|
$result = \OCP\Share::shareItem('folder', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_LINK, null, 1);
|
|
|
|
|
|
|
|
|
|
// share was successful?
|
|
|
|
|
$this->assertTrue(is_string($result));
|
|
|
|
|
|
|
|
|
|
$_GET['path'] = '/Shared';
|
|
|
|
|
$_GET['subfiles'] = 'true';
|
|
|
|
|
|
|
|
|
|
$result = Share\Api::getAllShares(array());
|
|
|
|
|
|
|
|
|
|
$this->assertTrue($result->succeeded());
|
|
|
|
|
|
|
|
|
|
// test should return one share within $this->folder
|
|
|
|
|
$data = $result->getData();
|
|
|
|
|
|
|
|
|
|
// we should get exactly one result
|
|
|
|
|
$this->assertEquals(1, count($data));
|
|
|
|
|
|
|
|
|
|
$expectedPath = '/Shared' . $this->subfolder;
|
|
|
|
|
$this->assertEquals($expectedPath, $data[0]['path']);
|
|
|
|
|
|
|
|
|
|
// cleanup
|
|
|
|
|
$result = \OCP\Share::unshare('folder', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_LINK, null);
|
|
|
|
|
$this->assertTrue($result);
|
|
|
|
|
|
|
|
|
|
self::loginHelper(self::TEST_FILES_SHARING_API_USER1);
|
|
|
|
|
$result = \OCP\Share::unshare('folder', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER,
|
|
|
|
|
\Test_Files_Sharing_Api::TEST_FILES_SHARING_API_USER2);
|
|
|
|
|
$this->assertTrue($result);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief test re-re-share of folder if the path gets constructed correctly
|
|
|
|
|
* @medium
|
|
|
|
|
*/
|
|
|
|
|
function testGetShareFromFolderReReShares() {
|
|
|
|
|
|
|
|
|
|
self::loginHelper(self::TEST_FILES_SHARING_API_USER1);
|
|
|
|
|
|
|
|
|
|
$fileInfo1 = $this->view->getFileInfo($this->folder . $this->subfolder);
|
|
|
|
|
$fileInfo2 = $this->view->getFileInfo($this->folder . $this->subfolder . $this->subsubfolder);
|
|
|
|
|
|
|
|
|
|
// share sub-folder to user2
|
|
|
|
|
$result = \OCP\Share::shareItem('folder', $fileInfo1['fileid'], \OCP\Share::SHARE_TYPE_USER,
|
|
|
|
|
\Test_Files_Sharing_Api::TEST_FILES_SHARING_API_USER2, 31);
|
|
|
|
|
|
|
|
|
|
// share was successful?
|
|
|
|
|
$this->assertTrue($result);
|
|
|
|
|
|
|
|
|
|
// login as user2
|
|
|
|
|
self::loginHelper(self::TEST_FILES_SHARING_API_USER2);
|
|
|
|
|
|
|
|
|
|
// reshare subsubfolder
|
|
|
|
|
$result = \OCP\Share::shareItem('folder', $fileInfo2['fileid'], \OCP\Share::SHARE_TYPE_USER,
|
|
|
|
|
\Test_Files_Sharing_Api::TEST_FILES_SHARING_API_USER3, 31);
|
|
|
|
|
// share was successful?
|
|
|
|
|
$this->assertTrue($result);
|
|
|
|
|
|
|
|
|
|
// login as user3
|
|
|
|
|
self::loginHelper(self::TEST_FILES_SHARING_API_USER3);
|
|
|
|
|
|
|
|
|
|
$result = \OCP\Share::shareItem('folder', $fileInfo2['fileid'], \OCP\Share::SHARE_TYPE_LINK, null, 1);
|
|
|
|
|
// share was successful?
|
|
|
|
|
$this->assertTrue(is_string($result));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$_GET['path'] = '/Shared';
|
|
|
|
|
$_GET['subfiles'] = 'true';
|
|
|
|
|
|
|
|
|
|
$result = Share\Api::getAllShares(array());
|
|
|
|
|
|
|
|
|
|
$this->assertTrue($result->succeeded());
|
|
|
|
|
|
|
|
|
|
// test should return one share within $this->folder
|
|
|
|
|
$data = $result->getData();
|
|
|
|
|
|
|
|
|
|
// we should get exactly one result
|
|
|
|
|
$this->assertEquals(1, count($data));
|
|
|
|
|
|
|
|
|
|
$expectedPath = '/Shared' . $this->subsubfolder;
|
|
|
|
|
$this->assertEquals($expectedPath, $data[0]['path']);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// cleanup
|
|
|
|
|
$result = \OCP\Share::unshare('folder', $fileInfo2['fileid'], \OCP\Share::SHARE_TYPE_LINK, null);
|
|
|
|
|
$this->assertTrue($result);
|
|
|
|
|
|
|
|
|
|
self::loginHelper(self::TEST_FILES_SHARING_API_USER2);
|
|
|
|
|
$result = \OCP\Share::unshare('folder', $fileInfo2['fileid'], \OCP\Share::SHARE_TYPE_USER,
|
|
|
|
|
\Test_Files_Sharing_Api::TEST_FILES_SHARING_API_USER3);
|
|
|
|
|
$this->assertTrue($result);
|
|
|
|
|
|
|
|
|
|
self::loginHelper(self::TEST_FILES_SHARING_API_USER1);
|
|
|
|
|
$result = \OCP\Share::unshare('folder', $fileInfo1['fileid'], \OCP\Share::SHARE_TYPE_USER,
|
|
|
|
|
\Test_Files_Sharing_Api::TEST_FILES_SHARING_API_USER2);
|
|
|
|
|
$this->assertTrue($result);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief test re-re-share of folder if the path gets constructed correctly
|
|
|
|
|
* @medium
|
|
|
|
|
*/
|
|
|
|
|
function testGetShareFromFileReReShares() {
|
|
|
|
|
|
|
|
|
|
self::loginHelper(self::TEST_FILES_SHARING_API_USER1);
|
|
|
|
|
|
|
|
|
|
$fileInfo1 = $this->view->getFileInfo($this->folder . $this->subfolder);
|
|
|
|
|
$fileInfo2 = $this->view->getFileInfo($this->folder. $this->subfolder . $this->filename);
|
|
|
|
|
|
|
|
|
|
// share sub-folder to user2
|
|
|
|
|
$result = \OCP\Share::shareItem('folder', $fileInfo1['fileid'], \OCP\Share::SHARE_TYPE_USER,
|
|
|
|
|
\Test_Files_Sharing_Api::TEST_FILES_SHARING_API_USER2, 31);
|
|
|
|
|
|
|
|
|
|
// share was successful?
|
|
|
|
|
$this->assertTrue($result);
|
|
|
|
|
|
|
|
|
|
// login as user2
|
|
|
|
|
self::loginHelper(self::TEST_FILES_SHARING_API_USER2);
|
|
|
|
|
|
|
|
|
|
// reshare subsubfolder
|
|
|
|
|
$result = \OCP\Share::shareItem('file', $fileInfo2['fileid'], \OCP\Share::SHARE_TYPE_USER,
|
|
|
|
|
\Test_Files_Sharing_Api::TEST_FILES_SHARING_API_USER3, 31);
|
|
|
|
|
// share was successful?
|
|
|
|
|
$this->assertTrue($result);
|
|
|
|
|
|
|
|
|
|
// login as user3
|
|
|
|
|
self::loginHelper(self::TEST_FILES_SHARING_API_USER3);
|
|
|
|
|
|
|
|
|
|
$result = \OCP\Share::shareItem('file', $fileInfo2['fileid'], \OCP\Share::SHARE_TYPE_LINK, null, 1);
|
|
|
|
|
// share was successful?
|
|
|
|
|
$this->assertTrue(is_string($result));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$_GET['path'] = '/Shared';
|
|
|
|
|
$_GET['subfiles'] = 'true';
|
|
|
|
|
|
|
|
|
|
$result = Share\Api::getAllShares(array());
|
|
|
|
|
|
|
|
|
|
$this->assertTrue($result->succeeded());
|
|
|
|
|
|
|
|
|
|
// test should return one share within $this->folder
|
|
|
|
|
$data = $result->getData();
|
|
|
|
|
|
|
|
|
|
// we should get exactly one result
|
|
|
|
|
$this->assertEquals(1, count($data));
|
|
|
|
|
|
|
|
|
|
$expectedPath = '/Shared' . $this->filename;
|
|
|
|
|
$this->assertEquals($expectedPath, $data[0]['path']);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// cleanup
|
|
|
|
|
$result = \OCP\Share::unshare('file', $fileInfo2['fileid'], \OCP\Share::SHARE_TYPE_LINK, null);
|
|
|
|
|
$this->assertTrue($result);
|
|
|
|
|
|
|
|
|
|
self::loginHelper(self::TEST_FILES_SHARING_API_USER2);
|
|
|
|
|
$result = \OCP\Share::unshare('file', $fileInfo2['fileid'], \OCP\Share::SHARE_TYPE_USER,
|
|
|
|
|
\Test_Files_Sharing_Api::TEST_FILES_SHARING_API_USER3);
|
|
|
|
|
$this->assertTrue($result);
|
|
|
|
|
|
|
|
|
|
self::loginHelper(self::TEST_FILES_SHARING_API_USER1);
|
|
|
|
|
$result = \OCP\Share::unshare('folder', $fileInfo1['fileid'], \OCP\Share::SHARE_TYPE_USER,
|
|
|
|
|
\Test_Files_Sharing_Api::TEST_FILES_SHARING_API_USER2);
|
|
|
|
|
$this->assertTrue($result);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @medium
|
|
|
|
|
*/
|
|
|
|
|
|