Explorer
/tmp/test_aa014_korr05_qa.py
← Zurück ↓ Download
import json
import sys
from pathlib import Path
sys.path.insert(0, '/opt/struktur/social-media-agent')

from codex_image_qa import parse_qa_response, qa_passes


def test_critical_cable_fail_forces_overall_fail():
    payload = {
        'technical_device_plausible': 'PASS',
        'cables_and_connections': 'FAIL',
        'measurement_method': 'PASS',
        'anatomy': 'PASS',
        'building_geometry': 'PASS',
        'topic_match': 'PASS',
        'overall': 'PASS',
        'failure_reasons': ['Kabel scheint aus der Wand zu entstehen'],
        'confidence': 0.9,
    }
    result = parse_qa_response(json.dumps(payload))
    assert result['overall'] == 'FAIL'
    assert not qa_passes(result)


def test_all_pass_is_accepted():
    payload = {
        'technical_device_plausible': 'PASS',
        'cables_and_connections': 'PASS',
        'measurement_method': 'PASS',
        'anatomy': 'PASS',
        'building_geometry': 'PASS',
        'topic_match': 'PASS',
        'overall': 'PASS',
        'failure_reasons': [],
        'confidence': 0.95,
    }
    result = parse_qa_response(json.dumps(payload))
    assert qa_passes(result)