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.
Changes needed to get 3.12 working:
Replace deprecated ssl.wrap_socket in OAuth client
ssl.wrap_socket()
has been discouraged since Python 3.2, deprecated since 3.7, and finally removed in 3.12. In this PR, thessl.wrap_socket
function has been removed and replaced with the recommended approach usingssl.SSLContext
. Previously,ssl.wrap_socket
internally set up the SSL context, including loading certificates. Now, we're doing that explicitly withssl.SSLContext
. This is a substantive, but low-risk, change.On the testing side, the previous workaround for suppressing the
CERTIFICATE_VERIFY_FAILED
error has been adapted to utilize the context creation method.Remove invalid assertions
called_once
andcalled_once_with
are not valid assertions on mock objects, meaning an instance ofmock.Mock
is returned. Because instances ofmock.Mock
evaluate to true, the assertion is equivalent toassert True
. Those invalid assertions throw anAttributeError
in Python 3.12, so this PR replaces them with valid assertions and updates some of the expected calls.