Skip to content

Commit

Permalink
Merge pull request #6434 from owncloud/tag-comma
Browse files Browse the repository at this point in the history
[tests-only] [full-ci] Test comma-separated list of tags
  • Loading branch information
phil-davis authored Jun 8, 2023
2 parents 0a71d64 + 3c99877 commit b6b85ba
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 2 deletions.
53 changes: 51 additions & 2 deletions tests/acceptance/features/apiSpaces/tag.feature
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
@api @skipOnStable2.0
Feature: Tag
As a user
I want to tag resources
As a user
I want to tag resources
So that I can sort and search them quickly

Note - this feature is run in CI with ACCOUNTS_HASH_DIFFICULTY set to the default for production
Expand Down Expand Up @@ -255,3 +255,52 @@ Feature: Tag
And the response should contain following tags:
| folderTag |
| marketing |


Scenario: user creates a comma-separated list of tags for resources in the project space
Given user "Alice" has shared a space "use-tag" with settings:
| shareWith | Brian |
| role | viewer |
When user "Alice" creates the following tags for folder "folderMain" of space "use-tag":
| finance,नेपाल |
Then the HTTP status code should be "200"
When user "Alice" sends PROPFIND request from the space "use-tag" to the resource "folderMain" using the WebDAV API
Then the HTTP status code should be "207"
And the "PROPFIND" response should contain a space "use-tag" with these key and value pairs:
| key | value |
| oc:tags | finance,नेपाल |
When user "Alice" creates the following tags for file "folderMain/insideTheFolder.txt" of space "use-tag":
| file,नेपाल,Tag |
Then the HTTP status code should be "200"
When user "Brian" sends PROPFIND request from the space "use-tag" to the resource "folderMain/insideTheFolder.txt" using the WebDAV API
Then the HTTP status code should be "207"
And the "PROPFIND" response should contain a space "use-tag" with these key and value pairs:
| key | value |
| oc:tags | file,नेपाल,Tag |
When user "Alice" lists all available tags via the GraphApi
Then the HTTP status code should be "200"
And the response should contain following tags:
| finance |
| नेपाल |
| file |
| Tag |


Scenario: setting a comma-separated list of tags adds to any existing tags on the resource
Given user "Alice" has created the following tags for folder "folderMain" of the space "use-tag":
| finance,hr |
When user "Alice" creates the following tags for folder "folderMain" of space "use-tag":
| engineering,finance,qa |
Then the HTTP status code should be "200"
When user "Alice" sends PROPFIND request from the space "use-tag" to the resource "folderMain" using the WebDAV API
Then the HTTP status code should be "207"
And the "PROPFIND" response should contain a space "use-tag" with these key and value pairs:
| key | value |
| oc:tags | engineering,finance,hr,qa |
When user "Alice" lists all available tags via the GraphApi
Then the HTTP status code should be "200"
And the response should contain following tags:
| engineering |
| finance |
| hr |
| qa |
9 changes: 9 additions & 0 deletions tests/acceptance/features/bootstrap/SpacesContext.php
Original file line number Diff line number Diff line change
Expand Up @@ -3153,6 +3153,15 @@ public function theResponseShouldContain(string $method, string $user, string $s
case "oc:privatelink":
Assert::assertEquals($this->getPrivateLink($user, $spaceNameOrMountPoint), $responseValue, 'cannot find private link for space or resource in the response');
break;
case "oc:tags":
// The value should be a comma-separated string of tag names.
// We do not care what order they happen to be in, so compare as sorted lists.
$expectedTags = \explode(",", $value);
$expectedTags = \sort($expectedTags);
$actualTags = \explode(",", $responseValue);
$actualTags = \sort($actualTags);
Assert::assertEquals($expectedTags, $actualTags, "wrong $findItem in the response");
break;
default:
Assert::assertEquals($value, $responseValue, "wrong $findItem in the response");
break;
Expand Down

0 comments on commit b6b85ba

Please sign in to comment.