"""Tests for keyword fallback classifier.""" import pytest from classifiers.keyword_fallback import keyword_classify def test_vvt_detection(): text = "Verzeichnis von Verarbeitungstaetigkeiten gemaess Art. 30 DSGVO" result = keyword_classify(text, "vvt.pdf") assert result["classification"] == "VVT" assert result["confidence"] <= 0.3 def test_tom_detection(): text = "Technisch-organisatorische Massnahmen: Zutrittskontrolle, Zugangskontrolle, Verschluesselungskonzept" result = keyword_classify(text, "toms.docx") assert result["classification"] == "TOM" def test_dse_detection(): text = "Datenschutzerklaerung: Informationspflichten nach Art. 13 DSGVO" result = keyword_classify(text, "datenschutz.pdf") assert result["classification"] == "DSE" def test_unknown_document(): text = "Lorem ipsum dolor sit amet" result = keyword_classify(text, "random.pdf") assert result["classification"] == "Sonstiges" assert result["confidence"] == 0.1 def test_confidence_capped(): text = "Verarbeitungsverzeichnis Art. 30 Kategorie betroffener Personen Datenkategorien Zweck der Verarbeitung" result = keyword_classify(text, "vvt_complete.pdf") assert result["confidence"] <= 0.3