Skip to content

Harden OData service-root, metadata, and query error handling #33

Description

@wilsonfreitas

Context

OData service discovery, metadata parsing, and query execution currently parse responses without checking HTTP status or converting parser failures into clear project exceptions.

Scope

Add explicit error handling around OData service root fetches, $metadata fetches, JSON parsing, XML parsing, and query responses.

Branching

Create the implementation branch from project-health-hardening and merge the fix back into project-health-hardening before any merge to main.

Acceptance Criteria

  • OData 404, 429, 5xx, malformed JSON, and malformed XML raise clear ODataError or a documented subclass.
  • Error messages include enough context to identify service root, metadata, or query failure.
  • Unit tests cover sync and async query error paths where applicable.
  • uv run pytest -m "not integration", Ruff, and mypy pass.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: httpShared HTTP client, retries, errors, and lifecyclearea: odataOData service discovery, metadata, query building, and endpointspriority: highHigh urgency or high impacttype: bugBug fix work

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions