🛜 ci: OpenID Strategy Test Async Handling #5613
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This pull request updates the OpenID strategy implementation and its tests. The changes ensure that the asynchronous verify callback in the OpenID strategy is properly handled by promisifying the callback, which resolves timing issues in tests. Additionally, the tests have been updated to mock external dependencies correctly, including user methods, image downloads, and JWT decoding. These updates improve the robustness of the authentication flow and facilitate easier maintenance and debugging.
Related Issue:
Fixes issues with asynchronous handling in the OpenID strategy tests that were causing flaky test results and improper user data handling.
Change Type
Testing
Test Process:
node-fetch
,openid-client
,jsonwebtoken/decode
, and user methods) have been implemented to isolate and simulate external behavior.Test Configuration:
OPENID_ISSUER
,OPENID_CLIENT_ID
,OPENID_CLIENT_SECRET
, etc.) are set up within the test suite.npm test
oryarn test
).To reproduce the tests, clone the repository, install dependencies, set the necessary environment variables as shown in the test file, and run the test command.
Checklist