Files
opencloud/tests/acceptance/expected-failures-API-on-OCIS-storage.md
David Christofas 538e7b576a update reva to v1.9
2021-06-23 20:18:24 +02:00

306 KiB

Scenarios from ownCloud10 core API tests that are expected to fail with OCIS storage

File

Basic file management like up and download, move, copy, properties, trash, versions and chunking.

PROPFIND on trashbin with Depth: infinity only shows the first level

invalid webdav responses for unauthorized requests.

PROPFIND on trashbin with Depth: infinity only shows the first level

trash-bin restore move does not send back Etag and other headers

cannot restore to a different file-name

Version count is 1 more than on oC10

Implement Versions Feature for ocis storage

PUT request with missing parent must return status code 409

invalid file-names should not be created using the TUS protocol

upload a file using TUS resource URL as an other user should not work

TUS OPTIONS requests do not reply with TUS headers when invalid password

renaming to banned name works

Getting information about a folder overwritten by a file gives 500 error instead of 404

creating a folder that already exists returns an empty body

Scenario Outline: try to create a folder that already exists

Different webdav properties from core

Scenario Outline: Propfind the last modified date of a folder using webdav api Property "d:getlastmodified" found with value "Wed, 20 Jan 2021 14:39:31 +0000", expected "/^[MTWFS][uedhfriatno]{2},\s(\d){2}\s[JFMAJSOND][anebrpyulgctov]{2}\s\d{4}\s\d{2}:\d{2}:\d{2} GMT$/" Scenario Outline: Propfind the content type of a file using webdav api Property "d:getcontenttype" found with value "text/plain; charset=utf-8", expected "#^text/plain$#" or "#^text/plain$#"

Custom dav properties with namespaces are rendered incorrectly

ocdav: double check the webdav property parsing when custom namespaces are used

Cannot set custom webDav properties

Sync

Synchronization features like etag propagation, setting mtime and locking files

deleting an item updates etags of grandparent but not on parent

etag propagation

Remote.php/dav/uploads endpoint does not exist

ocdav: return checksum in upload response for chunked upload

Preserve mtime after TUS upload

Scenario Outline: upload file with mtime expected -'1565237893', actual +'1611153591'

ocis-storage does not use the mtime send in the Upload-Metadata header when uploading via TUS

Webdav LOCK operations

Share

File and sync features in a shared scenario

etags don't change for a share receiver

etags don't change for a share receiver

Searching sharee with displayname

User cannot create a folder named Share

Response is empty when accepting a share

file_target of a auto-renamed file is not correct directly after sharing

file_target has unexpected value

Sharing seems to work but does not work

Listing shares via ocs API does not show path for parent folders

Shares are not deleted when user is deleted

Cannot move a file to a shared folder

deleting share response does not contain data field

sharing via API and changing the cases in the username does not work correctly

File deletion using dav gives unique string in filename in the trashbin

cannot share a folder with create permission

Listing shares via ocs API does not show path for parent folders

Shares are not deleted when user is deleted

no displayname_owner shown when creating a share

Delete shares from user when user is deleted

no displayname_owner shown when creating a share

when sharing a file mime-type field is set to application/octet-stream

OCS error message for attempting to access share via share id as an unauthorized user is not informative

Listing shares via ocs API does not show path for parent folders

Allow getting the share list filtered by share type via API

Cannot set mtime on upload

different error message detail for previews of folder

Ability to return error messages in Webdav response bodies

various sharing settings cannot be set

OCIS share permissions not enforced

Adding public upload to a read only shared folder as a receipient is allowed

Upload-only shares must not overwrite but create a separate file

Set quota over settings

various sharing settings cannot be set

Resharing does not work with ocis storage

cannot move from Shares folder

various sharing settings cannot be set

share permissions are not enforced

500 status code on update share

invalid format of sharees response

deleting a received share-folder moves it to trash-bin but does not unshare it

deleting a file inside a received shared folder is moved to the trash-bin of the sharer not the receiver

Restoring a file to read-only received folder returns incorrect status code

remote.php/dav/uploads endpoint does not exist

Copying into a shared folder

Scenario Outline: Copying a file to a folder with no permissions

Scenario Outline: delete a folder when there is a default folder for received shares

Folder overwrite on shared files doesn't works correctly on copying file

changing user quota gives ocs status 103 / cannot set user quota using the ocs endpoint

getting and setting quota

cannot get share-types webdav property

changing user quota gives ocs status 103 / Cannot set quota

not possible to move file into a received folder

cannot move from Shares folder

Scenario Outline: Moving a file into a shared folder as the sharee and as the sharer

OCIS-storage overwriting a file as share receiver, does not create a new file version for the sharer

