Didactopus/tests/test_compliance.py

22 lines
844 B
Python

from pathlib import Path
from didactopus.course_ingestion_compliance import load_sources, build_pack_compliance_manifest, compliance_qa
def test_build_manifest_and_qa(tmp_path: Path):
p = tmp_path / "sources.yaml"
p.write_text(
"sources:\n"
" - source_id: s1\n"
" title: Example\n"
" url: https://example.org\n"
" license_id: CC BY-NC-SA 4.0\n"
" license_url: https://creativecommons.org/licenses/by-nc-sa/4.0/\n"
" attribution_text: Example attribution\n",
encoding="utf-8",
)
inv = load_sources(p)
manifest = build_pack_compliance_manifest("p1", "Pack 1", inv)
qa = compliance_qa(inv, manifest)
assert manifest.share_alike_required is True
assert manifest.noncommercial_only is True
assert qa["summary"]["source_count"] == 1