Siddhesh Patil
Initial commit - Self-Correcting Data Validation Agent
b67668b
raw
history blame contribute delete
853 Bytes
import json
from src.agent.offline_runner import run_offline_agent
def test_offline_runner_fails_then_passes():
bad = json.dumps({
"employees": [{
"user_id": "101", # wrong type
"name": "", # invalid (min length)
"department": "ai" # invalid enum
}]
})
good = json.dumps({
"employees": [{
"user_id": 101,
"name": "Michael Chen",
"age": 29,
"email": None,
"salary": 120000,
"join_date": None,
"department": "Artificial Intelligence",
"performance_score": None,
"location": None,
"job_title": None
}]
})
out = run_offline_agent("raw", [bad, good], max_attempts=2)
assert out["result"] is not None
assert len(out["log"]) >= 3