Skip to content

Mock exhausted Model Target training allowance #3462

Description

@adamtheturtle

Problem

The Model Target Web API mock does not support the exhausted-training-allowance state returned by real Vuforia as TRAINING_ALLOWANCE_EXCEEDED. This means client error handling for an exhausted account cannot be tested against the mock, and the state is currently encountered only when the shared real Vuforia account has already consumed its allowance.

This is distinct from the existing mocked states for VWS RequestQuotaReached, VWS TargetQuotaReached, project suspension, and VuMark QuotaExceeded.

Proposed behavior

Add a configurable Model Target account state which makes standard and advanced dataset creation return a Vuforia-shaped TRAINING_ALLOWANCE_EXCEEDED error. Keep the default behavior unchanged.

Before fixing the response fields in the implementation, capture or confirm the exact real response contract, including HTTP status, body, headers, and whether standard and advanced creation differ.

Acceptance criteria

  • The exhausted state can be enabled explicitly for both in-memory and Flask-backed mocks.
  • Standard and advanced Model Target dataset creation return the confirmed Vuforia response shape.
  • Dataset status, download, and deletion behavior remain unaffected unless real Vuforia demonstrates otherwise.
  • Tests cover both mock backends and both dataset types.
  • Public API and differences documentation explain the new configuration and identify any behavior not verified against real Vuforia.
  • Real Vuforia tests still fail when the live allowance is exhausted; they are not skipped.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions