diff --git a/.drone.star b/.drone.star index e591646d7..f6dda6c54 100644 --- a/.drone.star +++ b/.drone.star @@ -453,6 +453,7 @@ def localApiTests(ctx, storage, suite, accounts_hash_difficulty = 4): "BEHAT_SUITE": suite, "BEHAT_FILTER_TAGS": "~@skip&&~@skipOnOcis-%s-Storage" % ("OC" if storage == "owncloud" else "OCIS"), "PATH_TO_CORE": "/srv/app/testrunner", + "EXPECTED_FAILURES_FILE": "/drone/src/tests/acceptance/expected-failures-localAPI-on-%s-storage.md" % (storage.upper()), "UPLOAD_DELETE_WAIT_TIME": "1" if storage == "owncloud" else 0, }, "commands": [ diff --git a/tests/acceptance/expected-failures-localAPI-on-OCIS-storage.md b/tests/acceptance/expected-failures-localAPI-on-OCIS-storage.md new file mode 100644 index 000000000..a8a479882 --- /dev/null +++ b/tests/acceptance/expected-failures-localAPI-on-OCIS-storage.md @@ -0,0 +1,5 @@ +## Scenarios from OCIS API tests that are expected to fail with OCIS storage + +#### [downloading the /Shares folder using the archiver endpoint does not work](https://github.com/owncloud/ocis/issues/2751) +- [apiArchiver/downloadById.feature:134](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiArchiver/downloadById.feature#L134) +- [apiArchiver/downloadById.feature:135](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiArchiver/downloadById.feature#L135) diff --git a/tests/acceptance/features/apiArchiver/downloadById.feature b/tests/acceptance/features/apiArchiver/downloadById.feature index fe46f6a9c..518241951 100644 --- a/tests/acceptance/features/apiArchiver/downloadById.feature +++ b/tests/acceptance/features/apiArchiver/downloadById.feature @@ -11,6 +11,7 @@ Feature: download multiple resources bundled into an archive Background: Given user "Alice" has been created with default attributes and without skeleton files + Scenario Outline: download a single file Given user "Alice" has uploaded file with content "some data" to "/textfile0.txt" When user "Alice" downloads the archive of "/textfile0.txt" using the resource id and setting these headers @@ -25,6 +26,7 @@ Feature: download multiple resources bundled into an archive | Linux | tar | | Windows NT | zip | + Scenario Outline: download a single folder Given user "Alice" has created folder "my_data" And user "Alice" has uploaded file with content "some data" to "/my_data/textfile0.txt" @@ -42,6 +44,7 @@ Feature: download multiple resources bundled into an archive | Linux | tar | | Windows NT | zip | + Scenario: download multiple files and folders Given user "Alice" has uploaded file with content "some data" to "/textfile0.txt" And user "Alice" has uploaded file with content "other data" to "/textfile1.txt" @@ -62,9 +65,71 @@ Feature: download multiple resources bundled into an archive | my_data/textfile2.txt | some data | | more_data/an_other_file.txt | more data | + Scenario: download a single file as different user Given user "Brian" has been created with default attributes and without skeleton files And user "Alice" has uploaded file with content "some data" to "/textfile0.txt" When user "Brian" downloads the archive of "/textfile0.txt" of user "Alice" using the resource id Then the HTTP status code should be "400" + + Scenario: download multiple shared items as share receiver + Given user "Brian" has been created with default attributes and without skeleton files + And user "Alice" has uploaded file with content "some data" to "/textfile0.txt" + And user "Alice" has uploaded file with content "other data" to "/textfile1.txt" + And user "Alice" has created folder "my_data" + And user "Alice" has uploaded file with content "some data" to "/my_data/textfile2.txt" + And user "Alice" has created folder "more_data" + And user "Alice" has uploaded file with content "more data" to "/more_data/an_other_file.txt" + And user "Alice" has shared file "textfile0.txt" with user "Brian" + And user "Alice" has shared file "textfile1.txt" with user "Brian" + And user "Alice" has shared folder "my_data" with user "Brian" + And user "Alice" has shared folder "more_data" with user "Brian" + And user "Brian" has accepted share "/textfile0.txt" offered by user "Alice" + And user "Brian" has accepted share "/textfile1.txt" offered by user "Alice" + And user "Brian" has accepted share "/my_data" offered by user "Alice" + And user "Brian" has accepted share "/more_data" offered by user "Alice" + When user "Brian" downloads the archive of these items using the resource ids + | /Shares/textfile0.txt | + | /Shares/textfile1.txt | + | /Shares/my_data | + | /Shares/more_data | + Then the HTTP status code should be "200" + And the downloaded tar archive should contain these files: + | name | content | + | textfile0.txt | some data | + | textfile1.txt | other data | + | my_data/textfile2.txt | some data | + | more_data/an_other_file.txt | more data | + + + Scenario Outline: download the Shares folder as share receiver + Given user "Brian" has been created with default attributes and without skeleton files + And user "Alice" has uploaded file with content "some data" to "/textfile0.txt" + And user "Alice" has uploaded file with content "other data" to "/textfile1.txt" + And user "Alice" has created folder "my_data" + And user "Alice" has uploaded file with content "some data" to "/my_data/textfile2.txt" + And user "Alice" has created folder "more_data" + And user "Alice" has uploaded file with content "more data" to "/more_data/an_other_file.txt" + And user "Alice" has shared file "textfile0.txt" with user "Brian" + And user "Alice" has shared file "textfile1.txt" with user "Brian" + And user "Alice" has shared folder "my_data" with user "Brian" + And user "Alice" has shared folder "more_data" with user "Brian" + And user "Brian" has accepted share "/textfile0.txt" offered by user "Alice" + And user "Brian" has accepted share "/textfile1.txt" offered by user "Alice" + And user "Brian" has accepted share "/my_data" offered by user "Alice" + And user "Brian" has accepted share "/more_data" offered by user "Alice" + When user "Brian" downloads the archive of "/Shares" using the resource id and setting these headers + | header | value | + | User-Agent | | + Then the HTTP status code should be "200" + And the downloaded archive should contain these files: + | name | content | + | Shares/textfile0.txt | some data | + | Shares/textfile1.txt | other data | + | Shares/my_data/textfile0.txt | some data | + | Shares/my_data/an_other_file.txt | more data | + Examples: + | user-agent | archive-type | + | Linux | tar | + | Windows NT | zip |