Make OIDC m-VO compatible, and add tests to multi-VO suite
On the whole only minor changes were needed to the code, but the tests required more work to get working.
Have added the VO alongside the account to be passed from client level through to API.
Modified the existing OIDC/OAuthManager tests to use the VO when creating InternalAccounts.
Have added explicit testing that OIDC authentication results in a token associated with the account@vo that we want (alongside the other authentication methods added earlier). This in part relies on code from the main OIDC tests for faking the IdP responses. There are three different ways of authenticating via OIDC (auto, polling and fetch-code), so tested all three. Most of the work is shared between methods so I refactored it into a single script rather than having largely the same code copied six times for each method at two VOs.
Make OIDC m-VO compatible, and add tests to multi-VO suite
On the whole only minor changes were needed to the code, but the tests required more work to get working.
Have added the VO alongside the account to be passed from client level through to API.
Modified the existing OIDC/OAuthManager tests to use the VO when creating InternalAccounts.
Have added explicit testing that OIDC authentication results in a token associated with the account@vo that we want (alongside the other authentication methods added earlier). This in part relies on code from the main OIDC tests for faking the IdP responses. There are three different ways of authenticating via OIDC (auto, polling and fetch-code), so tested all three. Most of the work is shared between methods so I refactored it into a single script rather than having largely the same code copied six times for each method at two VOs.