Files
geointel/backend/tests/test_storage_service.py
T
Codex 6ea3586a3e
GeoIntel CI / docs-smoke (push) Has been cancelled
GeoIntel CI / contract-smoke (push) Has been cancelled
Initial GeoIntel V1 foundation
2026-06-16 23:36:32 +02:00

29 lines
1.1 KiB
Python

from pathlib import Path
from types import SimpleNamespace
from app.services.storage_service import StorageService
def test_persist_dataset_file_records_metadata(monkeypatch, tmp_path) -> None:
monkeypatch.setattr(
"app.services.storage_service.get_settings",
lambda: SimpleNamespace(storage_root=str(tmp_path)),
)
metadata = StorageService.persist_dataset_file(
project_id="project-123",
dataset_id="dataset-456",
dataset_type="vector",
original_filename="../weird name!@#.geojson",
content=b"example-bytes",
content_type="application/geo+json",
)
assert metadata["original_filename"] == "weird name___.geojson"
assert metadata["stored_filename"] == "dataset-456_weird name___.geojson"
assert metadata["content_type"] == "application/geo+json"
assert metadata["size_bytes"] == 13
assert len(metadata["checksum_sha256"]) == 64
assert Path(metadata["storage_path"]).exists()
assert str(Path(tmp_path, "uploads", "project-123", "vector", "dataset-456")) in metadata["storage_path"]