peregrine/tests
pyr0ball 347c171e26 fix: prefer HTML body in imap_sync, strip head/style/script, remove 4000-char truncation
- _parse_message now prefers text/html over text/plain so digest emails
  retain href attribute values needed for link extraction
- Strip <head>, <style>, <script> blocks before storing to remove CSS/JS
  garbage while keeping anchor tags intact
- Remove [:4000] truncation — digest emails need full body for URL regex
- Update test: large body should NOT be truncated (assert len == 10_000)
2026-03-20 13:35:30 -07:00
..
e2e fix(e2e): cloud auth via cookie, local port, Playwright WebSocket gotcha 2026-03-17 20:01:42 -07:00
fixtures feat(linkedin): add HTML parser utils with fixture tests 2026-03-13 01:01:05 -07:00
__init__.py chore: seed Peregrine from personal job-seeker (pre-generalization) 2026-02-24 18:25:39 -08:00
test_app_gating.py feat: app.py checks wizard_complete flag to gate main app 2026-02-25 09:43:53 -08:00
test_backup.py feat(cloud): fix backup/restore for cloud mode — SQLCipher encrypt/decrypt 2026-03-09 22:41:44 -07:00
test_benchmark_classifier.py feat: benchmark_classifier — MODEL_REGISTRY, --list-models, --score, --compare modes 2026-02-27 06:19:32 -08:00
test_byok_guard.py test: add missing base_url edge case + clarify 0.0.0.0 marker intent 2026-03-06 14:43:45 -08:00
test_calendar_push.py feat: push interview events to connected calendar integrations (#19) 2026-03-16 21:31:22 -07:00
test_classifier_adapters.py feat: label_tool — 9 labels, wildcard Other, InvalidCharacterError fix; sync with avocet canonical 2026-02-27 14:34:24 -08:00
test_cloud_session.py fix(cloud): extract cf_session cookie by name from X-CF-Session header 2026-03-10 09:22:08 -07:00
test_company_research.py feat: extract hard-coded personal references from all scripts via UserProfile 2026-02-24 18:45:39 -08:00
test_cover_letter.py feat: add Jobgether recruiter framing to cover letter generation 2026-03-15 09:45:51 -07:00
test_cover_letter_refinement.py feat: add Jobgether recruiter framing to cover letter generation 2026-03-15 09:45:51 -07:00
test_craigslist.py chore: seed Peregrine from personal job-seeker (pre-generalization) 2026-02-24 18:25:39 -08:00
test_db.py feat(peregrine): add cloud_session middleware + SQLCipher get_connection() 2026-03-09 19:43:42 -07:00
test_dev_api_digest.py feat: add queue-jobs and delete digest endpoints 2026-03-20 07:44:19 -07:00
test_dev_api_interviews.py feat(signals): strip HTML and normalize whitespace from email bodies 2026-03-19 19:59:59 -07:00
test_dev_tab.py feat: Developer tab in Settings — tier override + wizard reset button 2026-02-25 10:50:14 -08:00
test_discover.py feat: filter Jobgether listings via blocklist 2026-03-15 09:45:50 -07:00
test_e2e_helpers.py fix(tests): update mock from inner_text() to text_content() in e2e helpers 2026-03-17 20:33:55 -07:00
test_enrich_descriptions.py chore: seed Peregrine from personal job-seeker (pre-generalization) 2026-02-24 18:25:39 -08:00
test_feedback_api.py fix: lazy-import playwright in screenshot_page, fix SQLite connection leak in collect_listings 2026-03-03 12:45:39 -08:00
test_home_banners.py feat: dismissible setup banners on Home page (13 contextual prompts) 2026-02-25 09:53:34 -08:00
test_hooks.sh feat: commit-msg hook enforces conventional commit format 2026-03-02 19:14:31 -08:00
test_imap_sync.py fix: prefer HTML body in imap_sync, strip head/style/script, remove 4000-char truncation 2026-03-20 13:35:30 -07:00
test_integrations.py feat: 13 integration implementations + config examples 2026-02-25 08:18:45 -08:00
test_license.py feat: license.py client — verify_local, effective_tier, activate, refresh, report_usage 2026-02-25 22:53:11 -08:00
test_license_tier_integration.py feat: wire license.effective_tier into tiers.py; add dev_override priority 2026-02-25 23:05:55 -08:00
test_linkedin_parser.py feat(linkedin): add staging file parser with re-parse support 2026-03-13 10:18:01 -07:00
test_linkedin_scraper.py fix(linkedin): improve scraper error handling, current-job date range, add missing tests 2026-03-13 06:02:03 -07:00
test_linkedin_utils.py feat(linkedin): add HTML parser utils with fixture tests 2026-03-13 01:01:05 -07:00
test_llm_config_generation.py test: add ollama_research URL assertion to llm config generation test 2026-02-24 19:14:33 -08:00
test_llm_router.py chore: seed Peregrine from personal job-seeker (pre-generalization) 2026-02-24 18:25:39 -08:00
test_match.py chore: seed Peregrine from personal job-seeker (pre-generalization) 2026-02-24 18:25:39 -08:00
test_preflight.py test: add failing tests for dual-gpu preflight additions 2026-02-27 00:11:39 -08:00
test_resume_parser.py refactor: replace LLM-based resume parser with section regex parser 2026-02-26 07:34:25 -08:00
test_scrape_url.py feat: add Jobgether URL detection and scraper to scrape_url.py 2026-03-15 09:45:50 -07:00
test_suggest_helpers.py feat: add suggest_resume_keywords for skills/domains/keywords gap analysis 2026-03-05 15:00:53 -08:00
test_sync.py chore: seed Peregrine from personal job-seeker (pre-generalization) 2026-02-24 18:25:39 -08:00
test_task_runner.py feat(task_runner): route LLM tasks through scheduler in submit_task() 2026-03-15 04:52:42 -07:00
test_task_scheduler.py feat(task_runner): route LLM tasks through scheduler in submit_task() 2026-03-15 04:52:42 -07:00
test_telemetry.py feat(cloud): add compose.cloud.yml and telemetry consent middleware 2026-03-09 22:10:18 -07:00
test_user_profile.py feat: wizard fields in UserProfile + params column in background_tasks 2026-02-25 07:27:14 -08:00
test_wizard_flow.py feat: wizard orchestrator — 7 steps, LLM generation polling, crash recovery 2026-02-25 09:10:51 -08:00
test_wizard_steps.py feat: step_integrations module with validate() + tier-filtered available list 2026-02-25 08:35:16 -08:00
test_wizard_tiers.py feat: BYOK unlocks LLM features regardless of tier 2026-03-02 11:34:36 -08:00