Fix evohome failing to start with 'NoneType' object has no attribute 'get' (#129222)

This commit is contained in:
David Bonnes 2024-10-26 14:24:41 +01:00 committed by GitHub
parent 9b3ed3ed72
commit 2c8fc67ab1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 11 additions and 14 deletions

View File

@ -176,7 +176,7 @@ class EvoSession:
):
app_storage[ACCESS_TOKEN_EXPIRES] = dt_aware_to_naive(expires)
user_data: dict[str, str] = app_storage.pop(USER_DATA, {})
user_data: dict[str, str] = app_storage.pop(USER_DATA, {}) or {}
self.session_id = user_data.get(SZ_SESSION_ID)
self._tokens = app_storage

View File

@ -55,20 +55,17 @@ ACCESS_TOKEN_EXP_DTM, ACCESS_TOKEN_EXP_STR = dt_pair(dt_util.now() + timedelta(h
USERNAME_DIFF: Final = f"not_{USERNAME}"
USERNAME_SAME: Final = USERNAME
_TEST_STORAGE_BASE: Final[_TokenStoreT] = {
SZ_USERNAME: USERNAME_SAME,
SZ_REFRESH_TOKEN: REFRESH_TOKEN,
SZ_ACCESS_TOKEN: ACCESS_TOKEN,
SZ_ACCESS_TOKEN_EXPIRES: ACCESS_TOKEN_EXP_STR,
}
TEST_STORAGE_DATA: Final[dict[str, _TokenStoreT]] = {
"sans_session_id": {
SZ_USERNAME: USERNAME_SAME,
SZ_REFRESH_TOKEN: REFRESH_TOKEN,
SZ_ACCESS_TOKEN: ACCESS_TOKEN,
SZ_ACCESS_TOKEN_EXPIRES: ACCESS_TOKEN_EXP_STR,
},
"with_session_id": {
SZ_USERNAME: USERNAME_SAME,
SZ_REFRESH_TOKEN: REFRESH_TOKEN,
SZ_ACCESS_TOKEN: ACCESS_TOKEN,
SZ_ACCESS_TOKEN_EXPIRES: ACCESS_TOKEN_EXP_STR,
SZ_USER_DATA: {"sessionId": SESSION_ID},
},
"sans_session_id": _TEST_STORAGE_BASE,
"null_session_id": _TEST_STORAGE_BASE | {SZ_USER_DATA: None}, # type: ignore[dict-item]
"with_session_id": _TEST_STORAGE_BASE | {SZ_USER_DATA: {"sessionId": SESSION_ID}},
}
TEST_STORAGE_NULL: Final[dict[str, _EmptyStoreT | None]] = {