fix: add close() method to HttpMockSequence for context manager support #2684
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.
Fixes #2359
HttpMockSequence is missing the close() method, causing AttributeError
when used with the context manager pattern recommended in the official
documentation.
Root cause: Commit 98888da (Sep 2020) added close() to HttpMock but
forgot to add it to HttpMockSequence.
This PR adds the close() method to HttpMockSequence following the same
no-op pattern as HttpMock.close(), ensuring compatibility with context
manager usage while maintaining backward compatibility.
Changes:
Testing:
All new tests pass ✅ (5/5 in 0.41s)
Before (fails):
with build('drive', 'v3', http=HttpMockSequence([...])) as service:
pass # AttributeError: 'HttpMockSequence' object has no attribute 'close'
After (works):
with build('drive', 'v3', http=HttpMockSequence([...])) as service:
pass # ✅ Works perfectly