restoring an older version of a shared file deletes the share

cannot move from Shares folder

not possible to move file into a received folder

getting the metadata without permission results in a 403 error

Expiration date for user shares is not implemented

incorrect ocs(v2) status value when sharing to group that does not exist should be 404, gives 998

ocs: api compatibility, return correct status code

Sharing seems to work but does not work

No way to set default folder for received shares

various sharing settings cannot be set

cannot move/rename an accepted shared resource outside of shares folder

Share permissions can be updated to any value

Share additional info

Share extra attributes

Edit user share response has an "name" field

user can access version metadata of a received share before accepting it

ocis-storage PROPFIND on a file uploaded by share receiver is not possible

OCIS-storage reading a file that a collaborator uploaded is impossible

Share lists deleted user as 'user'

OCIS-storage overwriting a file as share receiver, does not create a new file version for the sharer

deleting a share with wrong authentication returns OCS status 996 / HTTP 500

User Management

User and group management features

Cannot create user with different username and emails

special character username not valid

Creating an already existing user works

Password can be set to empty

Username is case sensitive

Client token generation not implemented

disable users /cloud/users/disable|enable not available

Update displayname to empty value is successful

changing user quota gives ocs status 103 / Cannot set quota

user can get info of other users/ cloud/users endpoints not authenticated

incorrect ocs(v2) status value when getting info of user that does not exist should be 404, gives 998

ocs: api compatibility, return correct status code

incorrect ocs(v2) status value when getting info of share that does not exist should be 404, gives 998

ocs: api compatibility, return correct status code

subadmin endpoints not implemented for users

subadmin endpoints not implemented for groups

creating existing group doesn't gives error

cannot create group with '/'

adding user to non-existent group gives wrong statuscode

adding user to empty group gives wrong statuscode

adding non-existent user to a group gives wrong status code

Cannot create user with different username and emails

special character username not valid

normal users can list the members of the group

ocs v2 invalid status code for group endpoints

user-sync endpoint does not exist

Other

API, search, favorites, config, capabilities, not existing endpoints, CORS and others

no robots.txt available

Different version, edition and productname in status request and capabilities request

ocs config endpoint only accessible by authorized users

Ability to return error messages in Webdav response bodies

Trying to access another user's file gives http 403 instead of 404

ocdav: api compatibility, return correct status code

trying to lock file of another user gives http 200

Renaming a resource to banned name is allowed

ocdav: api compatibility, return correct status code

send POST requests to another user's webDav endpoints as normal user

ocdav: api compatibility, return correct status code

PUT request with missing parent must return status code 409

ocdav: api compatibility, return correct status code

Using double slash in URL to access a folder gives 501 and other status codes

Default capabilities for normal user not same as in oC-core

Difference in response content of status.php and default capabilities

REPORT request not implemented

Scenario Outline: search for entry by pattern

And other missing implementation of favorites

CSRF Headers

Scenario Outline: Downloading a file should serve security headers

Authentication

Scenario Outline: Unauthenticated call

trying to access a non-existing resource returns an empty body

Scenario Outline: Do a PROPFIND to a non-existing URL

wildcard Access-Control-Allow-Origin

No way to enforce token auth

App Passwords/Tokens for legacy WebDAV clients

various sharing settings cannot be set

Request to edit non-existing user by authorized admin gets unauthorized in http response

Sharing a same file twice to the same group

PATCH request for TUS upload with wrong checksum gives incorrect response

Share inaccessible if folder with same name was deleted and recreated

Won't fix

Not everything needs to be implemented for ocis. While the oc10 testsuite covers these things we are not looking at them right now.

  • The OC-LazyOps header is no longer supported by the client, implmenting this is not necessary for a first production release. We plan to have an uploed state machine to visualize the state of a file, see https://github.com/owncloud/ocis/issues/214
  • Blacklisted ignored files are no longer required because ocis can handle .htaccess files without security implications introduced by serving user provided files with apache.

uploading with old-chunking does not work

remote.php/dav/uploads endpoint does not exist

Blacklist files extensions

cannot rename files asynchronously

cannot set blacklisted file names

cannot set excluded directories

cannot set blacklisted file names

cannot set excluded directories

cannot set blacklisted file names

cannot set excluded directories

system configuration options missing

Checksum feature

Trying to accept a share with invalid ID gives incorrect OCS and HTTP status

File is still present in the file list after declining a share

[OC-storage] share-types field empty for shared file folder in webdav response

file_target does not contain Share folder

path property in pending shares only gives filename

Group name with emoji can be created but file cannot be shared with such groups

Trying to copy a file into a readonly share gives HTTP 500 error