SurfSense/surfsense_backend/tests/unit
CREDO23 b9937cf4b1 refactor(chat): cut live chat streaming over to flows orchestrators (cutover)
Flip the live callers (new_chat_routes + gateway/agent_invoke) from the
legacy monolithic app.tasks.chat.stream_new_chat to the side-by-side
app.tasks.chat.streaming.flows orchestrators.

Adds a byte-for-byte differential parity test driving BOTH implementations
on identical, fully-deterministic glue inputs (frozen time/uuid, stubbed
LLM/persistence/agent seams). All glue paths are byte-identical:
  * new: auto-pin failure, LLM-load failure, persist-user fail,
    persist-assistant fail (full initial-frame ordering + handshake),
    pre-stream exception (top-level except path)
  * resume: persist-assistant fail

The differential test also surfaced one INTENTIONAL divergence: on a resume
turn whose auto-pin / LLM-load fails, the monolith crashes with
UnboundLocalError (_resume_premium_request_id read in finally before its
post-early-return definition); the flows version emits a clean terminal
error. The flows path is therefore byte-identical or strictly more correct.

The agent-content stream itself is shared, unforkable code
(stream_output -> EventRelay) so it cannot diverge.

Monolith + old parity test deletion follows in a separate commit.
2026-06-04 14:24:18 +02:00
..
adapters test: bootstrap pytest environment for backend 2026-02-24 18:19:56 +02:00
agents refactor(agents): delete single-agent stack + new_chat shim package (bucket B3/B4) 2026-06-04 13:40:44 +02:00
automations refactor(agents): move llm_config + prompt_caching to app/agents/shared (slice 4b) 2026-06-04 12:41:52 +02:00
connector_indexers refactor(jira): remove dead legacy indexing and write tools (mcp-only now) 2026-06-02 16:38:00 +02:00
connectors chore: ran linting 2026-04-07 05:55:39 +05:30
db feat: improved agent streaming 2026-04-29 07:20:31 -07:00
e2e_fakes test(backend): enhance Drive file filtering and add unit tests for _drive_list_files 2026-05-06 17:58:58 +05:30
etl_pipeline chore: linting 2026-05-15 17:33:44 -07:00
event_bus refactor: anonymous/free chat experience 2026-05-31 15:58:21 -07:00
gateway fix: repair pre-existing agent_task, gateway, and skills tests 2026-06-04 10:25:06 +02:00
google_unification chore: ran linting 2026-05-09 05:28:09 +05:30
indexing_pipeline Merge remote-tracking branch 'upstream/dev' into fix/backend-tests 2026-05-16 19:40:01 +05:30
middleware refactor(agents): move filesystem_backends to app/agents/shared (slice 5d) 2026-06-04 13:03:15 +02:00
notifications test: add notifications unit tests and conventions doc 2026-06-03 21:53:06 +02:00
observability feat(env): add SURFSENSE_ENV variable for deployment environment and update observability resource attributes 2026-05-23 02:13:24 +05:30
routes refactor(agents): move feature flags to app/agents/shared/feature_flags (slice 2b) 2026-06-04 12:23:12 +02:00
services refactor(agents): move tools package to app/agents/shared (slice 6) 2026-06-04 13:11:56 +02:00
tasks refactor(chat): cut live chat streaming over to flows orchestrators (cutover) 2026-06-04 14:24:18 +02:00
utils test(backend): add OAuth state security unit tests 2026-05-06 17:18:31 +05:30
__init__.py test: bootstrap pytest environment for backend 2026-02-24 18:19:56 +02:00
test_error_contract.py chore: linting 2026-04-22 01:05:31 -07:00
test_obsidian_plugin_indexer.py chore: linting 2026-04-27 14:04:50 -07:00
test_stream_new_chat_contract.py refactor(agents): delete single-agent stack + new_chat shim package (bucket B3/B4) 2026-06-04 13:40:44 +02:00