Spaces:
Paused
Paused
| import pytest | |
| from app.capabilities import ( | |
| normalize_capability, validate_capability, register_capabilities, | |
| get_capabilities, find_workers_with_capability, capability_to_endpoint_path, | |
| CAPABILITY_NAMES, | |
| ) | |
| from app.models import JobType, WorkerRuntimeType | |
| def test_valid_capability_names(): | |
| names = list(CAPABILITY_NAMES.values()) | |
| assert "iphone.text.embedding.private" in names | |
| assert "iphone.image.classify.local" in names | |
| assert "iphone.privacy.redact.local" in names | |
| def test_invalid_capability_rejected(): | |
| from app.capabilities import validate_capability | |
| cap = normalize_capability({"capability_name": "invalid.name", "runtime_type": WorkerRuntimeType.SAFARI_WASM}) | |
| assert validate_capability(cap) is False | |
| def test_capability_maps_to_endpoint(): | |
| path = capability_to_endpoint_path("sess_abc", "iphone.text.embedding.private") | |
| assert path == "/api/session/sess_abc/cap/iphone.text.embedding.private" | |
| def test_find_worker_for_capability(): | |
| session_id = "sess_test" | |
| worker_id = "wk_test" | |
| caps = [{"capability_name": "iphone.text.embedding.private", "runtime_type": "safari_wasm", "model_id": "emb"}] | |
| register_capabilities(session_id, worker_id, caps) | |
| workers = find_workers_with_capability(session_id, JobType.TEXT_EMBEDDING) | |
| assert worker_id in workers | |