phonegpu-space / tests /test_capabilities.py
josephrw's picture
Upload folder using huggingface_hub
d958e80 verified
Raw
History Blame Contribute Delete
1.34 kB
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