Closed patrickjahns closed 6 years ago
GitMate.io thinks the contributor most likely able to help you is @DeepDiver1975.
Possibly related issues are https://github.com/owncloud/files_primary_s3/issues/60 (1.0.0 release checklist), and https://github.com/owncloud/files_primary_s3/pull/35 (Ready for 10.1).
Everything tested works as expected - no strange behavior
Test Case | Expected Result | Result | Related Comment |
---|---|---|---|
CLI commands | |||
Enable Activity app via CLI using occ app:enable activity |
The apps gets enabled | βοΈ | |
Disable Activity app via CLI using occ app:disable activity |
The apps gets disabled | βοΈ | |
All activities section | |||
Check that all activities done in this Testplan are shown in this section | βοΈ | ||
Activities by you section | |||
Check that all activities done with my user in this Testplan are shown in this section | βοΈ | ||
Activities by others section | |||
Check that all activities done dealing with my user by other users in this Testplan are shown in this section | βοΈ | ||
An LDAP user shares a file with my user | Check that LDAP username is shown properly in this section | βοΈ | |
An LDAP user edits a file shared with my user | Check that LDAP username is shown properly in this section | βοΈ | |
Favorites section | |||
Make favorite a file | Check that the notification is shown in activity section and in the sidebar | N/A | https://github.com/owncloud/activity/issues/622 |
Make favorite a folder | Check that the notification is shown in activity section and in the sidebar | N/A | https://github.com/owncloud/activity/issues/622 |
Comments | |||
Make a comment in a file | Check that the notification is shown in activity section and in the sidebar | βοΈ | |
Make a comment in a folder | Check that the notification is shown in activity section and in the sidebar | βοΈ | |
Shares section | |||
Share a file/folder | Check that the notification is shown in activity section and in the sidebar | βοΈ | |
Share a file/folder with a user of other oC server | Check that the notification is shown in activity section and in the sidebar | β | https://github.com/owncloud/activity/issues/623 |
Share a file/folder via link | Check that the notification is shown in activity section and in the sidebar | βοΈ | |
Receive a share for another user | Check that the notification is shown in activity section and in the sidebar | βοΈ | |
Receive a share for another user of other oC server | Check that the notification is shown in activity section and in the sidebar | βοΈ | https://github.com/owncloud/activity/issues/596 |
Receive a file/folder via link adding to your owncloud | Check that the notification is shown in activity section and in the sidebar | β | |
Settings section mail | |||
Check a new file or folder has been deleted mail notification and create a file | βοΈ | ||
Check a file or folder has been shared mail notification and share a folder | βοΈ |
Everything tested works as expected - no strange behavior
Test Case | Expected Result | Result Firefox | Result Safari | Result Chrome | Related Comment |
---|---|---|---|---|---|
CLI commands | |||||
Enable theme-enterprise app via CLI using occ app:enable theme-enterprise |
The apps gets enabled | βοΈ | |||
Disable theme-enterprise app via CLI using occ app:disable theme-enterprise |
The apps gets disabled | βοΈ | |||
Open login page, and login. | The theme background is shown and the user can login without problems. | βοΈ | βοΈ | βοΈ | |
The top bar appears correctly in the files and admin page. | No visualization problems. | βοΈ | βοΈ | βοΈ | |
Menus can be opened and they are well positioned. | No visualization problems. | βοΈ | βοΈ | βοΈ | |
Public share a link. Open it without being logged in. | The theme is the expected one. | βοΈ | βοΈ | βοΈ |
Test Case | Expected Result | Result | Related Comment |
---|---|---|---|
CLI commands | |||
Enable Guest app via CLI using occ app:enable guests |
The apps is enabled | βοΈ | |
Disable Guest app via CLI using occ app:disable guests |
The apps is disabled | βοΈ | |
Add Guest User in sharetabview | |||
Create a guest user via email | βοΈ | ||
Try to create a guest user via email sharing from another guest user | Guest User should not be able to create another Guest | β | https://github.com/owncloud/guests/issues/114 |
Create a guest user via email sharing from an LDAP user | βοΈ | ||
Try to create a guest user via email when a server email is not set or it is invalid | An error message should be shown | N/A | If there is no email set, create guest user option is not offered in the sidebar |
Try to create a guest user via email with an invalid email format | An error message should be shown | N/A | No email format validation is done |
Try to create a guest user via email with an already used email | Guest option is not shown. Only federate and the username that has that mail are shown as option for sharing | βοΈ | |
Try to create a guest user via email already registered by email | A warning about the token is invalid should be shown | βοΈ | |
Create a guest user via email using a password that fits password policy | Check that the user receives the email and can register into oC | βοΈ | |
Create a guest user via email using a password that doesn't fit password policy | Check that the user receives the email and cannot register into oC. A warning related to password policy should be shown | βοΈ | |
Users Menu | |||
Delete a guest user in user's menu | The user is deleted and no longer available in oC. Check that user disappears from sharetabviews | β | |
Try to create a guest user in users menu adding it to the guest_group | The user should not be created. A warning should be shown | βοΈ | Current behavior. The user is created without group, so it is not added to guest group |
Change the guest user's password in users menu | The new password is set for the guest user | βοΈ | https://github.com/owncloud/guests/issues/174 |
Guest User account | |||
Log in the guest user account | Check that the shared file/folder appears with the right permissions | βοΈ | |
In personal page, change users email. Then as admin try to create a new guest user with the old mail | Check that the mail which was used for the register is kept | βοΈ | |
Settings page | |||
Change Guest Group name | The group name for guest is changed. Check this change in Users Page and the shares are kept | βοΈ | |
Set Guest Group name as empty | A warning error should be shown and the previous name should be kept | βοΈ | |
Limit guest access to an app whitelist checked, modify the list and save | Check that only apps listed are available for guests users | βοΈ | |
WebUI and browsers | |||
Check that guests menu in sharing section works fine using FireFox as browser | βοΈ |
Test Case | Expected Result | Result | Related Comment |
---|---|---|---|
Automatic tagging | |||
Create a new autotagging rule, IP Range (IPv4). Upload a file matching the rule. Upload a file not matching the rule. | Tag is assigned automatically to the first file and not to the second. | :construction: | |
Create a new autotagging rule, IP Range (IPv6). Upload a file matching the rule. Upload a file not matching the rule. | Tag is assigned automatically to the first file and not to the second. | :construction: | |
Create a new autotagging rule, Device type. Upload a file matching the rule. Upload a file not matching the rule. | Tag is assigned automatically to the first file and not to the second. | βοΈ | |
Create a new autotagging rule, File size. Upload a file matching the rule. Upload a file not matching the rule. | Tag is assigned automatically to the first file and not to the second. | βοΈ | |
Create a new autotagging rule, File mimetype. Upload a file matching the rule. Upload a file not matching the rule. | Tag is assigned automatically to the first file and not to the second. | βοΈ | |
Create a new autotagging rule, Request time. Upload a file matching the rule. Upload a file not matching the rule. | Tag is assigned automatically to the first file and not to the second. | βοΈ | |
Create a new autotagging rule, Request type. Upload a file matching the rule. Upload a file not matching the rule. | Tag is assigned automatically to the first file and not to the second. | βοΈ | |
Create a new autotagging rule, Request URL. Upload a file matching the rule. Upload a file not matching the rule. | Tag is assigned automatically to the first file and not to the second. | :construction: | |
Create a new autotagging rule, System file tag. Upload a file matching the rule. Upload a file not matching the rule. | Tag is assigned automatically to the first file and not to the second. | βοΈ | |
Create a new autotagging rule, User agent. Upload a file matching the rule. Upload a file not matching the rule. | Tag is assigned automatically to the first file and not to the second. | βοΈ | |
Create a new autotagging rule, User group. Upload a file matching the rule. Upload a file not matching the rule. | Tag is assigned automatically to the first file and not to the second. | βοΈ | |
Mount a group of rules at your choice and check that several at the same time can apply. Upload a file which matches only one rule and upload one file which matches both rules. | Tag is assigned only if both rules apply. | βοΈ | |
Retention periods | |||
Having several files shared from admin to regular users tagged with tag "ERASEME" invisible by regular users, add a retention period of 15 days. Run cron.php or tweak the date of your virtual machine to be after 15 days. | All files with tag "ERASEME" are deleted. | βοΈ | |
Having several files tagged as "Expire" and "Keep", add a retention period of 1 day for "Expire" and a retention period of 1 year for "Keep". Run cron.php or tweak the date of your virtual machine to be after 2 days. | All files with tag "Expire" are deleted. | βοΈ | |
Check that all automatically deleted files go to the trashbin and can be recovered. | βοΈ | ||
Having several files in a global mount external storage, as admin, tag them with "ERASEME" not-assignable by regular users, add a retention period of 15 days. Run cron.php or tweak the date of your virtual machine to be after 15 days. | All files with tag "ERASEME" are deleted. | βοΈ | |
Check that the entire menu can be used in Internet Explorer 11. | βοΈ | ||
Check that all the entire menu can be used in Safari. | βοΈ | ||
Check that all the entire menu can be used in Chrome. | βοΈ | ||
Check that all the entire menu can be used in Firefox. | βοΈ | ||
Check that all the entire menu can be used in Edge. | :construction: | ||
Disable system tags (collaborative tags) app. Try to add a tag using tag manager. | App can be still used. | βοΈ | |
Convert file to pdf plugin | |||
Enable workflow plugin app to convert files to pdf | No problems found. | :construction: | |
Set a condition to convert every file uploaded from .ods to .pdf . Upload some odt files. Upload some doc files. | Odt Files are converted to pdf. Doc files aren't. | :construction: |
File upload size tests are listed for both the webUI and desktop client in order to exercise code paths that may have various versions of file chunking (or not) in use by those commonly-used client access interfaces.
Test Case | Steps | Expected result | Result | Related Comment |
---|---|---|---|---|
Regular Expression is mimetype upload | 1. Input rule regular expression "text" "is" "File mimetype upload" and save 2. Try to upload a ".txt" file |
File upload is denied | βοΈ | |
Regular Expression is not mimetype upload | 1. Input rule regular expression "text" "is not" "File mimetype upload" and save 2. Try to upload a ".txt" file |
File upload succeeds | βοΈ | |
Regular Expression is IP Range (IPv4) | 1. Input rule regular expression " 2. Try to upload a ".txt" file |
File upload is denied | :gear: | |
Regular Expression is not IP Range (IPv4) | 1. Input rule regular expression " 2. Try to upload a ".txt" file |
File upload succeeds | :gear: | |
Regular Expression is IP Range (IPv6) | 1. Input rule regular expression "1" "is" "IP Range (IPv6)" and save 2. Try to upload a ".txt" file |
File upload is denied | :gear: | |
Regular Expression is not IP Range (IPv6) | 1. Input rule regular expression "1" "is not" "IP Range (IPv6)" and save 2. Try to upload a ".txt" file |
File upload succeeds | :gear: | |
Regular Expression is Request URL | 1. Input rule regular expression "lorem" "is" "Request URL" and save 2. Try to download "lorem.txt" |
File download is denied | βοΈ | |
Regular Expression is not Request URL | 1. Input rule regular expression "lorem" "is not" "Request URL" and save 2. Try to download "lorem.txt" |
File download succeeds | βοΈ | |
Regular Expression is User Agent | 1. Input rule regular expression "Linux" "is" "User Agent" and save 2. Try to download "lorem.txt" |
File download is denied | βοΈ | |
Regular Expression is not User Agent | 1. Input rule regular expression "Linux" "is not" "User Agent" and save 2. Try to download "lorem.txt" |
File download succeeds | βοΈ | |
Regular Expression is User Group | 1. Input rule regular expression "[a-z]{3}\d" "is" "User Group" and save 2. Try to download "lorem.txt" |
File download is denied | βοΈ | |
Regular Expression is not User Group | 1. Input rule regular expression "[a-z]{3}\d" "is not" "User Group" and save 2. Try to download "lorem.txt" |
File download succeeds | βοΈ | |
File MimeType Upload is | 1. Input rule "File mimetype upload" "is" "text/plain" and save 2. Try to upload a ".txt" file |
File upload is denied | βοΈ |
Test Case | Expected Result | Result | Related Comment |
---|---|---|---|
Enable the app in the WebGUI | No problems found. | βοΈ | |
Disable and enable the app using CLI. | No problems found. | βοΈ |
Test Case | Expected Result | Result | Related Comment |
---|---|---|---|
Enter an invalid hostname e.g. 'localhost%&$#+~' and save the antivirus settings | saving is rejected | β | |
Enter a negative number as "Port" and save the antivirus settings | saving is rejected | β | |
Enter a floating point number as "Port" and save the antivirus settings | saving is rejected | β | |
Enter "0" as "Port" and save the antivirus settings | saving is rejected | β | |
Enter a non numerical string as "Port" and save the antivirus settings | saving is rejected | β | |
Enter a negative number as "Stream Length" and save the antivirus settings | saving is rejected | β | |
Enter a floating point number as "Stream Length" and save the antivirus settings | saving is rejected | β | |
Enter a floating point number as "Stream Length" and save the antivirus settings | saving is rejected | β | |
Enter a non numerical string as "Stream Length" and save the antivirus settings | saving is rejected | β | |
Enter "0" as "Stream Length" and save the antivirus settings | saving is rejected | β | |
Enter a negative number, less than -1 as "File size limit" and save the antivirus settings | saving is rejected | β | |
Enter a floating point number as "File size limit" and save the antivirus settings | saving is rejected | β | |
Enter a non numerical string as "File size limit" and save the antivirus settings | saving is rejected | β | |
Enter "0" as "File size limit" and save the antivirus settings | saving is rejected | π§ |
eicar.com
, eicar_com.zip
and eicarcom2.zip
from http://www.eicar.org/85-0-Download.html via all available endpoints. (See "Tips how to test different endpoints with curl")None of these uploads should be possible.
upload test β Testfileβ | eicar.com | eicar_com.zip | eicarcom2.zip |
---|---|---|---|
new dav path without chunking | β | β | β |
new dav path with chunking | β | β | β |
public upload | π§ | π§ | π§ |
files_texteditor app | π§ | - | - |
eicar.com
, eicar_com.zip
and eicarcom2.zip
from http://www.eicar.org/85-0-Download.html via all available endpoints. (See "Tips how to test different endpoints with curl")None of these uploads should be possible.
upload test β Testfileβ | eicar.com | eicar_com.zip | eicarcom2.zip |
---|---|---|---|
new dav path without chunking | β | β | β |
new dav path with chunking | β | β | β |
public upload | π§ | π§ | π§ |
files_texteditor app | π§ | - | - |
eicar.com
, eicar_com.zip
and eicarcom2.zip
from http://www.eicar.org/85-0-Download.html via all available endpoints. (See "Tips how to test different endpoints with curl")None of these uploads should be possible.
upload test β Testfileβ | eicar.com | eicar_com.zip | eicarcom2.zip |
---|---|---|---|
old dav path without chunking | π§ | π§ | π§ |
old dav path with chunking | π§ | π§ | π§ |
new dav path without chunking | π§ | π§ | π§ |
new dav path with chunking | π§ | π§ | π§ |
public upload | βοΈ | βοΈ | βοΈ |
files_texteditor app | βοΈ | - | - |
set "File size limit" to 100 bytes
uploads of eicar.com
(68byte) should be blocked
uploads of eicar_com.zip
(184byte) should pass
upload test β Testfileβ | eicar.com blocked |
eicar_com.zip passing |
---|---|---|
new dav path without chunking | π§ | π§ |
new dav path with chunking | π§ | π§ |
public upload | π§ | π§ |
run these steps between every test case in this chapter:
eicar.com
, eicar_com.zip
and eicarcom2.zip
from http://www.eicar.org/85-0-Download.html to the owncloud system under test$this->setInterval(60 * 15);
in lib/cron/task.php
to a smaller number)sudo -u www-data php cron.php
Test Case | Expected Result | Result | Related Comment |
---|---|---|---|
logSetting = "Only log" fileSizeLimit="-1" |
1. eicar.com , eicar_com.zip and eicarcom2.zip are logged as infected2. all files still exist on the system |
βοΈ | |
logSetting = "Only log" fileSizeLimit="100" |
1. only eicar.com is logged as infected2. all files still exist on the system |
βοΈ | |
logSetting = "Delete file" fileSizeLimit="-1" |
1. eicar.com , eicar_com.zip and eicarcom2.zip are logged as infected and deleted2. eicar.com , eicar_com.zip and eicarcom2.zip disappear from the system |
βοΈ | |
logSetting = "Delete file" fileSizeLimit="100" |
1. only eicar.com is logged as infected and deleted2. only eicar.com disappears from the system |
βοΈ |
Upload a Folder with dozens of subfolders, and somer eicar files spread in the subfolders tree
Reject file uploads when clamAV is not reachable
We need to re-test (sanity test) it later with https://github.com/owncloud/core/pull/31659 it fixes a regression because of objectstore changes
Test Case | Expected Result | Result | Related Comment |
---|---|---|---|
Enable the app. | No problems found. | βοΈ | |
Disable and enable the app using CLI. | No problems found. | βοΈ | |
Create a custom group. | Custom group is created correctly. | βοΈ | |
Create an already existing custom group. | The group cannot be created again. | βοΈ | |
Delete a custom group. | The group is removed correctly. | βοΈ | |
Rename a custom group. | The group is renamed correctly. | βοΈ | |
As a non-admin member try to rename its custom group. | He cannot rename its custom group | :gear: | |
Get members of a group. | Members are retrieved correctly. | βοΈ | |
Check that the creator of a custom group becames admin automatically. | No problems found. | :gear: | |
As a creator of a custom group add members. | Members are added correctly. | βοΈ | |
As non-admin member of a custom group try to add members. | Non-admin member cannot add members. | βοΈ | |
As non-member of a custom group try to list its members. | Non-admin member cannot list members. | βοΈ | |
As custom group member try to list members. | Custom group member can list members. | βοΈ | |
As non-admin member of a custom group try to delete a custom group | A non-admin member of a custom group cannot delete a custom group. | βοΈ | |
As a creator of a custom group try to remove members. | Creator of a custom group can remove members. | βοΈ | |
As a non-admin member of a custom group try to remove members | A non-admin member of a custom group cannot remove members. | βοΈ | |
Not having more admins on a custom group, as group owner try to remove yourself from the group | Group owner cannot remove self if no other admin exists in the group. | βοΈ | |
As member of a custom group leave the custom group. | A member of a custom group can leave the custom group himself. | :gear: | |
As a user check the groups you belong to. | A user can list his groups. | βοΈ | |
As owner of a group, try to change the role of a member of the group. | Role is changed successfully. | βοΈ | |
Create a custom group and let user 'member1' as admin. | 'member1' is the new admin of the group. No problems. | βοΈ | |
As superadmin of the server create a custom group. | Superadmin can create custom groups. | βοΈ | |
As superadmin add a user to a custom group. | Superadmin can add a user to any custom group. | βοΈ | |
As superadmin rename a custom group. | Superadmin can rename any custom group. | :gear: | |
As superadmin change role of a member of a group making him admin. | Superadmin can change roles. | βοΈ | |
As superadmin remove a member of a custom group. | Superadmin can remove members. | βοΈ | |
As superadmin try to list members of a custom group. | Superadmin can list members. | βοΈ | |
As member converted to group owner add members to group, remove members, change roles and list members. | A member converted to group owner can do the same as group owner | βοΈ | |
Having no other admin in a custom group, as group owner try to remove your own admin permissions. | A group owner cannot remove his own admin permissions if there is no other owner in the group | βοΈ | |
Check that a non-existing user cannot be added to a custom group | βοΈ | ||
Using frontend | |||
Create a custom group. | Custom group is created correctly. | βοΈ | |
Create an already existing custom group. | The group cannot be created again. A warning appears. | βοΈ | |
Delete a custom group. | The group is removed correctly. | βοΈ | |
Rename a custom group. | The group is renamed correctly. | βοΈ | |
As a creator of a custom group add members. | Members are added correctly. | βοΈ | |
As regular user member of a custom group check the users in the custom groups. | You can see the other members. | βοΈ | |
As non-admin member of a custom group try to add members. | Non-admin member cannot add members. There is no UI element to do it. | βοΈ |
Test Case | Expected Result | Result | Related Comment |
---|---|---|---|
Enable the app. | No problems found. | βοΈ | |
As admin create a group 'group1' add three members 'user1', 'user2', 'user3'. Make 'user1' group admin of 'group1'. Login as 'user1', go to the users view. Impersonate 'user2'. | 'user1' can impersonate 'user2'. See his files. Behave like him. Like if he were logged in. | βοΈ | |
Check that a user who is not group admin cannot impersonate anyone. | βοΈ | ||
As admin create a group 'group1' add four members 'user1', 'user2', 'user3' and 'admin' being admin user of the server. Make 'user1' group admin of 'group1'. Login as 'user1', go to the users view. Impersonate 'admin'. | Super admin cannot be impersonated. | βοΈ | |
When impersonating a user, a warning appears adverting that you have logged as another user. | a warning appears and disappears after a while. | βοΈ | |
Check that impersonate options appears in the correct settings panel. | βοΈ |
6GB via webui -> verify checksum afterward
With current compose infrastructure, the port for s3 is currently not exposed. So we can consider to deploy with the port exposed in the future if we consider it worthy (to be discussed)
QA was finished, let's close the ticket.
Automated Test Suites
Smashbox Results
Manual QA Sanity Check
Large file handling
Upload large files
Handling of trashbin/version of a large file
handling large folders
1) clone core repository - run make - sync via syncclient
share folder uploaded in 1)
Test with other apps
primarily relevant
files_texteditor-> β know limitations / issuesOther apps