Skip to content

Commit

Permalink
Merge pull request #9911 from owncloud/test-text-file
Browse files Browse the repository at this point in the history
[tests-only][full-ci] add test coverage to open text file with `/app/open` endpoint
  • Loading branch information
PrajwolAmatya authored Aug 28, 2024
2 parents d64e190 + a3a861d commit fe99966
Showing 1 changed file with 71 additions and 2 deletions.
73 changes: 71 additions & 2 deletions tests/acceptance/features/apiCollaboration/wopi.feature
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@ Feature: collaboration (wopi)
I want to access files with collaboration service apps
So that I can collaborate with other users

Background:
Given user "Alice" has been created with default attributes and without skeleton files


Scenario Outline: open file with .odt extension
Given user "Alice" has been created with default attributes and without skeleton files
And user "Alice" has uploaded file "filesForUpload/simple.odt" to "simple.odt"
Given user "Alice" has uploaded file "filesForUpload/simple.odt" to "simple.odt"
And we save it into "FILEID"
When user "Alice" sends HTTP method "POST" to URL "<app-endpoint>"
Then the HTTP status code should be "200"
Expand Down Expand Up @@ -49,3 +51,70 @@ Feature: collaboration (wopi)
| app-endpoint |
| /app/open?file_id=<<FILEID>>&app_name=FakeOffice |
| /app/open?file_id=<<FILEID>> |


Scenario: open text file with app name in url query (MIME type not registered in app-registry)
Given user "Alice" has uploaded file "filesForUpload/lorem.txt" to "lorem.txt"
And we save it into "FILEID"
When user "Alice" sends HTTP method "POST" to URL "/app/open?file_id=<<FILEID>>&app_name=FakeOffice"
Then the HTTP status code should be "200"
And the JSON data of the response should match
"""
{
"type": "object",
"required": [
"app_url",
"method",
"form_parameters"
],
"properties": {
"app_url": {
"type": "string",
"pattern": "^.*\\?WOPISrc=.*wopi%2Ffiles%2F[a-fA-F0-9]{64}$"
},
"method": {
"const": "POST"
},
"form_parameters": {
"type": "object",
"required": [
"access_token",
"access_token_ttl"
],
"properties": {
"access_token": {
"type": "string"
},
"access_token_ttl": {
"type": "string"
}
}
}
}
}
"""


Scenario: open text file without app name in url query (MIME type not registered in app-registry)
Given user "Alice" has uploaded file "filesForUpload/lorem.txt" to "lorem.txt"
And we save it into "FILEID"
When user "Alice" sends HTTP method "POST" to URL "/app/open?file_id=<<FILEID>>"
Then the HTTP status code should be "500"
And the JSON data of the response should match
"""
{
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"const": "SERVER_ERROR"
},
"message": {
"const": "Error contacting the requested application, please use a different one or try again later"
}
}
}
"""

0 comments on commit fe99966

Please sign in to comment.