Skip to content

Integration harness

Integration harness

The repository keeps end-to-end and multi-step checks under tests/integration and drives them through tests/run_integration_tests.py.

What is in the harness

  • tests/integration/base_test.py — shared setup
  • route-level integration files for auth, document processing, chatbot, file management, health, and viewsets
  • fixtures and helpers under tests/integration/fixtures and tests/integration/utils
  • cross-platform run scripts in tests/run_integration_tests.sh, .py, and .bat

When to use integration tests

Use integration tests when a change crosses:

  • routing plus permissions
  • request plus background worker behavior
  • storage plus response shaping
  • auth plus tenant context
  • document upload plus polling or status endpoints

Minimal validation rule

If the change only touches a helper or serializer, prefer a unit test. If the change affects a public endpoint or any request/response contract, run the narrow integration file for that route family.

Scope boundary

This page describes the harness, not the behavior of each subsystem. For the behavior itself, read the relevant page under Documents, Auth, or the other subsystem pages.