Skip to content

Pipeline

This page lists all the test cases for this feature. Test cases are followed by an explanatory legend.

πŸ—ƒοΈ Test cases

Coverage rate: 94%

Status ID Title
● Active tc-pipe01 Full import with currency handling
● Active tc-pipe02 CSV data cleaning and validation
● Active tc-pipe03 Synchronization of securities and deletion of obsolete ones
● Active tc-pipe-fail01 Corrupted CSV file handling
● Active tc-pipe-date01 Date logic verification (previous market day)
● Active tc-pipe-csv01 CSV quantities cleaning (<0.1, spaced numbers)
● Active tc-pipe-nocsv01 No CSV fallback when API key exists
● Active tc-pipe-date02 Monday morning catch-up allowed only after a recorded failure
● Active tc-pipe-date03 Monday run is blocked when no previous failure exists
● Active tc-pipe-fail02 Unexpected exceptions are persisted as failure state for next decisions
● Active tc-pipe-quota01 Quota mode classification boundaries (normal, eco, protection, blocked)
● Active tc-pipe-quota02 Blocked mode cancels API enrichment and emits a quota alert
● Active tc-pipe-quota03 Retry targets only missing securities and runs at most once
● Active tc-pipe-quota04 Eco mode disables retry without sending a quota alert
● Active tc-pipe-quota05 Protection mode disables retry and sends a distinct quota alert
● Active tc-pipe-quota06 Quota read fail-open on /v1/account timeout or error
● Active tc-pipe-quota07 Missing quota configuration falls back to defaults and logs the event
● Active tc-pipe-quota08 /v1/account is called before the first /v2/eod request
● Active tc-pipe-quota09 Invalid quota thresholds fall back to defaults and log invalid_thresholds
● Active tc-pipe-quota10 Mode transitions are logged through quota_mode_change between runs
● Active tc-pipe-quota11 When /v1/account is unavailable, the local monthly quota counter is used and updated
● Active tc-pipe-smtp01 STARTTLS mode uses SMTP transport with configured timeout
● Active tc-pipe-smtp02 SSL mode uses SMTP_SSL transport
● Active tc-pipe-smtp03 Invalid SMTP security mode is fail-open (no send attempt)
● Active tc-pipe-smtp04 Missing SMTP configuration is fail-open (no send attempt)
● Active tc-pipe-smtp05 Email content includes follow-up instructions (logs + documentation link)
● Active tc-pipe-ticker01 Ticker insertion succeeds for standard ticker length
● Active tc-pipe-ticker02 Ticker insertion succeeds at schema maximum length (255 chars)
● Active tc-pipe-api01 Marketstack API: Timeout resilience
● Active tc-pipe-api02 Marketstack API: HTTP 500 / Invalid JSON handling
● To Do Import script: fail-fast when required DB env vars are missing (import_data.py)
● To Do Import script: fail-fast on DB connection failure (import_data.py)
● To Do Import script: fail-fast when source CSV is missing (import_data.py)
● To Do Calendar guard: Sunday execution is blocked (run_full_pipeline)
● To Do Monday gate: catch-up denied when conditions are not met (run_full_pipeline)
● To Do Quota blocked mode: stop before enrichment and persist failure state
● To Do SMTP send failure: log smtp_alert_send_failure and continue fail-open
● To Do Marketstack unrecoverable API error: trigger operator API alert path
● To Do Data Integrity: UPSERT / Idempotence check
● To Do Currency: USD to CAD conversion robustness

Functional rate calculation for this page: 30 active / 40 defined = 75%.

β“˜ Coverage status legend

Status Description
● Active The test case is implemented and validated by an automated pytest or Playwright test.
● To Do The test case is defined but does not yet have a corresponding automated test.