From 776d634ac6d989b224f8dbfb11d166cb3025a342 Mon Sep 17 00:00:00 2001 From: Carl Lundin <108372512+clundin25@users.noreply.github.com> Date: Wed, 20 Dec 2023 10:34:14 -0800 Subject: [PATCH] fix: Guard delete statements. Add default fallback for _use_non_blocking_refresh. (#1445) --- google/oauth2/credentials.py | 10 ++++++---- system_tests/secrets.tar.enc | Bin 10324 -> 10324 bytes tests/oauth2/test_credentials.py | 2 ++ 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/google/oauth2/credentials.py b/google/oauth2/credentials.py index 4ad52db90..41f4a05bb 100644 --- a/google/oauth2/credentials.py +++ b/google/oauth2/credentials.py @@ -160,9 +160,11 @@ def __getstate__(self): # unpickling certain callables (lambda, functools.partial instances) # because they need to be importable. # Instead, the refresh_handler setter should be used to repopulate this. - del state_dict["_refresh_handler"] - # Remove worker as it contains multiproccessing queue objects. - del state_dict["_refresh_worker"] + if "_refresh_handler" in state_dict: + del state_dict["_refresh_handler"] + + if "_refresh_worker" in state_dict: + del state_dict["_refresh_worker"] return state_dict def __setstate__(self, d): @@ -186,7 +188,7 @@ def __setstate__(self, d): # The refresh_handler setter should be used to repopulate this. self._refresh_handler = None self._refresh_worker = None - self._use_non_blocking_refresh = d.get("_use_non_blocking_refresh") + self._use_non_blocking_refresh = d.get("_use_non_blocking_refresh", False) @property def refresh_token(self): diff --git a/system_tests/secrets.tar.enc b/system_tests/secrets.tar.enc index 493b2222e457e801bb11b38d86d0392be9be2ce0..c5b080e8b702ae098ccb4fc6891308df69603438 100644 GIT binary patch literal 10324 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 diff --git a/tests/oauth2/test_credentials.py b/tests/oauth2/test_credentials.py index 78711299e..7516fe22e 100644 --- a/tests/oauth2/test_credentials.py +++ b/tests/oauth2/test_credentials.py @@ -963,6 +963,8 @@ def test_pickle_with_missing_attribute(self): # this mimics a pickle created with a previous class definition with # fewer attributes del creds.__dict__["_quota_project_id"] + del creds.__dict__["_refresh_handler"] + del creds.__dict__["_refresh_worker"] unpickled = pickle.loads(pickle.dumps(creds))