Didactopus/tests/test_artifact_registry.py

32 lines
1.1 KiB
Python

from didactopus.artifact_registry import (
_version_in_range,
check_pack_dependencies,
discover_domain_packs,
validate_pack,
)
def test_version_range() -> None:
assert _version_in_range("1.2.0", "1.0.0", "1.9.9") is True
assert _version_in_range("2.0.0", "1.0.0", "1.9.9") is False
def test_foundations_pack_is_valid() -> None:
result = validate_pack("domain-packs/foundations-statistics")
assert result.is_valid is True
assert result.manifest is not None
assert result.manifest.name == "foundations-statistics"
def test_incompatible_core_pack_is_invalid() -> None:
result = validate_pack("domain-packs/incompatible-core")
assert result.is_valid is False
assert any("incompatible with Didactopus core version" in err for err in result.errors)
def test_dependency_resolution() -> None:
results = discover_domain_packs(["domain-packs"])
errors = check_pack_dependencies(results)
assert any("depends on missing pack 'nonexistent-pack'" in err for err in errors)
assert not any("bayes-extension" in err for err in errors and "foundations-statistics" in err)