Skip to content

Use Oauth2 exceptions in miele - #175256

Merged
erwindouna merged 1 commit into
home-assistant:devfrom
nordicopen:MieleOauthErrors
Jul 1, 2026
Merged

Use Oauth2 exceptions in miele#175256
erwindouna merged 1 commit into
home-assistant:devfrom
nordicopen:MieleOauthErrors

Conversation

@astrandb

@astrandb astrandb commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Proposed change

Use new Oauth2 exceptions in miele setup

Type of change

  • Dependency upgrade
  • Bugfix (non-breaking change which fixes an issue)
  • New integration (thank you!)
  • New feature (which adds functionality to an existing integration)
  • Deprecation (breaking change to happen in the future)
  • Breaking change (fix/feature causing existing functionality to break)
  • Code quality improvements to existing code or addition of tests

Additional information

Checklist

  • I understand the code I am submitting and can explain how it works.
  • The code change is tested and works locally.
  • Local tests pass. Your PR cannot be merged unless tests pass
  • There is no commented out code in this PR.
  • I have followed the development checklist
  • I have followed the perfect PR recommendations
  • The code has been formatted using Ruff (ruff format homeassistant tests)
  • Tests have been added to verify that the new code works.
  • Any generated code has been carefully reviewed for correctness and compliance with project standards.

If user exposed functionality or configuration variables are added/changed:

If the code communicates with devices, web services, or third-party tools:

  • The manifest file has all fields filled out correctly.
    Updated and included derived files by running: python3 -m script.hassfest.
  • New or updated dependencies have been added to requirements_all.txt.
    Updated by running python3 -m script.gen_requirements_all.
  • For the updated dependencies a diff between library versions and ideally a link to the changelog/release notes is added to the PR description.

To help with the load of incoming pull requests:

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refactors the Miele integration's async_setup_entry to use Home Assistant's new OAuth2 token request exceptions instead of manually inspecting ClientResponseError.status to split 4xx/5xx handling. It resolves issue #175248 and aligns Miele with the migration pattern already adopted by integrations like google_assistant_sdk, yoto, and nest.

The new handling relies on the OAuth helper (config_entry_oauth2_flow._token_request) mapping token endpoint responses to typed exceptions: 4xx → OAuth2TokenRequestReauthError (→ ConfigEntryAuthFailed), and 429/5xx (OAuth2TokenRequestTransientError, a subclass of OAuth2TokenRequestError) plus other ClientErrors → ConfigEntryNotReady. The except-clause ordering is correct because OAuth2TokenRequestReauthError is a subclass of OAuth2TokenRequestError and is caught first. The now-unused ClientResponseError import is removed from this file (other Miele modules retain their own imports), and existing tests (401 → SETUP_ERROR, 500 → SETUP_RETRY, connection error → SETUP_RETRY) continue to cover the changed path.

Changes:

  • Replace manual ClientResponseError status-splitting with typed OAuth2 exceptions in setup.
  • Update imports to pull in OAuth2TokenRequestError/OAuth2TokenRequestReauthError and drop the unused ClientResponseError.

@astrandb astrandb mentioned this pull request Jul 1, 2026
21 tasks

@erwindouna erwindouna left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @astrandb!

@erwindouna
erwindouna merged commit fc038d0 into home-assistant:dev Jul 1, 2026
33 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Jul 2, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Miele: refactor to use new OAuth exceptions

3 participants