dav-v2.feature 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. Feature: dav-v2
  2. Background:
  3. Given using api version "1"
  4. Scenario: moving a file new endpoint way
  5. Given using dav path "remote.php/dav"
  6. And As an "admin"
  7. And user "user0" exists
  8. When User "user0" moves file "/files/user0/textfile0.txt" to "/files/user0/FOLDER/textfile0.txt"
  9. Then the HTTP status code should be "201"
  10. Scenario: download a file with range using new endpoint
  11. Given using dav path "remote.php/dav"
  12. And As an "admin"
  13. And user "user0" exists
  14. And As an "user0"
  15. When Downloading file "/files/user0/welcome.txt" with range "bytes=52-78"
  16. Then Downloaded content should be "example file for developers"
  17. Scenario: Downloading a file on the new endpoint should serve security headers
  18. Given using dav path "remote.php/dav/files/admin/"
  19. And As an "admin"
  20. When Downloading file "welcome.txt"
  21. Then The following headers should be set
  22. |Content-Disposition|attachment; filename*=UTF-8''welcome.txt; filename="welcome.txt"|
  23. |Content-Security-Policy|default-src 'none';|
  24. |X-Content-Type-Options |nosniff|
  25. |X-Download-Options|noopen|
  26. |X-Frame-Options|Sameorigin|
  27. |X-Permitted-Cross-Domain-Policies|none|
  28. |X-Robots-Tag|none|
  29. |X-XSS-Protection|1; mode=block|
  30. And Downloaded content should start with "Welcome to your Nextcloud account!"
  31. Scenario: Doing a GET with a web login should work without CSRF token on the new backend
  32. Given Logging in using web as "admin"
  33. When Sending a "GET" to "/remote.php/dav/files/admin/welcome.txt" without requesttoken
  34. Then Downloaded content should start with "Welcome to your Nextcloud account!"
  35. Then the HTTP status code should be "200"
  36. Scenario: Doing a GET with a web login should work with CSRF token on the new backend
  37. Given Logging in using web as "admin"
  38. When Sending a "GET" to "/remote.php/dav/files/admin/welcome.txt" with requesttoken
  39. Then Downloaded content should start with "Welcome to your Nextcloud account!"
  40. Then the HTTP status code should be "200"
  41. Scenario: Doing a PROPFIND with a web login should not work without CSRF token on the new backend
  42. Given Logging in using web as "admin"
  43. When Sending a "PROPFIND" to "/remote.php/dav/files/admin/welcome.txt" without requesttoken
  44. Then the HTTP status code should be "401"
  45. Scenario: Doing a PROPFIND with a web login should work with CSRF token on the new backend
  46. Given Logging in using web as "admin"
  47. When Sending a "PROPFIND" to "/remote.php/dav/files/admin/welcome.txt" with requesttoken
  48. Then the HTTP status code should be "207"
  49. Scenario: Uploading a file having 0B as quota
  50. Given using dav path "remote.php/dav"
  51. And As an "admin"
  52. And user "user0" exists
  53. And user "user0" has a quota of "0 B"
  54. And As an "user0"
  55. When User "user0" uploads file "data/textfile.txt" to "/files/user0/asdf.txt"
  56. Then the HTTP status code should be "507"
  57. Scenario: Uploading a file as recipient using webdav new endpoint having quota
  58. Given using dav path "remote.php/dav"
  59. And As an "admin"
  60. And user "user0" exists
  61. And user "user1" exists
  62. And user "user0" has a quota of "10 MB"
  63. And user "user1" has a quota of "10 MB"
  64. And As an "user1"
  65. And user "user1" created a folder "/testquota"
  66. And as "user1" creating a share with
  67. | path | testquota |
  68. | shareType | 0 |
  69. | permissions | 31 |
  70. | shareWith | user0 |
  71. And As an "user0"
  72. When User "user0" uploads file "data/textfile.txt" to "/files/user0/testquota/asdf.txt"
  73. Then the HTTP status code should be "201"