didi-lot1-ai/ai_platform/modules/extractors/tests/test_ela.py

22 lines
615 B
Python

"""ELA extractor tests."""
from __future__ import annotations
from extractors.features import ela
def test_ela_returns_stats(tmp_path, jpeg_bytes):
path = tmp_path / "img.jpg"
path.write_bytes(jpeg_bytes)
res = ela.extract(str(path))
assert res.ok is True
for key in ("mean_error", "max_error", "p99_error", "hot_pixel_fraction"):
assert key in res.results
assert 0.0 <= res.results["hot_pixel_fraction"] <= 1.0
def test_ela_on_bad_input(tmp_path):
path = tmp_path / "x.bin"
path.write_bytes(b"\x00\x01\x02")
res = ela.extract(str(path))
assert res.ok is False