Spaces:
Paused
Paused
File size: 1,340 Bytes
d958e80 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | 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
|