Skip to main content
Glama

STAC MCP Server

by BnJam
test_estimate_data_size_validation.py2.52 kB
# ruff: noqa: SLF001 import pytest import stac_mcp.tools.estimate_data_size as eds def test_validate_collections_argument_none_raises(): with pytest.raises(ValueError, match="Collections argument is required"): eds._validate_collections_argument(None) def test_validate_collections_argument_empty_raises(): with pytest.raises(ValueError, match="Collections argument cannot be empty"): eds._validate_collections_argument([]) def test_validate_collections_argument_valid_returns(): cols = ["c1", "c2"] assert eds._validate_collections_argument(cols) == cols def test_validate_datetime_argument_none_or_empty_raises(): # datetime is optional now and should return None when omitted/empty assert eds._validate_datetime_argument(None) is None assert eds._validate_datetime_argument("") is None def test_validate_datetime_argument_latest(monkeypatch): # Make get_today_date deterministic monkeypatch.setattr(eds, "get_today_date", lambda: "2025-10-21") res = eds._validate_datetime_argument("latest") # implementation returns a single date string for 'latest' assert res == "2025-10-21" def test_validate_datetime_argument_pass_through(): assert ( eds._validate_datetime_argument("2020-01-01/2020-01-02") == "2020-01-01/2020-01-02" ) def test_validate_query_argument_none_raises(): # query argument is optional and should return None when omitted assert eds._validate_query_argument(None) is None def test_validate_query_argument_valid_returns(): q = {"eo:cloud_cover": {"lt": 10}} assert eds._validate_query_argument(q) == q def test_validate_bbox_argument_none_raises(): # bbox is optional and should return None when omitted assert eds._validate_bbox_argument(None) is None def test_validate_bbox_argument_invalid_raises(): with pytest.raises(ValueError, match="Invalid bbox argument"): eds._validate_bbox_argument([0.0, 1.0, 2.0]) def test_validate_bbox_argument_valid_returns(): bbox = [0.0, 0.0, 1.0, 1.0] assert eds._validate_bbox_argument(bbox) == bbox def test_validate_aoi_geojson_argument_none_raises(): # aoi_geojson is optional and should return None when omitted assert eds._validate_aoi_geojson_argument(None) is None def test_validate_aoi_geojson_argument_valid_returns(): geo = { "type": "Polygon", "coordinates": [[[0, 0], [1, 0], [1, 1], [0, 0]]], } # minimal assert eds._validate_aoi_geojson_argument(geo) == geo

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/BnJam/stac-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server