o2o-negosium-original/lps/tests
민헌 eb1ff8fee1 test(lps): P5 브라우저 경로 스모크 — search 오케스트레이션 + 라이브 드리프트 감지
가장 취약·복잡한 경로(회전·재시도·차단감지)의 자동 테스트 공백을 메운다.

- mock 하니스(_MockPage/_MockCtx/_MockProxy)로 search() 를 결정론 테스트(브라우저 없이):
  정상 반환 / 차단→IP회전→복구 / 프록시전송오류→회전→복구 / 비프록시오류→실패(무회전) /
  차단 소진→blocked 실패. 5종.
- 라이브 스모크(각 어댑터 실제 사이트 검색→파싱): 셀렉터·안티봇 드리프트 감지. IP 의존·느려서
  기본 skip, LPS_LIVE=1 로 명시 실행(수동/야간). 네이버 스모크 통과 확인.

전체 96 passed, 5 skipped.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 23:25:42 +09:00
..
fixtures feat(lps): G마켓·옥션·11번가 크롤 어댑터 + 브라우저 어댑터 베이스 2026-07-09 14:41:05 +09:00
test_bot_detection.py feat(lps): 봇 감지 시 IP 회전+재시도 + 감지 이력 기록 2026-07-09 11:04:07 +09:00
test_browser_base.py test(lps): P5 브라우저 경로 스모크 — search 오케스트레이션 + 라이브 드리프트 감지 2026-07-09 23:25:42 +09:00
test_coupang_parser.py fix(lps): 쿠팡 차단 감지 다종화 — Edge Deny·권한제한·짧은HTML 폴백 2026-07-09 13:59:43 +09:00
test_health.py feat(lps): 인터넷 최저가 검색 솔루션 프레임워크 골격 추가 2026-07-08 15:18:27 +09:00
test_job_queue.py feat(lps): 작업 큐 엔진 — PostgreSQL 원자적 claim + lease + dead-letter 2026-07-08 16:37:32 +09:00
test_lps_api.py feat(lps): P4 관측·알림·워커 헬스 — readyz/ops + 하트비트/HEALTHCHECK + 임계 알림 2026-07-09 23:21:43 +09:00
test_naver_transform.py feat(lps): 네이버 어댑터 + 다중 소스 병합 검색 2026-07-09 08:38:15 +09:00
test_negative_cache.py feat(lps): 재시도/못찾음 완결 로직 — 재정제 루프 + not_found + 네거티브 캐시 2026-07-09 09:12:47 +09:00
test_openmarket_parser.py perf(lps): Step2/3 — Turnstile 웜업·동적 차단 + 유휴 브라우저 정리 2026-07-09 20:20:58 +09:00
test_pipeline.py feat(lps): 네이버 몰별 최저가 분해(by_mall) — 오픈마켓 가시화 2026-07-09 13:59:15 +09:00
test_price_history.py feat(lps): 최저가 이력(price_history) — 트리거 기반 시계열 그래프 2026-07-09 11:13:28 +09:00
test_proxy.py feat(lps): 봇 감지 시 IP 회전+재시도 + 감지 이력 기록 2026-07-09 11:04:07 +09:00
test_search_handler.py perf(lps): Step1 — 폴백 데드라인 + fail-fast로 검색 지연 상한 2026-07-09 17:01:09 +09:00
test_worker.py feat(lps): 워커 루프 + LISTEN/NOTIFY — 큐 소비 파이프라인 가동 2026-07-08 16:58:58 +09:00