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 37 38 39 40 41 42 43 44 45 46 47 48
|
import pytest
from click.testing import CliRunner
from stactools.cli.cli import cli
from tests import test_data
pytest.importorskip("stac_validator")
def test_valid_item() -> None:
path = test_data.get_path(
"data-files/basic/country-1/area-1-1/" "area-1-1-imagery/area-1-1-imagery.json"
)
runner = CliRunner()
result = runner.invoke(
cli,
[
"validate",
path,
"--no-validate-assets",
],
)
assert result.exit_code == 0
@pytest.mark.parametrize(
"path",
[
(
"data-files/basic/country-1/area-1-1/"
"area-1-1-imagery/area-1-1-imagery-invalid.json"
),
"data-files/basic/country-1/area-1-1/collection-invalid.json",
],
)
def test_invalid(path: str) -> None:
runner = CliRunner()
result = runner.invoke(cli, ["validate", test_data.get_path(path)])
assert result.exit_code == 1
def test_collection_invalid_asset() -> None:
path = test_data.get_path(
"data-files/basic/country-1" "/area-1-1/area-1-1-imagery/area-1-1-imagery.json"
)
runner = CliRunner()
result = runner.invoke(cli, ["validate", path])
assert result.exit_code == 0, "Unreachable links aren't an error"
|