owncloud / oauth2

🔐 Application for using OAuth 2.0 in ownCloud
GNU Affero General Public License v3.0
32 stars 24 forks source link

[QA] v0.5.0-rc1 Testplan #301

Closed jnweiger closed 1 year ago

jnweiger commented 3 years ago

Setup

Setup details (click to expand) References: * https://github.com/owncloud/oauth2/wiki/OAuth-code-Flow-Sequence-Diagram

OAuth2 app Test Plan

This aims to be a client-agnostic testplan for the OAuth2 application, centered in the actions available in the webUI and/or occ commands and their impact on ownCloud's core behavior. To test the application from a client standpoint see:

Testing functionality

Test Case Expected Result Result Related Comment
CLI commands
Enable OAuth2 app via CLI using occ app:enable oauth2 - The apps gets enabled
- Replies from the WebDAV endpoint includes a new WWW-Authenticate: Bearer... header
:heavy_check_mark:
Disable OAuth2 app via CLI using occ app:disable oauth2 - The apps gets disabled
- Previously mentioned header goes away in further requests
:heavy_check_mark:
Registered Clients
Default clients The default Registered clients are included among the "Settings > Admin > User Authentication" OAuth 2.0: Registered Clients :heavy_check_mark: See https://github.com/owncloud/oauth2/pull/38 for the default values
Register new Client 64-character-length client_id and client_secret are generated together with a (required) Client Name and a (required) Redirection URL :heavy_check_mark:
Remove a Client - Confirmation dialog is prompted before removal
- All client sessions opened from those clients get removed
:heavy_check_mark:
Unregistered Clients
Authentication flow from an unregistered client Unsuccessful Authorization Request :heavy_check_mark: Browser displays the "Request not valid" screen.
Authorized Applications
Login with a Registered Client The Client Name is displayed amongst the "Personal > Security" OAuth 2.0 Authorized Applications :heavy_check_mark:
Session Revocation (i.e. delete Authorized Application) All the sessions opened in the clients are revoked and must be re-authorized :heavy_check_mark: see below https://github.com/owncloud/oauth2/issues/301#issuecomment-915343637
User Account Handling
Password change Open sessions are revoked and new credentials must be used in further login attempts :heavy_check_mark:
Authorization Flow
Successful Authorization Request without any session open in the browser Login form with an additional informative note about the application requesting access to ownCloud is displayed :heavy_check_mark:
Successful Authorization Request with a valid session in the browser The "Authorize" screen is displayed :heavy_check_mark:
Successful Authorization Request in a browser with a different user logged in The "Switch User" screen is displayed, allowing to modify the current session :heavy_check_mark: See use of the additional user parameter in: https://github.com/owncloud/oauth2/pull/67
Failed attempt in the authorization login form The query parameters for the Authorization Request are preserved in next attempts :heavy_check_mark: See original issue in: https://github.com/owncloud/core/issues/28129
See details below:https://github.com/owncloud/oauth2/issues/301#issuecomment-915357324
Relevant Smoke Tests
Unauthenticated Actions: Public File Drop Files get uploaded normally :heavy_check_mark: See https://github.com/owncloud/oauth2/pull/100
See details below: https://github.com/owncloud/oauth2/issues/301#issuecomment-915363173

jnweiger commented 3 years ago

Testing Session Revocation

jnweiger commented 3 years ago

Testing query params at the authorization form

jnweiger commented 3 years ago

Testing file drop

jnweiger commented 3 years ago

Regression test passed!

Changelog testing

jnweiger commented 3 years ago

All QA passed. :ship: it!

jnweiger commented 1 year ago

old release was done