File: test_validate.py

package info (click to toggle)
stactools 0.5.3-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 23,796 kB
  • sloc: python: 4,498; xml: 554; sh: 395; makefile: 34
file content (48 lines) | stat: -rw-r--r-- 1,259 bytes parent folder | download | duplicates (2)
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"