Initial QSfera import
This commit is contained in:
@@ -0,0 +1,565 @@
|
||||
Feature: get file properties
|
||||
As a user
|
||||
I want to be able to get meta-information about files
|
||||
So that I can know file meta-information (detailed requirement TBD)
|
||||
|
||||
Background:
|
||||
Given using OCS API version "1"
|
||||
And user "Alice" has been created with default attributes
|
||||
|
||||
@smokeTest
|
||||
Scenario Outline: user sends a PROPFIND request on various file names
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Alice" has uploaded file with content "uploaded content" to "<file-name>"
|
||||
When user "Alice" gets the properties of file "<file-name>" using the WebDAV API
|
||||
Then the HTTP status code should be "207"
|
||||
And the properties response should contain an etag
|
||||
Examples:
|
||||
| dav-path-version | file-name |
|
||||
| old | /upload.txt |
|
||||
| old | /strängé file.txt |
|
||||
| old | /नेपाली.txt |
|
||||
| old | s,a,m,p,l,e.txt |
|
||||
| new | /upload.txt |
|
||||
| new | /strängé file.txt |
|
||||
| new | /नेपाली.txt |
|
||||
| new | s,a,m,p,l,e.txt |
|
||||
| spaces | /upload.txt |
|
||||
| spaces | /strängé file.txt |
|
||||
| spaces | /नेपाली.txt |
|
||||
| spaces | s,a,m,p,l,e.txt |
|
||||
|
||||
@issue-1296
|
||||
Scenario Outline: user sends a PROPFIND request on various file with '?, #, &, +' in its name
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Alice" has uploaded file with content "uploaded content" to "<file-name>"
|
||||
When user "Alice" gets the properties of file "<file-name>" using the WebDAV API
|
||||
Then the HTTP status code should be "207"
|
||||
And the properties response should contain an etag
|
||||
And there should be an entry with href containing "<expected-href>" in the response to user "Alice"
|
||||
Examples:
|
||||
| dav-path-version | file-name | expected-href |
|
||||
| old | /C++ file.cpp | webdav/C++ file.cpp |
|
||||
| old | /file #2.txt | webdav/file #2.txt |
|
||||
| old | /file ?2.txt | webdav/file ?2.txt |
|
||||
| old | /file &2.txt | webdav/file &2.txt |
|
||||
| new | /C++ file.cpp | dav/files/%username%/C++ file.cpp |
|
||||
| new | /file #2.txt | dav/files/%username%/file #2.txt |
|
||||
| new | /file ?2.txt | dav/files/%username%/file ?2.txt |
|
||||
| new | /file &2.txt | dav/files/%username%/file &2.txt |
|
||||
| spaces | /C++ file.cpp | dav/spaces/%spaceid%/C++ file.cpp |
|
||||
| spaces | /file #2.txt | dav/spaces/%spaceid%/file #2.txt |
|
||||
| spaces | /file ?2.txt | dav/spaces/%spaceid%/file ?2.txt |
|
||||
| spaces | /file &2.txt | dav/spaces/%spaceid%/file &2.txt |
|
||||
|
||||
@issue-1296
|
||||
Scenario Outline: user sends a PROPFIND request on various folder names
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Alice" has created folder "<folder-name>"
|
||||
And user "Alice" has uploaded file with content "uploaded content" to "<folder-name>/file1.txt"
|
||||
And user "Alice" has uploaded file with content "uploaded content" to "<folder-name>/file2.txt"
|
||||
When user "Alice" gets the properties of folder "<folder-name>" with depth 1 using the WebDAV API
|
||||
Then the HTTP status code should be "207"
|
||||
And there should be an entry with href containing "<expected-href>/" in the response to user "Alice"
|
||||
And there should be an entry with href containing "<expected-href>/file1.txt" in the response to user "Alice"
|
||||
And there should be an entry with href containing "<expected-href>/file2.txt" in the response to user "Alice"
|
||||
Examples:
|
||||
| dav-path-version | folder-name | expected-href |
|
||||
| old | /upload | webdav/upload |
|
||||
| old | /strängé folder | webdav/strängé folder |
|
||||
| old | /C++ folder | webdav/C++ folder |
|
||||
| old | /नेपाली | webdav/नेपाली |
|
||||
| old | /folder #2.txt | webdav/folder #2.txt |
|
||||
| old | /folder ?2.txt | webdav/folder ?2.txt |
|
||||
| old | /folder &2.txt | webdav/folder &2.txt |
|
||||
| new | /upload | dav/files/%username%/upload |
|
||||
| new | /strängé folder | dav/files/%username%/strängé folder |
|
||||
| new | /C++ folder | dav/files/%username%/C++ folder |
|
||||
| new | /नेपाली | dav/files/%username%/नेपाली |
|
||||
| new | /folder #2.txt | dav/files/%username%/folder #2.txt |
|
||||
| new | /folder ?2.txt | dav/files/%username%/folder ?2.txt |
|
||||
| new | /folder &2.txt | dav/files/%username%/folder &2.txt |
|
||||
| spaces | /upload | dav/spaces/%spaceid%/upload |
|
||||
| spaces | /strängé folder | dav/spaces/%spaceid%/strängé folder |
|
||||
| spaces | /C++ folder | dav/spaces/%spaceid%/C++ folder |
|
||||
| spaces | /नेपाली | dav/spaces/%spaceid%/नेपाली |
|
||||
| spaces | /folder #2.txt | dav/spaces/%spaceid%/folder #2.txt |
|
||||
| spaces | /folder ?2.txt | dav/spaces/%spaceid%/folder ?2.txt |
|
||||
| spaces | /folder &2.txt | dav/spaces/%spaceid%/folder &2.txt |
|
||||
|
||||
|
||||
Scenario Outline: user sends a PROPFIND request on various files inside various folders
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Alice" has created folder "<folder-name>"
|
||||
And user "Alice" has uploaded file with content "uploaded content" to "<folder-name>/<file-name>"
|
||||
When user "Alice" gets the properties of file "<folder-name>/<file-name>" using the WebDAV API
|
||||
Then the HTTP status code should be "207"
|
||||
And the properties response should contain an etag
|
||||
Examples:
|
||||
| dav-path-version | folder-name | file-name |
|
||||
| old | /upload | abc.txt |
|
||||
| old | /strängé folder | strängé file.txt |
|
||||
| old | /C++ folder | C++ file.cpp |
|
||||
| old | /नेपाली | नेपाली |
|
||||
| old | /folder #2.txt | file #2.txt |
|
||||
| new | /upload | abc.txt |
|
||||
| new | /strängé folder (duplicate #2 &) | strängé file (duplicate #2 &) |
|
||||
| new | /C++ folder | C++ file.cpp |
|
||||
| new | /नेपाली | नेपाली |
|
||||
| new | /folder #2.txt | file #2.txt |
|
||||
| spaces | /upload | abc.txt |
|
||||
| spaces | /strängé folder | strängé file.txt |
|
||||
| spaces | /C++ folder | C++ file.cpp |
|
||||
| spaces | /नेपाली | नेपाली |
|
||||
| spaces | /folder #2.txt | file #2.txt |
|
||||
|
||||
@issue-1259
|
||||
#after fixing all issues delete this Scenario and merge with the one above
|
||||
Scenario Outline: user sends a PROPFIND request on various files inside various folders with '?' character in its name
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Alice" has created folder "/folder ?2.txt"
|
||||
And user "Alice" has uploaded file with content "uploaded content" to "/folder ?2.txt/file ?2.txt"
|
||||
When user "Alice" gets the properties of file "/folder ?2.txt/file ?2.txt" using the WebDAV API
|
||||
Then the HTTP status code should be "207"
|
||||
And the properties response should contain an etag
|
||||
Examples:
|
||||
| dav-path-version |
|
||||
| old |
|
||||
| new |
|
||||
| spaces |
|
||||
|
||||
|
||||
Scenario Outline: file that is not shared does not have a share-types property
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Alice" has created folder "/test"
|
||||
When user "Alice" gets the following properties of folder "/test" using the WebDAV API
|
||||
| propertyName |
|
||||
| oc:share-types |
|
||||
Then the HTTP status code should be "207"
|
||||
And the response should contain an empty property "oc:share-types"
|
||||
Examples:
|
||||
| dav-path-version |
|
||||
| old |
|
||||
| new |
|
||||
| spaces |
|
||||
|
||||
@skipOnReva
|
||||
Scenario Outline: resource that is shared to a user has a share-types property
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Brian" has been created with default attributes
|
||||
And user "Alice" has created folder "/test"
|
||||
And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "/textfile.txt"
|
||||
And user "Alice" has sent the following resource share invitation:
|
||||
| resource | <resource> |
|
||||
| space | Personal |
|
||||
| sharee | Brian |
|
||||
| shareType | user |
|
||||
| permissionsRole | Viewer |
|
||||
When user "Alice" gets the following properties of folder "<resource>" using the WebDAV API
|
||||
| propertyName |
|
||||
| oc:share-types |
|
||||
Then the HTTP status code should be "207"
|
||||
And the response should contain a share-types property with
|
||||
| 0 |
|
||||
Examples:
|
||||
| dav-path-version | resource |
|
||||
| old | test |
|
||||
| new | test |
|
||||
| spaces | test |
|
||||
| old | textfile.txt |
|
||||
| new | textfile.txt |
|
||||
| spaces | textfile.txt |
|
||||
|
||||
@skipOnReva
|
||||
Scenario Outline: resource that is shared to a group has a share-types property
|
||||
Given using <dav-path-version> DAV path
|
||||
And group "grp1" has been created
|
||||
And user "Alice" has created folder "/test"
|
||||
And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "/textfile.txt"
|
||||
And user "Alice" has sent the following resource share invitation:
|
||||
| resource | <resource> |
|
||||
| space | Personal |
|
||||
| sharee | grp1 |
|
||||
| shareType | group |
|
||||
| permissionsRole | Viewer |
|
||||
When user "Alice" gets the following properties of folder "<resource>" using the WebDAV API
|
||||
| propertyName |
|
||||
| oc:share-types |
|
||||
Then the HTTP status code should be "207"
|
||||
And the response should contain a share-types property with
|
||||
| 1 |
|
||||
Examples:
|
||||
| dav-path-version | resource |
|
||||
| old | test |
|
||||
| new | test |
|
||||
| spaces | test |
|
||||
| old | textfile.txt |
|
||||
| new | textfile.txt |
|
||||
| spaces | textfile.txt |
|
||||
|
||||
@skipOnReva
|
||||
Scenario Outline: resource that is shared by link has a share-types property
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Alice" has created folder "/test"
|
||||
And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "/textfile.txt"
|
||||
And user "Alice" has created the following resource link share:
|
||||
| resource | <resource> |
|
||||
| space | Personal |
|
||||
| permissionsRole | edit |
|
||||
| password | %public% |
|
||||
When user "Alice" gets the following properties of folder "<resource>" using the WebDAV API
|
||||
| propertyName |
|
||||
| oc:share-types |
|
||||
Then the HTTP status code should be "207"
|
||||
And the response should contain a share-types property with
|
||||
| 3 |
|
||||
Examples:
|
||||
| dav-path-version | resource |
|
||||
| old | test |
|
||||
| new | test |
|
||||
| spaces | test |
|
||||
| old | textfile.txt |
|
||||
| new | textfile.txt |
|
||||
| spaces | textfile.txt |
|
||||
|
||||
@skipOnReva
|
||||
Scenario Outline: resource that is shared by user,group and link has a share-types property
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Brian" has been created with default attributes
|
||||
And group "grp1" has been created
|
||||
And user "Alice" has created folder "/test"
|
||||
And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "/textfile.txt"
|
||||
And user "Alice" has sent the following resource share invitation:
|
||||
| resource | <resource> |
|
||||
| space | Personal |
|
||||
| sharee | Brian |
|
||||
| shareType | user |
|
||||
| permissionsRole | Viewer |
|
||||
And user "Alice" has sent the following resource share invitation:
|
||||
| resource | <resource> |
|
||||
| space | Personal |
|
||||
| sharee | grp1 |
|
||||
| shareType | group |
|
||||
| permissionsRole | Viewer |
|
||||
And user "Alice" has created the following resource link share:
|
||||
| resource | <resource> |
|
||||
| space | Personal |
|
||||
| permissionsRole | edit |
|
||||
| password | %public% |
|
||||
When user "Alice" gets the following properties of folder "<resource>" using the WebDAV API
|
||||
| propertyName |
|
||||
| oc:share-types |
|
||||
Then the HTTP status code should be "207"
|
||||
And the response should contain a share-types property with
|
||||
| 0 |
|
||||
| 1 |
|
||||
| 3 |
|
||||
Examples:
|
||||
| dav-path-version | resource |
|
||||
| old | test |
|
||||
| new | test |
|
||||
| spaces | test |
|
||||
| old | textfile.txt |
|
||||
| new | textfile.txt |
|
||||
| spaces | textfile.txt |
|
||||
|
||||
@smokeTest @issue-2809
|
||||
Scenario Outline: retrieving a private link
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "/somefile.txt"
|
||||
When user "Alice" gets the following properties of file "/somefile.txt" using the WebDAV API
|
||||
| propertyName |
|
||||
| oc:privatelink |
|
||||
Then the HTTP status code should be "207"
|
||||
And the single response should contain a property "oc:privatelink" with value like "%(/(index.php/)?f/[0-9]*)%"
|
||||
Examples:
|
||||
| dav-path-version |
|
||||
| old |
|
||||
| new |
|
||||
| spaces |
|
||||
|
||||
|
||||
Scenario Outline: user sends a PROPFIND request on a nonexistent URL
|
||||
When user "Alice" requests "<url>" with "PROPFIND" using basic auth
|
||||
Then the HTTP status code should be "404"
|
||||
And the value of the item "/d:error/s:message" in the response about user "Alice" should be "<message1>" or "<message2>"
|
||||
And the value of the item "/d:error/s:exception" in the response about user "Alice" should be "Sabre\DAV\Exception\NotFound"
|
||||
|
||||
Examples:
|
||||
| url | message1 | message2 |
|
||||
| /dav/files/does-not-exist | Resource not found | Resource not found |
|
||||
| /dav/does-not-exist | File not found in root | |
|
||||
| /dav/spaces/%spaceid%/does-not-exist | Resource not found | |
|
||||
| /dav/spaces/%spaceid%/file1.txt | Resource not found | |
|
||||
|
||||
@issue-1297
|
||||
Scenario Outline: add, receive multiple custom meta properties to a file
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Alice" has created folder "/TestFolder"
|
||||
And user "Alice" has uploaded file with content "test data one" to "/TestFolder/test1.txt"
|
||||
And user "Alice" has set the following properties to file "/TestFolder/test1.txt" using the WebDav API
|
||||
| propertyName | propertyValue |
|
||||
| testprop1 | AAAAA |
|
||||
| testprop2 | BBBBB |
|
||||
When user "Alice" gets the following properties of file "/TestFolder/test1.txt" using the WebDAV API
|
||||
| propertyName |
|
||||
| testprop1 |
|
||||
| testprop2 |
|
||||
Then the HTTP status code should be "207"
|
||||
And as user "Alice" the last response should have the following properties
|
||||
| resource | propertyName | propertyValue |
|
||||
| /TestFolder/test1.txt | testprop1 | AAAAA |
|
||||
| /TestFolder/test1.txt | testprop2 | BBBBB |
|
||||
| /TestFolder/test1.txt | d:status | HTTP/1.1 200 OK |
|
||||
Examples:
|
||||
| dav-path-version |
|
||||
| new |
|
||||
| old |
|
||||
| spaces |
|
||||
|
||||
@issue-1297
|
||||
Scenario Outline: add multiple properties to files inside a folder and do a propfind of the parent folder
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Alice" has created folder "/TestFolder"
|
||||
And user "Alice" has uploaded file with content "test data one" to "/TestFolder/test1.txt"
|
||||
And user "Alice" has uploaded file with content "test data two" to "/TestFolder/test2.txt"
|
||||
And user "Alice" has set the following properties to file "/TestFolder/test1.txt" using the WebDav API
|
||||
| propertyName | propertyValue |
|
||||
| testprop1 | AAAAA |
|
||||
| testprop2 | BBBBB |
|
||||
And user "Alice" has set the following properties to file "/TestFolder/test2.txt" using the WebDav API
|
||||
| propertyName | propertyValue |
|
||||
| testprop1 | CCCCC |
|
||||
| testprop2 | DDDDD |
|
||||
When user "Alice" gets the following properties of folder "/TestFolder" using the WebDAV API
|
||||
| propertyName |
|
||||
| testprop1 |
|
||||
| testprop2 |
|
||||
Then the HTTP status code should be "207"
|
||||
And as user "Alice" the last response should have the following properties
|
||||
| resource | propertyName | propertyValue |
|
||||
| /TestFolder/test1.txt | testprop1 | AAAAA |
|
||||
| /TestFolder/test1.txt | testprop2 | BBBBB |
|
||||
| /TestFolder/test2.txt | testprop1 | CCCCC |
|
||||
| /TestFolder/test2.txt | testprop2 | DDDDD |
|
||||
| /TestFolder/ | d:status | HTTP/1.1 404 Not Found |
|
||||
Examples:
|
||||
| dav-path-version |
|
||||
| new |
|
||||
| old |
|
||||
| spaces |
|
||||
|
||||
|
||||
Scenario Outline: user tries to get the last modified date of a folder using webdav api
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Alice" has created folder "/test"
|
||||
When user "Alice" gets the following properties of folder "/test" using the WebDAV API
|
||||
| propertyName |
|
||||
| d:getlastmodified |
|
||||
Then the HTTP status code should be "207"
|
||||
And the single response should contain a property "d:getlastmodified" with value like "/^[MTWFS][uedhfriatno]{2},\s(\d){2}\s[JFMAJSOND][anebrpyulgctov]{2}\s\d{4}\s\d{2}:\d{2}:\d{2} GMT$/"
|
||||
Examples:
|
||||
| dav-path-version |
|
||||
| old |
|
||||
| new |
|
||||
| spaces |
|
||||
|
||||
|
||||
Scenario Outline: user tries to get the content type of a folder using webdav api
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Alice" has created folder "/test"
|
||||
When user "Alice" gets the following properties of folder "/test" using the WebDAV API
|
||||
| propertyName |
|
||||
| d:getcontenttype |
|
||||
Then the HTTP status code should be "207"
|
||||
And the single response should contain a property "d:getcontenttype" with value ""
|
||||
Examples:
|
||||
| dav-path-version |
|
||||
| old |
|
||||
| new |
|
||||
| spaces |
|
||||
|
||||
|
||||
Scenario Outline: user tries to get the content type of a file using webdav api
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Alice" has uploaded file with content "uploaded content" to "file.txt"
|
||||
When user "Alice" gets the following properties of folder "file.txt" using the WebDAV API
|
||||
| propertyName |
|
||||
| d:getcontenttype |
|
||||
Then the HTTP status code should be "207"
|
||||
And the single response should contain a property "d:getcontenttype" with value "text/plain.*"
|
||||
Examples:
|
||||
| dav-path-version |
|
||||
| old |
|
||||
| new |
|
||||
| spaces |
|
||||
|
||||
|
||||
Scenario Outline: user tries to get the etag of a file using webdav api
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Alice" has uploaded file with content "uploaded content" to "file.txt"
|
||||
When user "Alice" gets the following properties of folder "file.txt" using the WebDAV API
|
||||
| propertyName |
|
||||
| d:getetag |
|
||||
Then the HTTP status code should be "207"
|
||||
And the single response should contain a property "d:getetag" with value like '%\"[a-z0-9:]{1,32}\"%'
|
||||
Examples:
|
||||
| dav-path-version |
|
||||
| old |
|
||||
| new |
|
||||
| spaces |
|
||||
|
||||
|
||||
Scenario Outline: user tries to get the resource type of a file using webdav api
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Alice" has uploaded file with content "uploaded content" to "file.txt"
|
||||
When user "Alice" gets the following properties of folder "file.txt" using the WebDAV API
|
||||
| propertyName |
|
||||
| d:resourcetype |
|
||||
Then the HTTP status code should be "207"
|
||||
And the single response should contain a property "d:resourcetype" with value ""
|
||||
Examples:
|
||||
| dav-path-version |
|
||||
| old |
|
||||
| new |
|
||||
| spaces |
|
||||
|
||||
|
||||
Scenario Outline: user tries to get the size of a file using webdav api
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Alice" has uploaded file with content "uploaded content" to "file.txt"
|
||||
When user "Alice" gets the following properties of folder "file.txt" using the WebDAV API
|
||||
| propertyName |
|
||||
| oc:size |
|
||||
Then the HTTP status code should be "207"
|
||||
And the single response should contain a property "oc:size" with value "16"
|
||||
Examples:
|
||||
| dav-path-version |
|
||||
| old |
|
||||
| new |
|
||||
| spaces |
|
||||
|
||||
|
||||
Scenario Outline: user tries to get the size of a folder using webdav api
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Alice" has created folder "/test"
|
||||
When user "Alice" gets the following properties of folder "/test" using the WebDAV API
|
||||
| propertyName |
|
||||
| oc:size |
|
||||
Then the HTTP status code should be "207"
|
||||
And the single response should contain a property "oc:size" with value "0"
|
||||
Examples:
|
||||
| dav-path-version |
|
||||
| old |
|
||||
| new |
|
||||
| spaces |
|
||||
|
||||
|
||||
Scenario Outline: user tries to get the file id of a file using webdav api
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Alice" has uploaded file with content "uploaded content" to "file.txt"
|
||||
When user "Alice" gets the following properties of folder "file.txt" using the WebDAV API
|
||||
| propertyName |
|
||||
| oc:fileid |
|
||||
Then the HTTP status code should be "207"
|
||||
And the single response should contain a property "oc:fileid" with value like '/[a-zA-Z0-9]+/'
|
||||
Examples:
|
||||
| dav-path-version |
|
||||
| old |
|
||||
| new |
|
||||
| spaces |
|
||||
|
||||
|
||||
Scenario Outline: user tries to get the file id of a folder using webdav api
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Alice" has created folder "/test"
|
||||
When user "Alice" gets the following properties of folder "/test" using the WebDAV API
|
||||
| propertyName |
|
||||
| oc:fileid |
|
||||
Then the HTTP status code should be "207"
|
||||
And the single response should contain a property "oc:fileid" with value like '/[a-zA-Z0-9]+/'
|
||||
Examples:
|
||||
| dav-path-version |
|
||||
| old |
|
||||
| new |
|
||||
| spaces |
|
||||
|
||||
|
||||
Scenario Outline: user tries to get the owner display name of a file using webdav api
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Alice" has uploaded file with content "uploaded content" to "file.txt"
|
||||
When user "Alice" gets the following properties of file "file.txt" using the WebDAV API
|
||||
| propertyName |
|
||||
| oc:owner-display-name |
|
||||
Then the HTTP status code should be "207"
|
||||
And the single response about the file owned by "Alice" should contain a property "oc:owner-display-name" with value "%displayname%"
|
||||
Examples:
|
||||
| dav-path-version |
|
||||
| old |
|
||||
| new |
|
||||
| spaces |
|
||||
|
||||
|
||||
Scenario Outline: user tries to get the owner display name of a folder using webdav api
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Alice" has created folder "/test"
|
||||
When user "Alice" gets the following properties of folder "/test" using the WebDAV API
|
||||
| propertyName |
|
||||
| oc:owner-display-name |
|
||||
Then the HTTP status code should be "207"
|
||||
And the single response about the file owned by "Alice" should contain a property "oc:owner-display-name" with value "%displayname%"
|
||||
Examples:
|
||||
| dav-path-version |
|
||||
| old |
|
||||
| new |
|
||||
| spaces |
|
||||
|
||||
|
||||
Scenario Outline: user tries to get the permissions on a file using webdav api
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Alice" has uploaded file with content "uploaded content" to "file.txt"
|
||||
When user "Alice" gets the following properties of folder "file.txt" using the WebDAV API
|
||||
| propertyName |
|
||||
| oc:permissions |
|
||||
Then the HTTP status code should be "207"
|
||||
And the single response should contain a property "oc:permissions" with value like '/RM{0,1}DNVW/'
|
||||
Examples:
|
||||
| dav-path-version |
|
||||
| old |
|
||||
| new |
|
||||
| spaces |
|
||||
|
||||
|
||||
Scenario Outline: user tries to get the permissions on a folder using webdav api
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Alice" has created folder "/test"
|
||||
When user "Alice" gets the following properties of folder "/test" using the WebDAV API
|
||||
| propertyName |
|
||||
| oc:permissions |
|
||||
Then the HTTP status code should be "207"
|
||||
And the single response should contain a property "oc:permissions" with value like '/RM{0,1}DNVCK/'
|
||||
Examples:
|
||||
| dav-path-version |
|
||||
| old |
|
||||
| new |
|
||||
| spaces |
|
||||
|
||||
|
||||
Scenario Outline: user tries to get the size of a folder with files using webdav api
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Alice" has created folder "/test"
|
||||
And user "Alice" has uploaded file with content "a" to "/test/file.txt"
|
||||
And user "Alice" has uploaded file with content "b" to "/test/file1.txt"
|
||||
And user "Alice" has uploaded file with content "c" to "/test/file2.txt"
|
||||
And user "Alice" has uploaded file with content "d" to "/test/file3.txt"
|
||||
And user "Alice" has uploaded file with content "e" to "/test/file4.txt"
|
||||
When user "Alice" gets the following properties of folder "/test" using the WebDAV API
|
||||
| propertyName |
|
||||
| oc:size |
|
||||
Then the HTTP status code should be "207"
|
||||
And the single response should contain a property "oc:size" with value "5"
|
||||
Examples:
|
||||
| dav-path-version |
|
||||
| old |
|
||||
| new |
|
||||
| spaces |
|
||||
@@ -0,0 +1,99 @@
|
||||
@issue-1313 @skipOnReva
|
||||
Feature: get quota
|
||||
As a user
|
||||
I want to be able to find out my available storage quota
|
||||
So that I can manage the use of my allocated storage
|
||||
|
||||
Background:
|
||||
Given using OCS API version "1"
|
||||
And user "Alice" has been created with default attributes
|
||||
|
||||
|
||||
Scenario Outline: retrieving folder quota when unlimited quota is set
|
||||
Given using <dav-path-version> DAV path
|
||||
When user "Admin" changes the quota of the personal space of user "Alice" to "0" using the Graph API
|
||||
Then the HTTP status code should be "200"
|
||||
And as user "Alice" folder "/" should contain a property "d:quota-available-bytes" with value "-3"
|
||||
Examples:
|
||||
| dav-path-version |
|
||||
| old |
|
||||
| new |
|
||||
| spaces |
|
||||
|
||||
@smokeTest
|
||||
Scenario Outline: retrieving folder quota when quota is set
|
||||
Given using <dav-path-version> DAV path
|
||||
When user "Admin" changes the quota of the personal space of user "Alice" to "10000" using the Graph API
|
||||
Then the HTTP status code should be "200"
|
||||
And as user "Alice" folder "/" should contain a property "d:quota-available-bytes" with value "10000"
|
||||
Examples:
|
||||
| dav-path-version |
|
||||
| old |
|
||||
| new |
|
||||
| spaces |
|
||||
|
||||
@issue-8197
|
||||
Scenario Outline: retrieving folder quota of shared folder with quota when no quota is set for recipient
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Brian" has been created with default attributes
|
||||
And user "Admin" has changed the quota of the personal space of user "Alice" to "0"
|
||||
And user "Admin" has changed the quota of the personal space of user "Brian" to "10000"
|
||||
And user "Brian" has created folder "/testquota"
|
||||
And user "Brian" has uploaded file "/testquota/Brian.txt" of size 1000 bytes
|
||||
And user "Brian" has sent the following resource share invitation:
|
||||
| resource | testquota |
|
||||
| space | Personal |
|
||||
| sharee | Alice |
|
||||
| shareType | user |
|
||||
| permissionsRole | Editor |
|
||||
And user "Alice" has a share "testquota" synced
|
||||
When user "Alice" gets the following properties of folder "<folder-name>" inside space "Shares" using the WebDAV API
|
||||
| propertyName |
|
||||
| d:quota-available-bytes |
|
||||
Then the HTTP status code should be "207"
|
||||
And the single response should contain a property "d:quota-available-bytes" with value "9000"
|
||||
Examples:
|
||||
| dav-path-version | folder-name |
|
||||
| old | /Shares/testquota |
|
||||
| new | /Shares/testquota |
|
||||
| spaces | /testquota |
|
||||
|
||||
@issue-8197
|
||||
Scenario Outline: retrieving folder quota when quota is set and a file was uploaded
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Admin" has changed the quota of the personal space of user "Alice" to "10000"
|
||||
And user "Alice" has uploaded file "/prueba.txt" of size 1000 bytes
|
||||
When user "Alice" gets the following properties of folder "/" using the WebDAV API
|
||||
| propertyName |
|
||||
| d:quota-available-bytes |
|
||||
Then the HTTP status code should be "207"
|
||||
And the single response should contain a property "d:quota-available-bytes" with value "9000"
|
||||
Examples:
|
||||
| dav-path-version |
|
||||
| old |
|
||||
| new |
|
||||
| spaces |
|
||||
|
||||
|
||||
Scenario Outline: retrieving folder quota when quota is set and a file was received
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Brian" has been created with default attributes
|
||||
And user "Admin" has changed the quota of the personal space of user "Brian" to "10000"
|
||||
And user "Alice" has uploaded file "/Alice.txt" of size 93 bytes
|
||||
And user "Alice" has sent the following resource share invitation:
|
||||
| resource | Alice.txt |
|
||||
| space | Personal |
|
||||
| sharee | Brian |
|
||||
| shareType | user |
|
||||
| permissionsRole | File Editor |
|
||||
And user "Brian" has a share "Alice.txt" synced
|
||||
When user "Brian" gets the following properties of folder "/" using the WebDAV API
|
||||
| propertyName |
|
||||
| d:quota-available-bytes |
|
||||
Then the HTTP status code should be "207"
|
||||
And the single response should contain a property "d:quota-available-bytes" with value "10000"
|
||||
Examples:
|
||||
| dav-path-version |
|
||||
| old |
|
||||
| new |
|
||||
| spaces |
|
||||
@@ -0,0 +1,130 @@
|
||||
Feature: set file properties
|
||||
As a user
|
||||
I want to be able to set meta-information about files
|
||||
So that I can record file meta-information (detailed requirement TBD)
|
||||
|
||||
Background:
|
||||
Given using OCS API version "1"
|
||||
And user "Alice" has been created with default attributes
|
||||
|
||||
@smokeTest @issue-1263
|
||||
Scenario Outline: setting custom DAV property and reading it
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "testcustomprop.txt"
|
||||
When user "Alice" sets property "very-custom-prop" of file "testcustomprop.txt" to "veryCustomPropValue"
|
||||
Then the HTTP status code should be "207"
|
||||
And the xml response should contain a property "very-custom-prop"
|
||||
And the content in the response should include the following content:
|
||||
"""
|
||||
<d:prop><very-custom-prop></very-custom-prop></d:prop>
|
||||
"""
|
||||
When user "Alice" gets a custom property "very-custom-prop" of file "testcustomprop.txt"
|
||||
Then the HTTP status code should be "207"
|
||||
And the response should contain a custom "very-custom-prop" property with value "veryCustomPropValue"
|
||||
And the content in the response should include the following content:
|
||||
"""
|
||||
<d:prop><very-custom-prop>veryCustomPropValue</very-custom-prop></d:prop>
|
||||
"""
|
||||
Examples:
|
||||
| dav-path-version |
|
||||
| old |
|
||||
| new |
|
||||
| spaces |
|
||||
|
||||
@issue-1297
|
||||
Scenario Outline: setting custom complex DAV property and reading it
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "/testcustomprop.txt"
|
||||
When user "Alice" sets property "very-custom-prop" of file "testcustomprop.txt" to "<foo xmlns='http://bar'/>"
|
||||
Then the HTTP status code should be "207"
|
||||
And the xml response should contain a property "very-custom-prop"
|
||||
When user "Alice" gets a custom property "very-custom-prop" of file "testcustomprop.txt"
|
||||
Then the HTTP status code should be "207"
|
||||
And the response should contain a custom "very-custom-prop" property with value "<foo xmlns='http://bar'/>"
|
||||
Examples:
|
||||
| dav-path-version |
|
||||
| old |
|
||||
| new |
|
||||
| spaces |
|
||||
|
||||
@issue-1263
|
||||
Scenario Outline: setting custom DAV property and reading it after the file is renamed
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "/testcustompropwithmove.txt"
|
||||
And user "Alice" has set property "very-custom-prop" of file "testcustompropwithmove.txt" to "valueForMovetest"
|
||||
And user "Alice" has moved file "/testcustompropwithmove.txt" to "/catchmeifyoucan.txt"
|
||||
When user "Alice" gets a custom property "very-custom-prop" of file "catchmeifyoucan.txt"
|
||||
Then the response should contain a custom "very-custom-prop" property with value "valueForMovetest"
|
||||
Examples:
|
||||
| dav-path-version |
|
||||
| old |
|
||||
| new |
|
||||
| spaces |
|
||||
|
||||
@skipOnReva @issue-1297
|
||||
Scenario Outline: setting custom DAV property on a shared file as an owner and reading as a recipient
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Brian" has been created with default attributes
|
||||
And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "/testcustompropshared.txt"
|
||||
And user "Alice" has sent the following resource share invitation:
|
||||
| resource | testcustompropshared.txt |
|
||||
| space | Personal |
|
||||
| sharee | Brian |
|
||||
| shareType | user |
|
||||
| permissionsRole | File Editor |
|
||||
And user "Brian" has a share "testcustompropshared.txt" synced
|
||||
When user "Alice" sets property "very-custom-prop" of file "testcustompropshared.txt" to "valueForSharetest"
|
||||
Then the HTTP status code should be "207"
|
||||
And the xml response should contain a property "very-custom-prop"
|
||||
When user "Brian" gets a custom property "very-custom-prop" of file "Shares/testcustompropshared.txt"
|
||||
Then the HTTP status code should be "207"
|
||||
And the response should contain a custom "very-custom-prop" property with value "valueForSharetest"
|
||||
Examples:
|
||||
| dav-path-version |
|
||||
| old |
|
||||
| new |
|
||||
| spaces |
|
||||
|
||||
@issue-1263
|
||||
Scenario Outline: setting custom DAV property using one endpoint and reading it with other endpoint
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "/testnewold.txt"
|
||||
When user "Alice" sets property "very-custom-prop" of file "testnewold.txt" to "lucky"
|
||||
Then the HTTP status code should be "207"
|
||||
And the xml response should contain a property "very-custom-prop"
|
||||
And using <dav-path-version-2> DAV path
|
||||
When user "Alice" gets a custom property "very-custom-prop" of file "testnewold.txt"
|
||||
Then the HTTP status code should be "207"
|
||||
And the response should contain a custom "very-custom-prop" property with value "lucky"
|
||||
Examples:
|
||||
| dav-path-version | dav-path-version-2 |
|
||||
| old | new |
|
||||
| new | old |
|
||||
| spaces | new |
|
||||
| spaces | old |
|
||||
| new | spaces |
|
||||
| old | spaces |
|
||||
|
||||
@issue-2140
|
||||
Scenario Outline: setting custom DAV property with custom namespace and reading it
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "testcustomprop.txt"
|
||||
When user "Alice" sets property "very-custom-prop" with namespace "x1='http://whatever.org/ns'" of file "testcustomprop.txt" to "veryCustomPropValue" using the WebDAV API
|
||||
Then the HTTP status code should be "207"
|
||||
And the xml response should contain a property "x1:very-custom-prop" with namespace "x1='http://whatever.org/ns'"
|
||||
And the content in the response should include the following content:
|
||||
"""
|
||||
<d:prop><x1:very-custom-prop xmlns:x1="http://whatever.org/ns"></x1:very-custom-prop></d:prop>
|
||||
"""
|
||||
When user "Alice" gets a custom property "x1:very-custom-prop" with namespace "x1='http://whatever.org/ns'" of file "testcustomprop.txt"
|
||||
Then the HTTP status code should be "207"
|
||||
And the response should contain a custom "x1:very-custom-prop" property with namespace "x1='http://whatever.org/ns'" and value "veryCustomPropValue"
|
||||
And the content in the response should include the following content:
|
||||
"""
|
||||
<d:prop><x1:very-custom-prop xmlns:x1="http://whatever.org/ns">veryCustomPropValue</x1:very-custom-prop></d:prop>
|
||||
"""
|
||||
Examples:
|
||||
| dav-path-version |
|
||||
| old |
|
||||
| new |
|
||||
| spaces |
|
||||
Reference in New Issue
Block a user