(self)
| 483 | return self._expires_at is not None and self._expires_at < datetime.now(timezone.utc) |
| 484 | |
| 485 | def _refresh(self) -> None: |
| 486 | if self._refresh_token is None: |
| 487 | raise RuntimeError("Cannot refresh expired token because no refresh token has been provided") |
| 488 | if self._refresh_expires_at is not None and self._refresh_expires_at < datetime.now(timezone.utc): |
| 489 | raise RuntimeError("Cannot refresh expired token because refresh token also expired") |
| 490 | |
| 491 | # refresh token |
| 492 | token = self.__app.refresh_access_token(self._refresh_token) |
| 493 | |
| 494 | # update this auth |
| 495 | self._token = token.token |
| 496 | self._type = token.type |
| 497 | self._scope = token.scope |
| 498 | self._expires_at = token.expires_at |
| 499 | self._refresh_token = token.refresh_token |
| 500 | self._refresh_expires_at = token.refresh_expires_at |
| 501 | |
| 502 | @property |
| 503 | def expires_at(self) -> datetime | None: |
no test coverage detected