Files
winnow/tests/test_jobs.py
T
flanandClaude Sonnet 4.6 eea7baa19f refactor: rename project to winnow
- Rename Python package directory if_curator/ → winnow/
- Update all imports, entry points, and CLI references
- Update pyproject.toml: name, scripts, package list, repository URL
- Update Dockerfile, compose.yml, entrypoint.sh, scheduler.py
- Update GitHub Actions workflow image names
- Update README

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-12 01:07:46 +00:00

69 lines
2.1 KiB
Python

"""Tests for job strategy resolution and env var handling."""
import pytest
@pytest.fixture(autouse=True)
def clean_env(monkeypatch):
"""Ensure LIMIT and STRATEGY are unset before each test."""
monkeypatch.delenv("LIMIT", raising=False)
monkeypatch.delenv("STRATEGY", raising=False)
def test_resolve_strategy_default_auto():
from winnow.jobs import _resolve_strategy
limit, mode = _resolve_strategy("auto", has_embedding=True)
assert limit == "auto"
assert mode == "smart"
def test_resolve_strategy_standard():
from winnow.jobs import _resolve_strategy
limit, mode = _resolve_strategy("standard", has_embedding=True)
assert limit == 30
assert mode == "smart"
def test_resolve_strategy_broad():
from winnow.jobs import _resolve_strategy
limit, mode = _resolve_strategy("broad", has_embedding=True)
assert limit == 100
assert mode == "smart"
def test_resolve_strategy_custom_limit_env(monkeypatch):
monkeypatch.setenv("LIMIT", "50")
from winnow.jobs import _resolve_strategy
limit, mode = _resolve_strategy("auto", has_embedding=True)
assert limit == 50
assert mode == "smart"
def test_resolve_strategy_limit_overrides_strategy(monkeypatch):
monkeypatch.setenv("LIMIT", "25")
from winnow.jobs import _resolve_strategy
limit, mode = _resolve_strategy("broad", has_embedding=True)
assert limit == 25
def test_resolve_strategy_no_embedding_falls_back_to_time():
from winnow.jobs import _resolve_strategy
limit, mode = _resolve_strategy("auto", has_embedding=False)
assert mode == "time"
assert isinstance(limit, int)
def test_resolve_strategy_no_embedding_respects_limit(monkeypatch):
monkeypatch.setenv("LIMIT", "60")
from winnow.jobs import _resolve_strategy
limit, mode = _resolve_strategy("auto", has_embedding=False)
assert limit == 60
assert mode == "time"
def test_resolve_strategy_unknown_falls_back_to_auto():
from winnow.jobs import _resolve_strategy
limit, mode = _resolve_strategy("unknown-strategy", has_embedding=True)
assert limit == "auto"
assert mode == "smart"