Summary: | OAuth2/OIDC identity providers code is not covered by unit tests | ||
---|---|---|---|
Product: | Koha | Reporter: | Nick Clemens (kidclamp) <nick> |
Component: | Authentication | Assignee: | Tomás Cohen Arazi (tcohen) <tomascohen> |
Status: | Needs Signoff --- | QA Contact: | Testopia <testopia> |
Severity: | normal | ||
Priority: | P5 - low | CC: | dpavlin, michaela.sieber, tomascohen |
Version: | Main | ||
Hardware: | All | ||
OS: | All | ||
See Also: | https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=33768 | ||
GIT URL: | Change sponsored?: | --- | |
Patch complexity: | --- | Documentation contact: | |
Documentation submission: | Text to go in the release notes: | ||
Version(s) released in: | Circulation function: | ||
Bug Depends on: | 33675 | ||
Bug Blocks: | |||
Attachments: |
Bug 33782: Add unit tests for Koha::Auth::Client::OAuth
Bug 33782: (follow-up) Remove code duplication in OAuth client |
Description
Nick Clemens (kidclamp)
2023-05-19 10:30:30 UTC
Created attachment 186630 [details] [review] Bug 33782: Add unit tests for Koha::Auth::Client::OAuth This patch adds comprehensive unit tests for the OAuth authentication client, specifically covering the _get_data_and_patron method which handles JWT token processing and UserInfo endpoint integration. Test plan: 1. Apply patch 2. Run: $ ktd --shell k$ prove t/db_dependent/Koha/Auth/Client/OAuth.t => SUCCESS: Tests pass! 3. Tests cover: - JWT id_token processing and patron matching - UserInfo endpoint calls and data merging - Non-existent user scenarios - Combined JWT + UserInfo data sources 4. Sign off :-D status: Needs Signoff Created attachment 186631 [details] [review] Bug 33782: (follow-up) Remove code duplication in OAuth client This patch eliminates duplicated patron search logic in the _get_data_and_patron method by extracting it into a dedicated helper method _find_patron_by_matchpoint. Changes: - Extract duplicated patron search logic (8 lines removed) - Add _find_patron_by_matchpoint helper method - Improve code maintainability and readability - No functional changes - behavior preserved Test plan: 1. Apply patch 2. Run: $ ktd --shell k$ prove t/db_dependent/Koha/Auth/Client/OAuth.t => SUCCESS: Tests pass! OAuth client tests work correctly k$ prove t/db_dependent/api/v1/oauth.t => SUCCESS: Tests pass! OAuth API integration works 3. Confirm OAuth authentication still works in browser 4. Sign off :-D |