Spaces:
Running
Running
| import os | |
| import importlib.util | |
| import pytest | |
| pytest.importorskip("torch") | |
| from fastapi.testclient import TestClient | |
| # Load the legacy api module which exposes dataset endpoints | |
| spec = importlib.util.spec_from_file_location( | |
| "tensorus.api_legacy", | |
| os.path.join(os.path.dirname(__file__), "..", "tensorus", "api.py"), | |
| ) | |
| api = importlib.util.module_from_spec(spec) | |
| spec.loader.exec_module(api) | |
| app = api.app | |
| storage = api.tensor_storage_instance | |
| def clear_storage(): | |
| storage.datasets.clear() | |
| yield | |
| storage.datasets.clear() | |
| def client(): | |
| with TestClient(app) as c: | |
| yield c | |
| def _ingest(client, dataset, value): | |
| payload = {"shape": [1], "dtype": "float32", "data": [float(value)], "metadata": {"v": value}} | |
| return client.post(f"/datasets/{dataset}/ingest", json=payload) | |
| def test_count_endpoint(client): | |
| ds = "count_ds" | |
| assert client.post("/datasets/create", json={"name": ds}).status_code == 201 | |
| _ingest(client, ds, 1) | |
| _ingest(client, ds, 2) | |
| resp = client.get(f"/datasets/{ds}/count") | |
| assert resp.status_code == 200 | |
| assert resp.json()["data"]["count"] == 2 | |
| resp_missing = client.get("/datasets/missing_ds/count") | |
| assert resp_missing.status_code == 404 | |