From 0a579360e37263bfe503041729509e30006d95d3 Mon Sep 17 00:00:00 2001 From: David Christofas Date: Wed, 26 Aug 2020 13:11:35 +0200 Subject: [PATCH 1/3] add webhook step to drone build to update ocis.owncloud.works Signed-off-by: David Christofas --- .drone.star | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/.drone.star b/.drone.star index b383b2bf0..9bf384096 100644 --- a/.drone.star +++ b/.drone.star @@ -76,6 +76,7 @@ def main(ctx): readme(ctx), badges(ctx), website(ctx), + updateDeployment(ctx) ] return before + stages + after @@ -612,6 +613,46 @@ def binary(ctx, name): }, } +def updateDeployment(ctx): + return { + 'kind': 'pipeline', + 'type': 'docker', + 'name': 'updateDeployment', + 'platform': { + 'os': 'linux', + 'arch': 'amd64', + }, + 'steps': [ + { + 'name': 'webhook', + 'image': 'plugins/webhook', + 'settings': { + 'username': { + 'from_secret': 'webhook_username', + }, + 'password': { + 'from_secret': 'webhook_password', + }, + 'method': 'GET', + 'urls': 'https://ocis.owncloud.works/hooks/update-ocis', + } + } + ], + 'depends_on': [ + 'amd64', + 'arm64', + 'arm', + 'linux', + 'darwin', + 'windows', + ], + 'trigger': { + 'ref': [ + 'refs/heads/master', + ], + } + } + def manifest(ctx): return { 'kind': 'pipeline', From 558ec76aa1f1bb747f5267100f94f97ede3c85e3 Mon Sep 17 00:00:00 2001 From: HariBhandari07 Date: Wed, 26 Aug 2020 09:31:41 +0545 Subject: [PATCH 2/3] [Tests-Only] Add api trashbin tests --- .gitignore | 2 + .../expected-failures-on-OC-storage.txt | 6 +++ .../apiTrashbin-trashbinDelete.feature | 52 +++++++++++++++++++ .../apiTrashbin-trashbinFilesFolders.feature | 38 ++++++++++++++ 4 files changed, 98 insertions(+) create mode 100644 tests/acceptance/features/apiOcisSpecific/apiTrashbin-trashbinDelete.feature create mode 100644 tests/acceptance/features/apiOcisSpecific/apiTrashbin-trashbinFilesFolders.feature diff --git a/.gitignore b/.gitignore index 9f9a19066..1938fa3cb 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,5 @@ composer.lock vendor-bin/**/vendor vendor-bin/**/composer.lock tests/acceptance/output + +.idea diff --git a/tests/acceptance/expected-failures-on-OC-storage.txt b/tests/acceptance/expected-failures-on-OC-storage.txt index 4ea7b1c1b..94b58ff61 100644 --- a/tests/acceptance/expected-failures-on-OC-storage.txt +++ b/tests/acceptance/expected-failures-on-OC-storage.txt @@ -468,6 +468,8 @@ apiSharePublicLink2/uploadToPublicLinkShare.feature:255 # https://github.com/owncloud/ocis-reva/issues/286 Upload-only shares must not overwrite but create a separate file apiSharePublicLink2/uploadToPublicLinkShare.feature:273 # +# https://github.com/owncloud/product/issues/179 Propfind to trashbin endpoint requires UUID +# https://github.com/owncloud/product/issues/178 File deletion using dav gives unique string in filename in the trashbin apiTrashbin/trashbinDelete.feature:31 apiTrashbin/trashbinDelete.feature:32 apiTrashbin/trashbinDelete.feature:33 @@ -476,6 +478,8 @@ apiTrashbin/trashbinDelete.feature:37 apiTrashbin/trashbinDelete.feature:50 apiTrashbin/trashbinDelete.feature:67 # +# https://github.com/owncloud/product/issues/179 Propfind to trashbin endpoint requires UUID +# https://github.com/owncloud/product/issues/178 File deletion using dav gives unique string in filename in the trashbin apiTrashbin/trashbinFilesFolders.feature:21 apiTrashbin/trashbinFilesFolders.feature:32 apiTrashbin/trashbinFilesFolders.feature:44 @@ -511,6 +515,8 @@ apiTrashbin/trashbinFilesFolders.feature:277 apiTrashbin/trashbinFilesFolders.feature:278 apiTrashbin/trashbinFilesFolders.feature:289 # +# https://github.com/owncloud/product/issues/179 Propfind to trashbin endpoint requires UUID +# https://github.com/owncloud/product/issues/178 File deletion using dav gives unique string in filename in the trashbin apiTrashbin/trashbinRestore.feature:31 apiTrashbin/trashbinRestore.feature:32 apiTrashbin/trashbinRestore.feature:62 diff --git a/tests/acceptance/features/apiOcisSpecific/apiTrashbin-trashbinDelete.feature b/tests/acceptance/features/apiOcisSpecific/apiTrashbin-trashbinDelete.feature new file mode 100644 index 000000000..697c8787c --- /dev/null +++ b/tests/acceptance/features/apiOcisSpecific/apiTrashbin-trashbinDelete.feature @@ -0,0 +1,52 @@ +@api @files_trashbin-app-required +Feature: files and folders can be deleted from the trashbin + As a user + I want to delete files and folders from the trashbin + So that I can control my trashbin space and which files are kept in that space + + Background: + Given user "Alice" has been created with default attributes and without skeleton files + And user "Alice" has uploaded file with content "to delete" to "/textfile0.txt" + And user "Alice" has uploaded file with content "to delete" to "/textfile1.txt" + And user "Alice" has created folder "PARENT" + And user "Alice" has created folder "PARENT/CHILD" + And user "Alice" has uploaded file with content "to delete" to "/PARENT/parent.txt" + And user "Alice" has uploaded file with content "to delete" to "/PARENT/CHILD/child.txt" + + @smokeTest + @issue-product-139 + @issue-product-178 + @issue-product-179 + Scenario Outline: Trashbin cannot be emptied + # after fixing all issues delete this Scenario and use the one from oC10 core + # because of @issue-product-178 we cannot perform this test using new dav, so only old dav is being used + Given user "Alice" has uploaded file with content "file with comma" to "sample,0.txt" + And user "Alice" has uploaded file with content "file with comma" to "sample,1.txt" + And using old DAV path + And user "Alice" has deleted file "" + And user "Alice" has deleted file "" + And as "Alice" file "" should exist in the trashbin + And as "Alice" file "" should exist in the trashbin + When user "Alice" empties the trashbin using the trashbin API + Then as "Alice" the file with original path "" should exist in the trashbin + And as "Alice" the file with original path "" should exist in the trashbin + Examples: + | filename1 | filename2 | + | textfile0.txt | textfile1.txt | + | sample,0.txt | sample,1.txt | + + @smokeTest + @issue-ocis-reva-118 + @issue-product-179 + # after fixing all issues delete this Scenario and use the one from oC10 core + Scenario: delete a single file from the trashbin + Given user "Alice" has deleted file "/textfile0.txt" + And user "Alice" has deleted file "/textfile1.txt" + And user "Alice" has deleted file "/PARENT/parent.txt" + And user "Alice" has deleted file "/PARENT/CHILD/child.txt" + When user "Alice" deletes the file with original path "textfile1.txt" from the trashbin using the trashbin API + Then the HTTP status code should be "405" + And as "Alice" the file with original path "/textfile1.txt" should exist in the trashbin + But as "Alice" the file with original path "/textfile0.txt" should exist in the trashbin + And as "Alice" the file with original path "/PARENT/parent.txt" should exist in the trashbin + And as "Alice" the file with original path "/PARENT/CHILD/child.txt" should exist in the trashbin diff --git a/tests/acceptance/features/apiOcisSpecific/apiTrashbin-trashbinFilesFolders.feature b/tests/acceptance/features/apiOcisSpecific/apiTrashbin-trashbinFilesFolders.feature new file mode 100644 index 000000000..3da3f6e6f --- /dev/null +++ b/tests/acceptance/features/apiOcisSpecific/apiTrashbin-trashbinFilesFolders.feature @@ -0,0 +1,38 @@ +@api @files_trashbin-app-required +Feature: files and folders exist in the trashbin after being deleted + As a user + I want deleted files and folders to be available in the trashbin + So that I can recover data easily + + Background: + Given user "Alice" has been created with default attributes and skeleton files + + @smokeTest + @issue-product-178 + # after fixing all issues delete this Scenario and use the one from oC10 core + Scenario: deleting a file moves it to trashbin + Given using old DAV path + When user "Alice" deletes file "/textfile0.txt" using the WebDAV API + And using new DAV path + When user "Alice" deletes file "/textfile1.txt" using the WebDAV API + Then as "Alice" the file with original path "/textfile0.txt" should exist in the trashbin + But as "Alice" the file with original path "/textfile1.txt" should not exist in the trashbin + And as "Alice" the file with original path "Alice/textfile1.txt" should exist in the trashbin + And as "Alice" file "/textfile0.txt" should not exist + And as "Alice" file "/textfile1.txt" should not exist + + @smokeTest + @issue-product-178 + # after fixing all issues delete this Scenario and use the one from oC10 core + Scenario: deleting a folder moves it to trashbin + Given user "Alice" has created folder "/tmp1" + And user "Alice" has created folder "/tmp2" + And using old DAV path + When user "Alice" deletes folder "/tmp1" using the WebDAV API + And using new DAV path + When user "Alice" deletes folder "/tmp2" using the WebDAV API + Then as "Alice" the folder with original path "/tmp1" should exist in the trashbin + But as "Alice" the folder with original path "/tmp2" should not exist in the trashbin + And as "Alice" the folder with original path "Alice/tmp2" should exist in the trashbin + And as "Alice" folder "/tmp1" should not exist + And as "Alice" folder "/tmp2" should not exist From c2d59c07d2f1177781bd3fffb6cd4424bdfbafa8 Mon Sep 17 00:00:00 2001 From: Phil Davis Date: Wed, 26 Aug 2020 22:44:15 +0545 Subject: [PATCH 3/3] Add TrashbinContext to local acceptance tests --- tests/acceptance/config/behat.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/acceptance/config/behat.yml b/tests/acceptance/config/behat.yml index 883dd1679..36ce61dfe 100644 --- a/tests/acceptance/config/behat.yml +++ b/tests/acceptance/config/behat.yml @@ -26,6 +26,7 @@ default: - FavoritesContext: - FilesVersionsContext: - PublicWebDavContext: + - TrashbinContext: - WebDavPropertiesContext: extensions: