Test Skip Conditions

The test suite contains several checks that are skipped unless certain optional requirements are satisfied. This document summarizes each condition so that local runs match the behaviour seen in CI.

End-to-End Tests

The files under tests/live exercise the SDK against a real iMednet environment. All of these tests are skipped unless IMEDNET_RUN_E2E=1 and valid credentials are supplied (see Configuration).

Additional variables may be required (see Configuration for a full list):

  • IMEDNET_BATCH_ID — used for job polling tests. When unset, the suite creates a record to generate a batch ID automatically.

  • IMEDNET_FORM_KEY — optional override for record creation. If not supplied, the first form returned by the API is used.

  • IMEDNET_ALLOW_MUTATION=1 — enables workflow tests that submit data.

Several integration tests rely on optional packages:

  • openpyxl for Excel exports.

  • pyarrow for Parquet exports.

  • sqlalchemy for SQL exports.

  • airflow for Airflow operators, hooks, and DAG execution tests.

If these packages are missing, the respective tests will be skipped.

Unit Test Exceptions

tests/unit/test_models.py skips certain parameter combinations when a model contains no integer field or uses a pydantic root model. These are normal and do not indicate missing dependencies.

Running the full suite without any optional variables or packages typically reports around 90 skipped tests, matching the CI configuration.