scholarr/tests/integration
Justin Visser 9a7fa5004e refactor: extract pagination engine and publication upsert from ingestion service
Split app/services/ingestion/application.py (2,955 lines) into three
focused modules:

- page_fetch.py (219 lines): PageFetcher class for single-page fetch,
  parse-or-layout-error handling, and retry with backoff
- pagination.py (486 lines): PaginationEngine class for multi-page
  orchestration, loop state management, and short-circuit detection
- publication_upsert.py (239 lines): module-level functions for
  resolve_publication, upsert_profile_publications, and all
  find/create/update helpers

Also fixes two external import paths in portability/ that incorrectly
sourced normalize_title and build_publication_url from application.py
instead of fingerprints.py.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 13:47:23 +01:00
..
__init__.py First product 2026-02-17 14:51:25 +01:00
helpers.py ci: add ruff linting and mypy type checking 2026-02-26 22:11:41 +01:00
test_api_v1.py Initial release prep 2026-02-27 10:46:05 +01:00
test_data_repair_jobs.py Initial release prep 2026-02-27 10:46:05 +01:00
test_db_integrity.py Initial release prep 2026-02-27 10:46:05 +01:00
test_deferred_enrichment.py Initial release prep 2026-02-27 10:46:05 +01:00
test_fixture_probe_runs.py Initial release prep 2026-02-27 10:46:05 +01:00
test_migrations.py ci: add ruff linting and mypy type checking 2026-02-26 22:11:41 +01:00
test_multi_user_schema.py Added run state front end support 2026-02-19 20:07:08 +01:00
test_run_lifecycle_consistency.py refactor: extract pagination engine and publication upsert from ingestion service 2026-02-27 13:47:23 +01:00