22 lines
844 B
Python
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
|