From 440facbb9207d206a32977de01f45341660b97d0 Mon Sep 17 00:00:00 2001 From: Swikriti Tripathi Date: Thu, 5 Aug 2021 14:05:46 +0545 Subject: [PATCH] Add tests for upload overwrite --- .../apiAntivirus/antivirusMain.feature | 53 ++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/tests/acceptance/features/apiAntivirus/antivirusMain.feature b/tests/acceptance/features/apiAntivirus/antivirusMain.feature index a65db4fe..9b39d1fe 100644 --- a/tests/acceptance/features/apiAntivirus/antivirusMain.feature +++ b/tests/acceptance/features/apiAntivirus/antivirusMain.feature @@ -136,7 +136,7 @@ Feature: Antivirus basic | eicar_com.zip | | eicarcom2.zip | - @skip @files_primary_s3#69 + Scenario: A file cannot be overwritten with a file containing a virus via public upload Given as user "Alice" And user "Alice" has created a public link share of folder "FOLDER" with change permissions @@ -158,3 +158,54 @@ Feature: Antivirus basic | dav-path-version | | old | | new | + +# Scenario: A file cannot be overwritten with a file containing a virus via new public upload +# Given the administrator has enabled DAV tech_preview +# And as user "Alice" +# And user "Alice" has created a public link share of folder "FOLDER" with change permissions +# When the public uploads file "textfile.txt" from the antivirus test data folder using the new WebDAV API +# And the public overwrites file "textfile.txt" with content "X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*" using the new WebDAV API +# Then the HTTP status code should be "403" +# And the last lines of the log file should contain log-entries containing these attributes: +# | user | app | method | message | +# | -- | files_antivirus | PUT | Infected file deleted | +# And the content of file "/FOLDER/textfile.txt" for user "Alice" should be "Small text file without virus." + + Scenario Outline: overwriting a file with virus in a group share + Given using DAV path + And user "Brian" has been created with default attributes and without skeleton files + And group "grp1" has been created + And user "Brian" has been added to group "grp1" + And user "Alice" has been added to group "grp1" + And user "Alice" has uploaded file "textfile.txt" from the antivirus test data folder to "/ok-textfile.txt" + And user "Alice" has shared file "/ok-textfile.txt" with group "grp1" + And user "Brian" has accepted share "/ok-textfile.txt" offered by user "Alice" + When user "Brian" uploads file "eicar.com" from the antivirus test data folder to "/ok-textfile.txt" using the WebDAV API + Then the HTTP status code should be "403" + And the last lines of the log file should contain log-entries containing these attributes: + | user | app | method | message | + | Brian | files_antivirus | PUT | Infected file deleted | + And the content of file "/ok-textfile.txt" for user "Alice" should be "Small text file without virus." + And the content of file "/ok-textfile.txt" for user "Brian" should be "Small text file without virus." + Examples: + | dav-path-version | + | old | + | new | + + Scenario Outline: overwriting a file with virus in a share + Given using DAV path + And user "Brian" has been created with default attributes and without skeleton files + And user "Alice" has uploaded file "textfile.txt" from the antivirus test data folder to "/ok-textfile.txt" + And user "Alice" has shared file "/ok-textfile.txt" with user "Brian" + And user "Brian" has accepted share "/ok-textfile.txt" offered by user "Alice" + When user "Brian" uploads file "eicar.com" from the antivirus test data folder to "/ok-textfile.txt" using the WebDAV API + Then the HTTP status code should be "403" + And the last lines of the log file should contain log-entries containing these attributes: + | user | app | method | message | + | Brian | files_antivirus | PUT | Infected file deleted | + And the content of file "/ok-textfile.txt" for user "Alice" should be "Small text file without virus." + And the content of file "/ok-textfile.txt" for user "Brian" should be "Small text file without virus." + Examples: + | dav-path-version | + | old | + | new |