Skip to content

Raise typed errors for the two known pair-endpoint failures#41

Merged
martijnversluis merged 2 commits into
mainfrom
raise-typed-easee-pair-errors
Jun 25, 2026
Merged

Raise typed errors for the two known pair-endpoint failures#41
martijnversluis merged 2 commits into
mainfrom
raise-typed-easee-pair-errors

Conversation

@martijnversluis

Copy link
Copy Markdown
Contributor

Voortgekomen uit StekkerWeb PR https://github.com/stekker/stekker/pull/8057 (Easee-pairing fouten specifiek maken voor eindgebruikers). De errorCode → typed-exception translatie hoort in de gem zelf, niet in de StekkerWeb-connection.

Twee nieuwe subclasses van Errors::RequestFailed:

  • Errors::InvalidPinCodeerrorCode: 193 (NotPossibleToGrantAccessWithPinCode), pincode wordt afgewezen door Easee
  • Errors::ChargerNotFounderrorCode: 400 (ChargerNotFound), serienummer onbekend bij Easee (paal niet geclaimd of typo)

Backward compatible: beide erven van Errors::RequestFailed, dus bestaande rescue Easee::Errors::RequestFailed-code blijft werken; nieuwe code kan specifieker rescuen.

Mapping in raise_credentials_or_request_error houdt de bestaande 100/727 InvalidCredentials-check (login-pad) intact en voegt de twee nieuwe codes ernaast toe. Match op errorCode (numeriek, stabiel) ipv errorCodeName (string-naam die hernoemd kan worden).

Tests via WebMock met de echte response-body-vorm.

Na merge: gem-bump in StekkerWeb + cleanup van Connections::Easee#with_translated_errors daar.

@martijnversluis
martijnversluis force-pushed the raise-typed-easee-pair-errors branch from 68babee to 7f9d68a Compare June 25, 2026 13:11
@martijnversluis
martijnversluis merged commit 7c3f7dd into main Jun 25, 2026
1 check passed
@martijnversluis
martijnversluis deleted the raise-typed-easee-pair-errors branch June 25, 2026 13:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant