diff --git a/Mobile/Android/Templates/Release_2.5.0/xxxx-oauth2.md b/Mobile/Android/Templates/Release_2.5.0/xxxx-oauth2.md new file mode 100644 index 00000000..b1209211 --- /dev/null +++ b/Mobile/Android/Templates/Release_2.5.0/xxxx-oauth2.md @@ -0,0 +1,86 @@ +### OAuth2 + +#### Pr: https://github.com/owncloud/android/pull/XXX + + +--- + +| TestID | Test Case | Steps | Expected Result | Result | Related Comment | +| :----: | :-------- | :---- | :-------------- | :----: | :-------------- | +|**Login View**||||||| +| 1 | Initial look | Open the app. Check both orientations | Correct view. Only URL and connect button are shown | | | +| 2 | OAuth2 URL http | 1. Set an URL of a http server with OAuth2
2. Tap on connect.
Check both orientations | Redirected to webview. No more options shown | | | +| 3 | OAuth2 URL https trusted | 1. Set an URL of a https trusted server with OAuth2
2. Tap on connect.
Check both orientations | Redirected to webview. No more options shown | | | +| 4 | OAuth2 URL https non-trusted | 1. Set an URL of a https non-trusted server with OAuth2
2. Tap on connect.
Check both orientations | Redirected to webview. No more options shown | | | +| 5 | Basic Auth http URL | 1. Set an URL of a http server without OAuth2
2. Tap on connect.
Check both orientations | Fields username and password are shown | | | +| 6 | Basic Auth https trusted URL | 1. Set an URL of a https trusted server without OAuth2
2. Tap on connect.
Check both orientations | Fields username and password are shown | | | +| 7 | Basic Auth https non-trusted URL | 1. Set an URL of a https non-trusted server without OAuth2
2. Tap on connect.
Check both orientations | Fields username and password are shown | | | +| 8 | Redirected URL | 1. Set a redirection URL
2. Tap on connect.
Check both orientations | Fields username and password are shown | | +| 9 | SAML URL | Set an SAML URL (not supported by the app)
Check both orientations | Correct error messaege | | | +| 10 | Wrong URL | Set an incorrect URL.
Check both orientations | Correct error messaege | | | +| 11 | Wrong Authorizathion endpoint | 1. In customization file, change auth endpoint for a incorrect one
2. Enter OAuth2 URL and connect.
Check both orientations | Correct error handling | | | +|**Branding**||||||| +| 12 | OAuth2 URL hardcoded | Open the app.
Check both orientations | Correct view | | | +| 13 | OAuth2 URL hardcoded and hidden | Open the app.
Check both orientations | Correct view | | | +| 14 | Help link hidden | Open the app.
Check both orientations | Correct view | | +|**OAuth2 UI flow**||||||| +| 15 | Webview | Enter OAuth2 URL and connect.
Check both orientations | Correct webview | | | +| 16 | Correct credentials | 1. Enter OAuth2 URL and connect.
2. Enter correct credentials.
Check both orientations | 1. Webview is opened
2. Credentials are checked and webview is closed | | | +| 17 | Wrong credentials | 1. Enter OAuth2 URL and connect.
2. Enter wrong credentials.
Check both orientations | 1. Webview is opened
2. Webview can be closed | | | +| 18 | Wrong client id | 1. In customization file, change client id for a incorrect one
2. Enter OAuth2 URL and connect.
Check both orientations | Correct error handling | | | +| 19 | Wrong secret id | 1. In customization file, change secret id for a incorrect one
2. Enter OAuth2 URL and connect.
Check both orientations | Correct error handling | | | +| 20 | Wrong redirection url | 1. In customization file, change redirection url for a incorrect one
2. Enter OAuth2 URL and connect.
3. Input correct credentials
Check both orientations | Correct error handling | | | +| 21 | Wrong token endpoint | 1. In customization file, change token endpoint for a incorrect one
2. Enter OAuth2 URL and connect.
3. Input correct credentials
Check both orientations | Correct error handling | | | +|**OAuth2 internal flow**||||||| +| 22 | Auth request | With mitmproxy, check the OAuth2 GET authorization code request | The URL contains the parameters: response_type=code, redirect_uri=\, client_id=\ | | | +| 23 | Token request | With mitmproxy, check the OAuth2 POST token request | The POST request contains in the body the parameters: grant_type=authorization_code, code=\, redirect_uri=\, client_id=\.
Header Content Type = application/x-www-form-urlencoded.
Header www-authorization = Basic + client id + : + secretid | | | +| 24 | Token refresh | With mitmproxy, check the OAuth2 POST token request | The POST request contains in the body the parameters: grant_type=authorization_code, code=\, redirect_uri=\, client_id=\.
Header Content Type = application/x-www-form-urlencoded.
Header www-authorization = Basic | | | +|**OAuth2 session**||||||| +| 25 | Create folder | With OAuth2 session active, create folder | Success | | | +| 26 | Upload files | With OAuth2 session active, upload files | Success | | | +| 27 | Download files | With OAuth2 session active, upload files | Success | | | +| 28 | Remove files | With OAuth2 session active, remove files | Success | | | +| 29 | Rename files | With OAuth2 session active, rename files | Success | | | +| 30 | Av. offline files | With OAuth2 session active,set files as av.offline | Success | | | +| 31 | Instant uploads | With OAuth2 session active, upload files | Success | | | +| 32 | Share with users | With OAuth2 session active, share with users | Success | | | +| 33 | Share public| With OAuth2 session active, share public | Success | | | +| 34 | Open from | With OAuth2 session active, open from an external app | Success | | | +| 35 | Share with oC | With OAuth2 session active, share content from an external app | Success | | | +| 36 | Send text | With OAuth2 session active, send text from an external app to oC | Success | | | +|**Session ends/refresh**|||||| +| 37 | Session Expired | 1. Wait until token is refreshed
2. Perform actions (download, upload, delete, move, remove) | New token is used in the requests and the action is performed| | | +| 38 | Session Expired - external | 1. Wait until token is refreshed out of the app
2. From an external app, send content once the token is expired | New token is used in the requests and the action is performed| | | +|**Multiaccount**||||||| +| 39 | Several OAuth2 same server | Attach several OAuth2 accounts of the same server on the same device. Check correct expirations. | All correct | | | +| 40 | Several OAuth2 different server | Attach several OAuth2 accounts of different servers on the same device | All correct | | | +| 41 | Several OAuth2 expiration | 1. Attach several OAuth2 accounts of different servers on the same device
2. Wait until one session expires. | Expired session is refresed. The other sessions keep alive | | | +| 42 | OAuth2 + basic | Attach an OAuth2 and a basic auth accounts to the same device | All correct | | | +| 43 | OAuth2 + SAML | Attach an OAuth2 and a SAML auth accounts to the same device | Not posible | | | +|**External actions**||||||| +| 44 | Refresh Token revoked | 1. After login, remove refresh token in DB
2. Wait until session expires| Session is not refreshed. User redirected to login view | | | +| 45 | Token revoked | After login, remove token | Session ends. User redirected to login view | | | +| 46 | Change credentials | 1. In webUI, change password
2. In app, after login, in settings view, go to edit credentials and enter new credentials | New token is received | | | +| 47 | Edit credentials with other account | 1. In app, after login, in settings view, go to edit credentials and enter other user credentials | Account updated / Error shown | | | +| 48 | User deleted | 1. In webUI, remove user | Session ends. User redirected to login view and can not login anymore | | | +| 49 | Manage Space | In device Settings, clear cache and manage space of the app | Session does not end | | | +| 50 | Remove client | In webUI, remove client | Not posible to authenticate anymore | | | +| 51 | Remove OAuth2 app | In webUI, disable app | basic auth? | | | +|**Errors**||||||| +| 52 | No internet connection | 1. Disable internet connection in device
2. Try to login in OAuth2 | Correct error | | | +| 53 | No server connection | 1. Switch server off in device
2. Try to login in OAuth2 | Correct error | | | +| 54 | Maintenance mode login | 1. Enable maintenance mode
2. Try to login in OAuth2 | Correct error | | | +| 55 | Firewall mode login | Enable a firewall rule to ban the login
2. Try to login in OAuth2 | Correct error | | | +|**Regression**||||||| +| 56 | Basic Auth server | Open a session in a basic auth server and perform some actions (create folder, update, download, share...) | Success | | | +| 57 | SAML server | Open a session in a SAML server and perform some actions (create folder, update, download, share...) | Success | | | +| 58 | SAML expiration | Open a session in a SAML server and wait until it expires | Redirected to iDP credentials view | | | +| 59 | Redirected | Open a session in a redirected server and perform some actions (create folder, update, download, share...) | Success | | | +| 60 | Redirected with subfolder| Open a session in a redirected server with subfolder and perform some actions (create folder, update, download, share...) | Success | | | +| 61 | VideoStreaming | Stream a video in a OAuth2 server | Video is streamed | | | +|**Upgrade**||||||| +| 62 | Upgrade app from older version with basic | 1. Install an older version (basic auth)
2. Upgrade to this one without changes in server| Correct upgrade | | | +| 63 | Upgrade auth method server (to OAuth2)| 1. Login in a server without OAuth2
2. Enable OAuth2 in server
3. Login with OAuth2 | 1. Correct login
2. Correct login | | | +| 64 | Upgrade auth method server (to basic)| 1. Login in a server with OAuth2
2. Disable OAuth2 in server
3. Login with basic | 1. Correct login
2. Correct login | | | +| 65 | Migrate basic to OAuth2| 1. Login in a basic older server
2. Upgrade by enabling OAuth2 in server | Migration OK. Users access to the account without re-login | | | +| 66 | Migrate OAuth2 to basic| 1. Login in a OAuth2 server
2. Upgrade by disabling OAuth2 in server | Migration OK. Users access to the account without re-login | | | \ No newline at end of file diff --git a/Mobile/iOS/Templates/Release_3.7.0/919-oauth2.md b/Mobile/iOS/Templates/Release_3.7.0/919-oauth2.md new file mode 100644 index 00000000..b869860a --- /dev/null +++ b/Mobile/iOS/Templates/Release_3.7.0/919-oauth2.md @@ -0,0 +1,87 @@ +### OAuth2 + +#### Pr: https://github.com/owncloud/ios/pull/919 + + +--- + + +| TestID | Test Case | Steps | Expected Result | Result | Related Comment | +| :----: | :-------- | :---- | :-------------- | :----: | :-------------- | +|**Login View**||||||| +| 1 | Initial look | Open the app. Check both orientations | Correct view. Only URL and connect button are shown | | | +| 2 | OAuth2 URL http | 1. Set an URL of a http server with OAuth2
2. Tap on connect.
Check both orientations | Redirected to webview. No more options shown | | | +| 3 | OAuth2 URL https trusted | 1. Set an URL of a https trusted server with OAuth2
2. Tap on connect.
Check both orientations | Redirected to webview. No more options shown | | | +| 4 | OAuth2 URL https non-trusted | 1. Set an URL of a https non-trusted server with OAuth2
2. Tap on connect.
Check both orientations | Redirected to webview. No more options shown | | | +| 5 | Basic Auth http URL | 1. Set an URL of a http server without OAuth2
2. Tap on connect.
Check both orientations | Fields username and password are shown | | | +| 6 | Basic Auth https trusted URL | 1. Set an URL of a https trusted server without OAuth2
2. Tap on connect.
Check both orientations | Fields username and password are shown | | | +| 7 | Basic Auth https non-trusted URL | 1. Set an URL of a https non-trusted server without OAuth2
2. Tap on connect.
Check both orientations | Fields username and password are shown | | | +| 8 | Redirected URL | 1. Set a redirection URL
2. Tap on connect.
Check both orientations | Fields username and password are shown | | +| 9 | SAML URL | Set an SAML URL (not supported by the app)
Check both orientations | Correct error messaege | | | +| 10 | Wrong URL | Set an incorrect URL.
Check both orientations | Correct error messaege | | | +| 11 | Wrong Authorizathion endpoint | 1. In customization file, change auth endpoint for a incorrect one
2. Enter OAuth2 URL and connect.
Check both orientations | Correct error handling | | | +|**Branding**||||||| +| 12 | OAuth2 URL hardcoded | Open the app.
Check both orientations | Correct view | | | +| 13 | OAuth2 URL hardcoded and hidden | Open the app.
Check both orientations | Correct view | | | +| 14 | Help link hidden | Open the app.
Check both orientations | Correct view | | +|**OAuth2 UI flow**||||||| +| 15 | Webview | Enter OAuth2 URL and connect.
Check both orientations | Correct webview | | | +| 16 | Correct credentials | 1. Enter OAuth2 URL and connect.
2. Enter correct credentials.
Check both orientations | 1. Webview is opened
2. Credentials are checked and webview is closed | | | +| 17 | Wrong credentials | 1. Enter OAuth2 URL and connect.
2. Enter wrong credentials.
Check both orientations | 1. Webview is opened
2. Webview can be closed | | | +| 18 | Wrong client id | 1. In customization file, change client id for a incorrect one
2. Enter OAuth2 URL and connect.
Check both orientations | Correct error handling | | | +| 19 | Wrong secret id | 1. In customization file, change secret id for a incorrect one
2. Enter OAuth2 URL and connect.
Check both orientations | Correct error handling | | | +| 20 | Wrong redirection url | 1. In customization file, change redirection url for a incorrect one
2. Enter OAuth2 URL and connect.
3. Input correct credentials
Check both orientations | Correct error handling | | | +| 21 | Wrong token endpoint | 1. In customization file, change token endpoint for a incorrect one
2. Enter OAuth2 URL and connect.
3. Input correct credentials
Check both orientations | Correct error handling | | | +|**OAuth2 internal flow**||||||| +| 22 | Auth request | With mitmproxy, check the OAuth2 GET authorization code request | The URL contains the parameters: response_type=code, redirect_uri=\, client_id=\ | | | +| 23 | Token request | With mitmproxy, check the OAuth2 POST token request | The POST request contains in the body the parameters: grant_type=authorization_code, code=\, redirect_uri=\, client_id=\.
Header Content Type = application/x-www-form-urlencoded.
Header www-authorization = Basic + client id + : + secretid | | | +| 24 | Token refresh | With mitmproxy, check the OAuth2 POST token request | The POST request contains in the body the parameters: grant_type=authorization_code, code=\, redirect_uri=\, client_id=\.
Header Content Type = application/x-www-form-urlencoded.
Header www-authorization = Basic | | | +|**OAuth2 session**||||||| +| 25 | Create folder | With OAuth2 session active, create folder | Success | | | +| 26 | Upload files | With OAuth2 session active, upload files | Success | | | +| 27 | Download files | With OAuth2 session active, upload files | Success | | | +| 28 | Remove files | With OAuth2 session active, remove files | Success | | | +| 29 | Rename files | With OAuth2 session active, rename files | Success | | | +| 30 | Av. offline files | With OAuth2 session active,set files as av.offline | Success | | | +| 31 | Instant uploads | With OAuth2 session active, upload files | Success | | | +| 32 | Share with users | With OAuth2 session active, share with users | Success | | | +| 33 | Share public| With OAuth2 session active, share public | Success | | | +| 34 | Open from | With OAuth2 session active, open from an external app | Success | | | +| 35 | Share with oC | With OAuth2 session active, share content from an external app | Success | | | +|**Session ends/refresh**|||||| +| 36 | Session Expired | 1. Wait until token is refreshed
2. Perform actions (download, upload, delete, move, remove) | New token is used in the requests and the action is performed| | | +| 37 | Session Expired - external | 1. Wait until token is refreshed out of the app
2. From an external app, send content once the token is expired | New token is used in the requests and the action is performed| | | +|**Multiaccount**||||||| +| 38 | Several OAuth2 same server | Attach several OAuth2 accounts of the same server on the same device. Check correct expirations. | All correct | | | +| 39 | Several OAuth2 different server | Attach several OAuth2 accounts of different servers on the same device | All correct | | | +| 40 | Several OAuth2 expiration | 1. Attach several OAuth2 accounts of different servers on the same device
2. Wait until one session expires. | Expired session is refresed. The other sessions keep alive | | | +| 41 | OAuth2 + basic | Attach an OAuth2 and a basic auth accounts to the same device | All correct | | | +| 42 | OAuth2 + SAML | Attach an OAuth2 and a SAML auth accounts to the same device | Not posible | | | +|**External actions**||||||| +| 43 | Refresh Token revoked | 1. After login, remove refresh token in DB
2. Wait until session expires| Session is not refreshed. User redirected to login view | | | +| 44 | Token revoked | After login, remove token | Session ends. User redirected to login view | | | +| 45 | Change credentials | 1. In webUI, change password
2. In app, after login, in settings view, go to edit credentials and enter new credentials | New token is received | | | +| 46 | Edit credentials with other account | In app, after login, in settings view, go to edit credentials and enter other user credentials | Account updated / Error shown | | | +| 47 | User deleted | 1. In webUI, remove user | Session ends. User redirected to login view and can not login anymore | | | +| 48 | Remove client | In webUI, remove client | Not posible to authenticate anymore | | | +| 49 | Remove OAuth2 app | In webUI, disable app | basic auth? | | | +|**Errors**||||||| +| 50 | No internet connection | 1. Disable internet connection in device
2. Try to login in OAuth2 | Correct error | | | +| 51 | No server connection | 1. Switch server off in device
2. Try to login in OAuth2 | Correct error | | | +| 52 | Maintenance mode login | 1. Enable maintenance mode
2. Try to login in OAuth2 | Correct error | | | +| 53 | Firewall mode login | Enable a firewall rule to ban the login
2. Try to login in OAuth2 | Correct error | | | +|**Regression**||||||| +| 54 | Basic Auth server | Open a session in a basic auth server and perform some actions (create folder, update, download, share...) | Success | | | +| 55 | SAML server | Open a session in a SAML server and perform some actions (create folder, update, download, share...) | Success | | | +| 56 | SAML expiration | Open a session in a SAML server and wait until it expires | Redirected to iDP credentials view | | | +| 57 | Redirected | Open a session in a redirected server and perform some actions (create folder, update, download, share...) | Success | | | +| 58 | Redirected with subfolder| Open a session in a redirected server with subfolder and perform some actions (create folder, update, download, share...) | Success | | | +| 59 | VideoStreaming | Stream a video in a OAuth2 server | Video is streamed | | | +|**Upgrade & Migration**||||||| +| 60 | Upgrade app from older version with basic | 1. Install an older version (basic auth)
2. Upgrade to this one without changes in server| Correct upgrade | | | +| 61 | Upgrade auth method server (to OAuth2)| 1. Login in a server without OAuth2
2. Enable OAuth2 in server
3. Login again with OAuth2 | 1. Correct login and account works
2. Correct login and account works | | | +| 62 | Upgrade auth method server (to basic)| 1. Login in a server with OAuth2
2. Disable OAuth2 in server
3. Login again with basic | 1. Correct login
2. Correct login | | | +| 63 | Migrate basic to OAuth2| 1. Login in a basic older server
2. Upgrade by enabling OAuth2 in server | Migration OK. Users access to the account without re-login | | | +| 64 | Migrate OAuth2 to basic| 1. Login in a OAuth2 server
2. Upgrade by disabling OAuth2 in server | Migration OK. Users access to the account without re-login | | | +| 65 | Migrate SAML to OAuth2| 1. Login in a older SAML server
2. Upgrade by migrating to a OAuth2 server | Migration OK. Users access to the account without re-login | | | +| 66 | Migrate with passcode enforced | 1. Login in a older basic server
2. Upgrade by migrating to a OAuth2 server and enforcing passcode in the app.
3. Miimize the app in the middle of the auth process | Migration OK and passcode asked and stored| | | diff --git a/Server/GuestAppTestPlan.md b/Server/GuestAppTestPlan.md new file mode 100644 index 00000000..c5c36137 --- /dev/null +++ b/Server/GuestAppTestPlan.md @@ -0,0 +1,47 @@ +## 'Guest App' Test Plan + +- Run Testplan with encryption enabled + +## Testing functionality + +Test Case | Expected Result | Result | Related Comment +------------- | -------------- | ----- | ------ +**CLI commands** | | | +| | | +Enable Guest app via CLI using ```occ app:enable guests``` | The apps gets enabled | :construction: | +Disable Guest app via CLI using ```occ app:disable guests``` | The apps gets disabled | :construction: | +**Add Guest User in sharetabview** | | | +| | | +Create a guest user via email | | :construction: | +Create a guest user via email sharing from another guest user | | :construction: | +Create a guest user via email sharing from an LDAP user | | :construction: | +Create a guest user via email sharing from an Shibboleth user | | :construction: | +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 | :construction: | +Try to create a guest user via email with an invalid email format | An error message should be shown | :construction: | +Try to create a guest user via email with an already used email | An warning about a username with that email already exists should be shown | :construction: | +Try to create a guest user via email already registered by email | A warning about the token is invalid should be shown | :construction: | +Create a guest user via email using a password that fits password policy | Check that the user recieves the email and can register into oC | :construction: | +Create a guest user via email using a password that doesn't fit password policy | Check that the user recieves the email and cannot register into oC. A warning related password policy should be shown | :construction: | +**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 | :construction: | +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 | :construction: | +Change the guest user's password in users menu | The new password is set for the guest user | :construction: | +**Guest User account**| | | +| | | +Log in the guest user account | Check that the shared file/folder appears with the right permissions | :construction: | +Reshare a folder with folder permissions to another guest user | Check that the shared works fine | :construction: | +In personal page, change users email. Then as admin try to create a new guest user with the old mail | Check that the mail with was used for the register is kept | :construction: | +**Settings page**| | | +| | | +Change Guest Group name | The group name for guest is changed. Check this change in Users Page and the shares are kept | :construction: | +Set Guest Group name as empty | A warning error should be shown and the previous name should be kept | :construction: | +Set Guest Group name as empty | A warning error should be shown and the previous name should be kept | :construction: | +Limit guest access to an app whitelist checked, modify the list and save | Check that only apps listed are available for guests users | :construction: | +**WebUI and browsers**| | | +| | | +Check that guests menu in sharing section works fine using FireFox as browser | | :construction: | +Check that guests menu in sharing section works fine using Chrome as browser | | :construction: | +Check that guests menu in sharing section works fine using IE11 as browser | | :construction: | +Check that guests menu in sharing section works fine using Edge as browser | | :construction: | +Check that guests menu in sharing section works fine using Safari as browser | | :construction: | \ No newline at end of file diff --git a/Server/TestPLan_addressbook.md b/Server/TestPLan_addressbook.md new file mode 100644 index 00000000..b0e391f9 --- /dev/null +++ b/Server/TestPLan_addressbook.md @@ -0,0 +1,20 @@ +### Addressbook test plan + + + +| Test Case | Expected Result | Result | Related Comment | +| ---------------------------------------- | ---------------------------------------- | ------ | --------------- | +| As admin user, create some users. Add them email and avatar. Connect to HOST/remote.php/dav/addressbooks/system/system/system using evolution in linux. | All users appear with their data correct. | | | +| Using SSL: As admin user, create some users. Add them email and avatar. Connect to HOST/remote.php/dav/addressbooks/system/system/system using evolution in linux. | All users appear with their data correct. | | | +| In evolution, with a server connected, try to modify any data of a user. | Server answers 403 forbidden and nothing is modified. | | | +| Having a server with LDAP connected, run ./occ dav:sync-system-addressbook, connect evolution. | All LDAP users appear. | | | +| Having a server with LDAP connected and some users having avatar (add it if necessary). Open that user card in evolution. (run ./occ dav:sync-system-addressbook, connect evolution if needed at this point) | Avatar appears. | | | +| Having a server with AD connected, run ./occ dav:sync-system-addressbook, connect evolution. | All AD users appear. | | | +| Having a server which uses shibboleth autoprovisioning mode , connect evolution. | All shibboleth users appear. | | | +| Having addressbook connected to evolution. Change regular user display name, email and avatar. | Changes appear in evolution. | | | +| Having addressbook connected to evolution. Change LDAP user display name, email and avatar. | Changes appear in evolution. | | | +| Having addressbook connected to evolution. Change AD user display name, email and avatar. | Changes appear in evolution. | | | +| Having previous major version server using contacts app and working, upgrade to latest major version. Run ./occ dav:sync-system-addressbook | Contacts app is disabled and contacts are still available when connecting to HOST/remote.php/dav/addressbooks/system/system/system. | | | + + + diff --git a/Server/TestPlan_template_federation_autocomplete.md b/Server/TestPlan_template_federation_autocomplete.md new file mode 100644 index 00000000..065a6e9f --- /dev/null +++ b/Server/TestPlan_template_federation_autocomplete.md @@ -0,0 +1,20 @@ + + +| Test Case | Expected Result | Result | Related Comment | +| ---------------------------------------- | ---------------------------------------- | ------ | --------------- | +| As admin user, enable federation app. | No problems. | | | +| Having two servers called serverA and serverB. "Add server automatically once a federated share was created successfully" enabled. Share a file from userA in serverA to userB in serverB. Go to the admin page with admin user and check federation section. | serverB is added as trusted in federation. | | | +| Having two servers called serverA and serverB. "Add server automatically once a federated share was created successfully" disabled. Share a file from userA in serverA to userB in serverB. Go to the admin page with admin user and check federation section. | serverB is not added as trusted in federation. | | | +| Having two servers called serverA and serverB. "Add server automatically once a federated share was created successfully" disabled in serverA. Share a file from userA in serverA to userB in serverB. In serverB accept share. Open sharing dialog in serverB for a file. | Users from serverA doesn't appear. | | | +| Having one trusted server, called serverB, go to the sharing dialog and type first characters of a user from serverB. | Users from serverB appear and you can share with them. | | | +| Having one trusted server which has LDAP users, called serverB, go to the sharing dialog and type first characters of a user id from serverB. | LDAP users from serverB appear and you can share with them | | | +| Having one trusted server which has AD users, called serverB, go to the sharing dialog and type first characters of a user id from serverB. | AD users from serverB appear and you can share with them | | | +| Having one trusted server, called serverB. Mount an external storage. On one of the files of the mount, go to the sharing dialog and type first characters of a user from serverB. | Users from serverB appear and you can share with them. | | | +| Using SSL, Having two servers called serverA and serverB. "Add server automatically once a federated share was created successfully" enabled. Share a file from userA in serverA to userB in serverB. Go to the admin page with admin user and check federation section. | serverB is added as trusted in federation. | | | +| Using SSL, Having one trusted server, called serverB, go to the sharing dialog and type first characters of a user from serverB. | Users from serverB appear and you can share with them. | | | +| Check that the federation section in admin page can be used in chrome, firefox, safari and edge. | | | | +| Check that the sharing dropdown with remote users can appear in chrome, firefox, safari and edge. | | | | +| In admin page, add an owncloud server which exists. | The server is added correctly | | | +| In admin page, add an owncloud server which doesn't exist. | A warning message appears | | | +| In admin page, add an owncloud server older than 9.0 | A warning message appears | | | +