Skip to content

Commit

Permalink
get resource id as public
Browse files Browse the repository at this point in the history
  • Loading branch information
SwikritiT committed Dec 19, 2022
1 parent 563f7a8 commit d1a2054
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Feature: Public can download folders from project space public link
And user "Alice" has created a public link share of the space "new-space" with settings:
| permissions | 1 |
| name | someName |
When public downloads the folder "NewFolder" of space "new-space" from the last created public link of "Alice"
When public downloads the folder "NewFolder" from the last created public link using the public files API
Then the HTTP status code should be "200"
And the downloaded tar archive should contain these files:
| name | content |
Expand All @@ -36,7 +36,7 @@ Feature: Public can download folders from project space public link
| shareType | 3 |
| permissions | 1 |
| name | public link |
When public downloads the folder "NewFolder/folder" of space "new-space" from the last created public link of "Alice"
When public downloads the folder "folder" from the last created public link using the public files API
Then the HTTP status code should be "200"
And the downloaded tar archive should contain these files:
| name | content |
Expand Down
19 changes: 12 additions & 7 deletions tests/acceptance/features/bootstrap/SpacesContext.php
Original file line number Diff line number Diff line change
Expand Up @@ -3031,19 +3031,24 @@ public function theResponseShouldContain(string $user, string $method, string $s
}

/**
* @When /^public downloads the folder "([^"]*)" of space "([^"]*)" from the last created public link of "([^"]*)"$/
* @When /^public downloads the folder "([^"]*)" from the last created public link using the public files API$/
*
* @param string $resource
* @param string $space
* @param string $owner
*
* @return void
* @throws GuzzleException
* @throws GuzzleException|JsonException
*/
public function publicDownloadsTheFolderFromTheLastCreatedPublicLink(string $resource, string $space, string $owner) {
public function publicDownloadsTheFolderFromTheLastCreatedPublicLink(string $resource) {
$token = $this->featureContext->getLastPublicShareToken();
$resourceId = $this->getFolderId($owner, $space, $resource);
$queryString = 'public-token=' . $token . '&id=' . $resourceId;
$response = $this->featureContext->listFolderAndReturnResponseXml(
$token,
$resource,
'0',
['oc:fileid'],
$this->featureContext->getDavPathVersion() === 1 ? "public-files" : "public-files-new"
);
$resourceId = json_decode(json_encode($response->xpath("//d:response/d:propstat/d:prop/oc:fileid")), true, 512, JSON_THROW_ON_ERROR);
$queryString = 'public-token=' . $token . '&id=' . $resourceId[0][0];
$this->featureContext->setResponse(
HttpRequestHelper::get(
$this->featureContext->getBaseUrl() . '/archiver?' . $queryString,
Expand Down

0 comments on commit d1a2054

Please sign in to comment.