[Git][debian-gis-team/stac-validator][master] 5 commits: Add dependency on python3-stac-pydantic
Antonio Valentino (@antonio.valentino)
gitlab at salsa.debian.org
Sat Feb 21 23:21:24 GMT 2026
Antonio Valentino pushed to branch master at Debian GIS Project / stac-validator
Commits:
0092b039 by Antonio Valentino at 2026-02-21T20:32:29+00:00
Add dependency on python3-stac-pydantic
- - - - -
cb746e37 by Antonio Valentino at 2026-02-21T21:55:38+00:00
Re-enable all tests
- - - - -
ecc8d6c4 by Antonio Valentino at 2026-02-21T23:04:25+00:00
New 0001-No-network.patch
- - - - -
42727baf by Antonio Valentino at 2026-02-21T23:14:00+00:00
Reorder Files paragraphs in debian/copyright by directory depth.
Changes-By: lintian-brush
Fixes: lintian: globbing-patterns-out-of-order
See-also: https://lintian.debian.org/tags/globbing-patterns-out-of-order.html
Fixes: lintian: globbing-patterns-out-of-order
See-also: https://lintian.debian.org/tags/globbing-patterns-out-of-order.html
Fixes: lintian: globbing-patterns-out-of-order
See-also: https://lintian.debian.org/tags/globbing-patterns-out-of-order.html
Fixes: lintian: globbing-patterns-out-of-order
See-also: https://lintian.debian.org/tags/globbing-patterns-out-of-order.html
- - - - -
2457022b by Antonio Valentino at 2026-02-21T23:14:10+00:00
Set distribution to unstable
- - - - -
6 changed files:
- debian/changelog
- debian/control
- debian/copyright
- + debian/patches/0001-No-network.patch
- + debian/patches/series
- debian/rules
Changes:
=====================================
debian/changelog
=====================================
@@ -1,11 +1,20 @@
-stac-validator (3.10.2-2) UNRELEASED; urgency=medium
+stac-validator (3.10.2-2) unstable; urgency=medium
- * Team upload.
+ [ Bas Couwenberg ]
* Make pytest output verbose.
* Drop Priority: optional, default since dpkg 1.22.13.
* Bump Standards-Version to 4.7.3, changes: priority.
- -- Bas Couwenberg <sebastic at debian.org> Tue, 16 Dec 2025 20:02:47 +0100
+ [ Antonio Valentino ]
+ * debian/control:
+ - Add dependency on python3-stac-pydantic.
+ * debian/patches:
+ - New 0001-No-network.patch.
+ * debian/copyright:
+ - Update copyright dates.
+ - Reorder Files paragraphs by directory depth.
+
+ -- Antonio Valentino <antonio.valentino at tiscali.it> Sat, 21 Feb 2026 23:04:45 +0000
stac-validator (3.10.2-1) unstable; urgency=medium
=====================================
debian/control
=====================================
@@ -13,6 +13,7 @@ Build-Depends: debhelper-compat (= 13),
python3-requests-mock <!nocheck>,
python3-referencing,
python3-setuptools,
+ python3-stac-pydantic,
python3-yaml
Standards-Version: 4.7.3
Testsuite: autopkgtest-pkg-pybuild
@@ -29,6 +30,7 @@ Package: python3-stac-validator
Architecture: all
Depends: ${python3:Depends},
${misc:Depends}
+Recommends: python3-stac-pydantic
Description: ${source:Synopsis}
${source:Extended-Description}
=====================================
debian/copyright
=====================================
@@ -8,6 +8,33 @@ Copyright: 2019, Sparkgeo
2023, Jonathan Healy
License: Apache-2.0
+Files: debian/*
+Copyright: 2023-2026, Antonio Valentino <antonio.valentino at tiscali.it>
+License: Apache-2.0
+
+Files: tests/test_data/1beta1/landsat-collection.json
+ tests/test_data/1beta1/sample-full.json
+ tests/test_data/1beta2/bad-sample-full.json
+ tests/test_data/1beta2/extensions/single-file-stac/examples/example-search.json
+ tests/test_data/1beta2/sample-full.json
+ tests/test_data/1beta2/stac_item.json
+ tests/test_data/1rc1/extensions-collection/collection.json
+ tests/test_data/1rc2/extensions-collection/collection.json
+ tests/test_data/bad_data/bad_item_v090.json
+ tests/test_data/local_cat/example-catalog/eo/landsat-8-l1/collection.json
+ tests/test_data/v080/collections/landsat-collection.json
+ tests/test_data/v080/items/itemcollection-sample-full.json
+ tests/test_data/v080/items/sample-full.json
+ tests/test_data/v090/colletions/landsat-collection.json
+ tests/test_data/v090/extensions/asset/examples/example-landsat8.json
+ tests/test_data/v090/extensions/commons/README.md
+ tests/test_data/v090/items/good_item_v090.json
+ tests/test_data/v090/items/itemcollection-sample-full.json
+ tests/test_data/v090/items/sample-full.json
+ tests/test_data/v100/extensions-collection/collection.json
+Copyright: 2019, Sparkgeo
+License: PDDL-1.0
+
Files: tests/test_data/1beta2/extensions/scientific/examples/collection.json
tests/test_data/1beta2/extensions/version/examples/collection.json
tests/test_data/v090/extensions/scientific/examples/collection.json
@@ -42,33 +69,6 @@ Files: tests/test_data/1beta2/extensions/label/examples/multidataset/spacenet-bu
Copyright: 2019, Sparkgeo
License: CC-BY-SA-4.0
-Files: tests/test_data/1beta1/landsat-collection.json
- tests/test_data/1beta1/sample-full.json
- tests/test_data/1beta2/bad-sample-full.json
- tests/test_data/1beta2/extensions/single-file-stac/examples/example-search.json
- tests/test_data/1beta2/sample-full.json
- tests/test_data/1beta2/stac_item.json
- tests/test_data/1rc1/extensions-collection/collection.json
- tests/test_data/1rc2/extensions-collection/collection.json
- tests/test_data/bad_data/bad_item_v090.json
- tests/test_data/local_cat/example-catalog/eo/landsat-8-l1/collection.json
- tests/test_data/v080/collections/landsat-collection.json
- tests/test_data/v080/items/itemcollection-sample-full.json
- tests/test_data/v080/items/sample-full.json
- tests/test_data/v090/colletions/landsat-collection.json
- tests/test_data/v090/extensions/asset/examples/example-landsat8.json
- tests/test_data/v090/extensions/commons/README.md
- tests/test_data/v090/items/good_item_v090.json
- tests/test_data/v090/items/itemcollection-sample-full.json
- tests/test_data/v090/items/sample-full.json
- tests/test_data/v100/extensions-collection/collection.json
-Copyright: 2019, Sparkgeo
-License: PDDL-1.0
-
-Files: debian/*
-Copyright: 2023-2025, Antonio Valentino <antonio.valentino at tiscali.it>
-License: Apache-2.0
-
License: Apache-2.0
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
=====================================
debian/patches/0001-No-network.patch
=====================================
@@ -0,0 +1,717 @@
+From: Antonio Valentino <antonio.valentino at tiscali.it>
+Date: Sat, 21 Feb 2026 21:53:09 +0000
+Subject: No network
+
+Forwarded: not-needed
+---
+ pyproject.toml | 7 ++++++-
+ tests/test_assets.py | 6 ++++++
+ tests/test_config.py | 4 ++++
+ tests/test_core.py | 14 ++++++++++++++
+ tests/test_custom.py | 7 +++++++
+ tests/test_default.py | 11 +++++++++++
+ tests/test_extensions.py | 12 ++++++++++++
+ tests/test_header.py | 2 ++
+ tests/test_links.py | 4 ++++
+ tests/test_pydantic.py | 3 +++
+ tests/test_recursion.py | 14 ++++++++++++++
+ tests/test_sys_exit.py | 2 ++
+ tests/test_validate_collections.py | 3 +++
+ tests/test_validate_dict.py | 4 ++++
+ tests/test_validate_item_collection.py | 7 +++++++
+ 15 files changed, 99 insertions(+), 1 deletion(-)
+
+diff --git a/pyproject.toml b/pyproject.toml
+index fcc1642..4140ae3 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -59,4 +59,9 @@ packages = ["stac_validator"]
+ stac-validator = "stac_validator.stac_validator:main"
+
+ [tool.setuptools.package-data]
+-stac_validator = ["*.yaml"]
+\ No newline at end of file
++stac_validator = ["*.yaml"]
++
++[tool.pytest.ini_options]
++markers = [
++ "network: test requires network access",
++]
+diff --git a/tests/test_assets.py b/tests/test_assets.py
+index 7734952..8ebf2c5 100644
+--- a/tests/test_assets.py
++++ b/tests/test_assets.py
+@@ -5,9 +5,12 @@ Description: Test --assets option
+
+ import json
+
++import pytest
++
+ from stac_validator import stac_validator
+
+
++ at pytest.mark.network
+ def test_assets_v090():
+ stac_file = "tests/test_data/v090/items/CBERS_4_bad_links.json"
+ stac = stac_validator.StacValidate(stac_file, assets=True)
+@@ -50,6 +53,7 @@ def test_assets_v090():
+ ]
+
+
++ at pytest.mark.network
+ def test_assets_v100():
+ stac_file = "tests/test_data/v100/simple-item.json"
+ stac = stac_validator.StacValidate(stac_file, assets=True)
+@@ -80,6 +84,7 @@ def test_assets_v100():
+ ]
+
+
++ at pytest.mark.network
+ def test_assets_v100_no_links():
+ stac_file = "tests/test_data/v100/simple-item.json"
+ stac = stac_validator.StacValidate(stac_file, assets=True, assets_open_urls=False)
+@@ -107,6 +112,7 @@ def test_assets_v100_no_links():
+ ]
+
+
++ at pytest.mark.network
+ def test_assets_on_collection_without_assets_ok():
+ stac_file = "tests/test_data/v100/collection.json"
+ stac = stac_validator.StacValidate(stac_file, assets=True)
+diff --git a/tests/test_config.py b/tests/test_config.py
+index 4106ac1..3778883 100644
+--- a/tests/test_config.py
++++ b/tests/test_config.py
+@@ -1,6 +1,9 @@
++import pytest
++
+ from stac_validator.validate import StacValidate
+
+
++ at pytest.mark.network
+ def test_validator_with_test_config():
+ validator = StacValidate(
+ stac_file="tests/test_data/v100/core-item.json",
+@@ -12,6 +15,7 @@ def test_validator_with_test_config():
+ assert validator.message[-1]["schema"] == ["local_schemas/v1.0.0/item.json"]
+
+
++ at pytest.mark.network
+ def test_validator_with_test_config_eo():
+ validator = StacValidate(
+ stac_file="tests/test_data/v100/extended-item.json",
+diff --git a/tests/test_core.py b/tests/test_core.py
+index 0e116b2..30db2af 100644
+--- a/tests/test_core.py
++++ b/tests/test_core.py
+@@ -3,9 +3,12 @@ Description: Test the validator for core functionality without validating extens
+
+ """
+
++import pytest
++
+ from stac_validator import stac_validator
+
+
++ at pytest.mark.network
+ def test_core_item_local_v080():
+ stac_file = "tests/test_data/v080/items/sample-full.json"
+ stac = stac_validator.StacValidate(stac_file, core=True)
+@@ -22,6 +25,7 @@ def test_core_item_local_v080():
+ ]
+
+
++ at pytest.mark.network
+ def test_core_collection_remote_v090():
+ stac_file = "https://raw.githubusercontent.com/stac-utils/pystac/main/tests/data-files/examples/0.9.0/collection-spec/examples/landsat-collection.json"
+ stac = stac_validator.StacValidate(stac_file, core=True)
+@@ -38,6 +42,7 @@ def test_core_collection_remote_v090():
+ ]
+
+
++ at pytest.mark.network
+ def test_core_item_local_v090():
+ stac_file = "tests/test_data/v090/items/good_item_v090.json"
+ stac = stac_validator.StacValidate(stac_file, core=True)
+@@ -54,6 +59,7 @@ def test_core_item_local_v090():
+ ]
+
+
++ at pytest.mark.network
+ def test_core_item_local_extensions_v090():
+ stac_file = "tests/test_data/v090/items/CBERS_4.json"
+ stac = stac_validator.StacValidate(stac_file, core=True)
+@@ -70,6 +76,7 @@ def test_core_item_local_extensions_v090():
+ ]
+
+
++ at pytest.mark.network
+ def test_core_bad_item_local_v090():
+ stac_file = "tests/test_data/bad_data/bad_item_v090.json"
+ stac = stac_validator.StacValidate(stac_file, core=True)
+@@ -90,6 +97,7 @@ def test_core_bad_item_local_v090():
+ ]
+
+
++ at pytest.mark.network
+ def test_core_v1beta1():
+ stac_file = "tests/test_data/1beta1/sentinel2.json"
+ stac = stac_validator.StacValidate(stac_file, core=True)
+@@ -106,6 +114,7 @@ def test_core_v1beta1():
+ ]
+
+
++ at pytest.mark.network
+ def test_core_item_local_v1beta2():
+ stac_file = "tests/test_data/1beta2/stac_item.json"
+ stac = stac_validator.StacValidate(stac_file, core=True)
+@@ -124,6 +133,7 @@ def test_core_item_local_v1beta2():
+ ]
+
+
++ at pytest.mark.network
+ def test_core_item_local_v1rc1():
+ stac_file = "tests/test_data/1rc1/collectionless-item.json"
+ stac = stac_validator.StacValidate(stac_file, core=True)
+@@ -142,6 +152,7 @@ def test_core_item_local_v1rc1():
+ ]
+
+
++ at pytest.mark.network
+ def test_core_collection_local_v1rc1():
+ stac_file = "tests/test_data/1rc1/collection.json"
+ stac = stac_validator.StacValidate(stac_file, core=True)
+@@ -160,6 +171,7 @@ def test_core_collection_local_v1rc1():
+ ]
+
+
++ at pytest.mark.network
+ def test_core_item_local_v100():
+ stac_file = "tests/test_data/v100/extended-item.json"
+ stac = stac_validator.StacValidate(stac_file, core=True)
+@@ -178,6 +190,7 @@ def test_core_item_local_v100():
+ ]
+
+
++ at pytest.mark.network
+ def test_core_collection_local_v110():
+ stac_file = "tests/test_data/v110/collection.json"
+ stac = stac_validator.StacValidate(stac_file, core=True)
+@@ -196,6 +209,7 @@ def test_core_collection_local_v110():
+ ]
+
+
++ at pytest.mark.network
+ def test_core_item_local_v110():
+ stac_file = "tests/test_data/v110/simple-item.json"
+ stac = stac_validator.StacValidate(stac_file, core=True)
+diff --git a/tests/test_custom.py b/tests/test_custom.py
+index de10e1e..1b0f169 100644
+--- a/tests/test_custom.py
++++ b/tests/test_custom.py
+@@ -3,9 +3,12 @@ Description: Test the custom option for custom schemas
+
+ """
+
++import pytest
++
+ from stac_validator import stac_validator
+
+
++ at pytest.mark.network
+ def test_custom_item_remote_schema_v080():
+ schema = "https://cdn.staclint.com/v0.8.0/item.json"
+ stac_file = "tests/test_data/v080/items/digitalglobe-sample.json"
+@@ -27,6 +30,7 @@ def test_custom_item_remote_schema_v080():
+ ]
+
+
++ at pytest.mark.network
+ def test_custom_item_remote_schema_v090():
+ schema = "https://cdn.staclint.com/v0.9.0/catalog.json"
+ stac_file = "https://raw.githubusercontent.com/stac-utils/pystac/main/tests/data-files/examples/0.9.0/collection-spec/examples/landsat-collection.json"
+@@ -44,6 +48,7 @@ def test_custom_item_remote_schema_v090():
+ ]
+
+
++ at pytest.mark.network
+ def test_custom_item_local_schema_v090():
+ schema = "tests/test_data/schema/v0.9.0/catalog.json"
+
+@@ -62,6 +67,7 @@ def test_custom_item_local_schema_v090():
+ ]
+
+
++ at pytest.mark.network
+ def test_custom_bad_item_remote_schema_v090():
+ schema = "https://cdn.staclint.com/v0.9.0/item.json"
+ stac_file = "tests/test_data/bad_data/bad_item_v090.json"
+@@ -83,6 +89,7 @@ def test_custom_bad_item_remote_schema_v090():
+ ]
+
+
++ at pytest.mark.network
+ def test_custom_item_remote_schema_v1rc2():
+ schema = "https://schemas.stacspec.org/v1.0.0-rc.2/item-spec/json-schema/item.json"
+
+diff --git a/tests/test_default.py b/tests/test_default.py
+index d1c496e..42e471f 100644
+--- a/tests/test_default.py
++++ b/tests/test_default.py
+@@ -3,9 +3,12 @@ Description: Test the default which validates core and extensions
+
+ """
+
++import pytest
++
+ from stac_validator import stac_validator
+
+
++ at pytest.mark.network
+ def test_default_v070():
+ stac_file = "https://radarstac.s3.amazonaws.com/stac/catalog.json"
+ stac = stac_validator.StacValidate(stac_file)
+@@ -22,6 +25,7 @@ def test_default_v070():
+ ]
+
+
++ at pytest.mark.network
+ def test_default_item_local_v110():
+ stac_file = "tests/test_data/v110/extended-item.json"
+ stac = stac_validator.StacValidate(stac_file)
+@@ -45,6 +49,7 @@ def test_default_item_local_v110():
+ ]
+
+
++ at pytest.mark.network
+ def test_default_v090():
+ stac = stac_validator.StacValidate("tests/test_data/v090/items/good_item_v090.json")
+ stac.run()
+@@ -65,6 +70,7 @@ def test_default_v090():
+ ]
+
+
++ at pytest.mark.network
+ def test_default_v1beta1():
+ stac_file = "tests/test_data/1beta1/sentinel2.json"
+ stac = stac_validator.StacValidate(stac_file)
+@@ -81,6 +87,7 @@ def test_default_v1beta1():
+ ]
+
+
++ at pytest.mark.network
+ def test_default_proj_v1b2():
+ stac_file = "https://earth-search.aws.element84.com/v0/collections/sentinel-s2-l1c/items/S2A_51SXT_20210415_0_L1C"
+ stac = stac_validator.StacValidate(stac_file)
+@@ -102,6 +109,7 @@ def test_default_proj_v1b2():
+ ]
+
+
++ at pytest.mark.network
+ def test_default_simple_v1rc2():
+ stac_file = "tests/test_data/1rc2/simple-item.json"
+ stac = stac_validator.StacValidate(stac_file)
+@@ -120,6 +128,7 @@ def test_default_simple_v1rc2():
+ ]
+
+
++ at pytest.mark.network
+ def test_default_extended_v1rc2():
+ stac_file = "tests/test_data/1rc2/extended-item.json"
+ stac = stac_validator.StacValidate(stac_file)
+@@ -143,6 +152,7 @@ def test_default_extended_v1rc2():
+ ]
+
+
++ at pytest.mark.network
+ def test_default_catalog_v1rc2():
+ stac_file = "tests/test_data/1rc2/catalog.json"
+ stac = stac_validator.StacValidate(stac_file)
+@@ -161,6 +171,7 @@ def test_default_catalog_v1rc2():
+ ]
+
+
++ at pytest.mark.network
+ def test_default_collection_validates_extensions():
+ stac_file = "tests/test_data/v100/collection.json"
+ stac = stac_validator.StacValidate(stac_file)
+diff --git a/tests/test_extensions.py b/tests/test_extensions.py
+index 2b03907..5612c05 100644
+--- a/tests/test_extensions.py
++++ b/tests/test_extensions.py
+@@ -25,6 +25,7 @@ def test_item_local_v080():
+ ]
+
+
++ at pytest.mark.network
+ def test_v090():
+ stac_file = "tests/test_data/v090/extensions/eo/examples/example-landsat8.json"
+ stac = stac_validator.StacValidate(stac_file, extensions=True)
+@@ -44,6 +45,7 @@ def test_v090():
+ ]
+
+
++ at pytest.mark.network
+ def test_v1beta1():
+ stac_file = "tests/test_data/1beta1/sentinel2.json"
+ stac = stac_validator.StacValidate(stac_file, extensions=True)
+@@ -60,6 +62,7 @@ def test_v1beta1():
+ ]
+
+
++ at pytest.mark.network
+ def test_no_extensions_v1beta2():
+ stac_file = "tests/test_data/1beta2/stac_item.json"
+ stac = stac_validator.StacValidate(stac_file, extensions=True)
+@@ -78,6 +81,7 @@ def test_no_extensions_v1beta2():
+ ]
+
+
++ at pytest.mark.network
+ def test_v1beta2():
+ stac_file = "tests/test_data/1beta2/CBERS_4.json"
+ stac = stac_validator.StacValidate(stac_file, extensions=True)
+@@ -97,6 +101,7 @@ def test_v1beta2():
+ ]
+
+
++ at pytest.mark.network
+ def test_remote_v1rc3():
+ stac_file = "https://raw.githubusercontent.com/radiantearth/stac-spec/v1.0.0-rc.3/examples/extended-item.json"
+ stac = stac_validator.StacValidate(stac_file, extensions=True)
+@@ -119,6 +124,7 @@ def test_remote_v1rc3():
+ ]
+
+
++ at pytest.mark.network
+ def test_remote_v1rc4():
+ stac_file = "https://raw.githubusercontent.com/radiantearth/stac-spec/v1.0.0-rc.4/examples/extended-item.json"
+ stac = stac_validator.StacValidate(stac_file, extensions=True)
+@@ -141,6 +147,7 @@ def test_remote_v1rc4():
+ ]
+
+
++ at pytest.mark.network
+ def test_local_v1rc2():
+ stac_file = (
+ "tests/test_data/1rc2/extensions-collection/./proj-example/proj-example.json"
+@@ -161,6 +168,7 @@ def test_local_v1rc2():
+ ]
+
+
++ at pytest.mark.network
+ def test_catalog_v1rc2():
+ stac_file = "tests/test_data/1rc2/catalog.json"
+ stac = stac_validator.StacValidate(stac_file, extensions=True)
+@@ -179,6 +187,7 @@ def test_catalog_v1rc2():
+ ]
+
+
++ at pytest.mark.network
+ def test_item_v100():
+ stac_file = "tests/test_data/v100/extended-item.json"
+ stac = stac_validator.StacValidate(stac_file, extensions=True)
+@@ -217,6 +226,7 @@ def test_item_v100_local_schema():
+ ]
+
+
++ at pytest.mark.network
+ def test_item_v100_override_schema_with_schema_map():
+ stac_file = "tests/test_data/v100/extended-item.json"
+ stac = stac_validator.StacValidate(
+@@ -245,6 +255,7 @@ def test_item_v100_override_schema_with_schema_map():
+ ]
+
+
++ at pytest.mark.network
+ def test_item_v100_local_schema_unreachable_url_schema_map_override():
+ """
+ This tests that references in schemas are also replaced by the schema_map
+@@ -272,6 +283,7 @@ def test_item_v100_local_schema_unreachable_url_schema_map_override():
+ ]
+
+
++ at pytest.mark.network
+ def test_verbose_mode_output():
+ """Test that verbose mode provides detailed error information in the expected format."""
+ stac_file = "tests/test_data/v100/bad-item.json"
+diff --git a/tests/test_header.py b/tests/test_header.py
+index 6203bd0..872048b 100644
+--- a/tests/test_header.py
++++ b/tests/test_header.py
+@@ -5,11 +5,13 @@ Description: Test --header option
+
+ import json
+
++import pytest
+ import requests_mock
+
+ from stac_validator import stac_validator
+
+
++ at pytest.mark.network
+ def test_header():
+ stac_file = "tests/test_data/v110/simple-item.json"
+ url = "https://localhost/" + stac_file
+diff --git a/tests/test_links.py b/tests/test_links.py
+index 913bd13..de88ed0 100644
+--- a/tests/test_links.py
++++ b/tests/test_links.py
+@@ -3,9 +3,12 @@ Description: Test --links option
+
+ """
+
++import pytest
++
+ from stac_validator import stac_validator
+
+
++ at pytest.mark.network
+ def test_poorly_formatted_v090():
+ stac_file = "tests/test_data/v090/items/CBERS_4_bad_links.json"
+ stac = stac_validator.StacValidate(stac_file, links=True)
+@@ -43,6 +46,7 @@ def test_poorly_formatted_v090():
+ ]
+
+
++ at pytest.mark.network
+ def test_item_v100():
+ stac_file = "tests/test_data/v100/extended-item.json"
+ stac = stac_validator.StacValidate(stac_file, links=True)
+diff --git a/tests/test_pydantic.py b/tests/test_pydantic.py
+index fc573e1..4a5bb3c 100644
+--- a/tests/test_pydantic.py
++++ b/tests/test_pydantic.py
+@@ -3,6 +3,8 @@ Description: Test the validator for Pydantic model validation
+
+ """
+
++import pytest
++
+ from stac_validator import stac_validator
+
+
+@@ -19,6 +21,7 @@ def test_pydantic_item_local_v110():
+ assert stac.message[0]["model_validation"] == "passed"
+
+
++ at pytest.mark.network
+ def test_pydantic_collection_local_v110():
+ stac_file = "tests/test_data/v110/collection.json"
+ stac = stac_validator.StacValidate(stac_file, pydantic=True)
+diff --git a/tests/test_recursion.py b/tests/test_recursion.py
+index 434f39a..0501aa8 100644
+--- a/tests/test_recursion.py
++++ b/tests/test_recursion.py
+@@ -3,9 +3,12 @@ Description: Test validation for recursion
+
+ """
+
++import pytest
++
+ from stac_validator import stac_validator
+
+
++ at pytest.mark.network
+ def test_recursive_lvl_4_local_v100():
+ stac_file = "tests/test_data/local_cat/open-science-catalog-testing/catalog.json"
+ stac = stac_validator.StacValidate(stac_file, recursive=True, max_depth=4)
+@@ -63,6 +66,7 @@ def test_recursive_lvl_4_local_v100():
+ ]
+
+
++ at pytest.mark.network
+ def test_recursive_local_v090():
+ stac_file = "tests/test_data/v090/catalog.json"
+ stac = stac_validator.StacValidate(stac_file, recursive=True, max_depth=1)
+@@ -102,6 +106,7 @@ def test_recursive_local_v090():
+ ]
+
+
++ at pytest.mark.network
+ def test_recursive_v1beta1():
+ stac_file = "tests/test_data/1beta1/sentinel2.json"
+ stac = stac_validator.StacValidate(stac_file, recursive=True, max_depth=0)
+@@ -119,6 +124,7 @@ def test_recursive_v1beta1():
+ ]
+
+
++ at pytest.mark.network
+ def test_recursive_v1beta2():
+ stac_file = "https://raw.githubusercontent.com/stac-utils/pystac/main/tests/data-files/examples/1.0.0-beta.2/collection-spec/examples/sentinel2.json"
+ stac = stac_validator.StacValidate(stac_file, recursive=True, max_depth=0)
+@@ -138,6 +144,7 @@ def test_recursive_v1beta2():
+ ]
+
+
++ at pytest.mark.network
+ def test_recursion_collection_local_v1rc1():
+ stac_file = "tests/test_data/1rc1/collection.json"
+ stac = stac_validator.StacValidate(stac_file, recursive=True, max_depth=1)
+@@ -194,6 +201,7 @@ def test_recursion_collection_local_v1rc1():
+ ]
+
+
++ at pytest.mark.network
+ def test_recursion_collection_local_v1rc2():
+ stac_file = "tests/test_data/1rc2/collection.json"
+ stac = stac_validator.StacValidate(stac_file, recursive=True, max_depth=1)
+@@ -251,6 +259,7 @@ def test_recursion_collection_local_v1rc2():
+ ]
+
+
++ at pytest.mark.network
+ def test_recursion_collection_local_2_v1rc2():
+ stac_file = "tests/test_data/1rc2/extensions-collection/collection.json"
+ stac = stac_validator.StacValidate(stac_file, recursive=True, max_depth=1)
+@@ -282,6 +291,7 @@ def test_recursion_collection_local_2_v1rc2():
+ ]
+
+
++ at pytest.mark.network
+ def test_recursion_without_max_depth():
+ stac_file = "tests/test_data/v100/catalog.json"
+ stac = stac_validator.StacValidate(stac_file, recursive=True)
+@@ -289,6 +299,7 @@ def test_recursion_without_max_depth():
+ assert len(stac.message) == 6
+
+
++ at pytest.mark.network
+ def test_recursion_with_bad_item():
+ stac_file = "tests/test_data/v100/catalog-with-bad-item.json"
+ stac = stac_validator.StacValidate(stac_file, recursive=True)
+@@ -311,6 +322,7 @@ def test_recursion_with_bad_item():
+ ]
+
+
++ at pytest.mark.network
+ def test_recursion_with_bad_item_trace_recursion():
+ stac_file = "tests/test_data/v100/catalog-with-bad-item.json"
+ stac = stac_validator.StacValidate(stac_file, recursive=True, trace_recursion=True)
+@@ -344,6 +356,7 @@ def test_recursion_with_bad_item_trace_recursion():
+ ]
+
+
++ at pytest.mark.network
+ def test_recursion_with_bad_child_collection():
+ # It is important here that there is a second good child in the collection
+ # since a previous bug did not correctly set the valid variable if the last
+@@ -372,6 +385,7 @@ def test_recursion_with_bad_child_collection():
+ ]
+
+
++ at pytest.mark.network
+ def test_recursion_with_missing_collection_link():
+ stac_file = "tests/test_data/v100/item-without-collection-link.json"
+ stac = stac_validator.StacValidate(stac_file, recursive=True)
+diff --git a/tests/test_sys_exit.py b/tests/test_sys_exit.py
+index be70f94..c38d22c 100644
+--- a/tests/test_sys_exit.py
++++ b/tests/test_sys_exit.py
+@@ -3,6 +3,7 @@ import subprocess
+ import pytest
+
+
++ at pytest.mark.network
+ def test_correct_sys_exit_error_python():
+ with pytest.raises(subprocess.CalledProcessError):
+ subprocess.run(
+@@ -25,6 +26,7 @@ def test_correct_sys_exit_error_recursion():
+ )
+
+
++ at pytest.mark.network
+ def test_false_sys_exit_error_python():
+ subprocess.run(
+ ["stac-validator", "tests/test_data/v090/items/good_item_v090.json"],
+diff --git a/tests/test_validate_collections.py b/tests/test_validate_collections.py
+index 20b7f75..dfb3aad 100644
+--- a/tests/test_validate_collections.py
++++ b/tests/test_validate_collections.py
+@@ -3,9 +3,12 @@ Description: Test stac-validator on --collections (/collections validation).
+
+ """
+
++import pytest
++
+ from stac_validator import stac_validator
+
+
++ at pytest.mark.network
+ def test_validate_collections_remote():
+ stac_file = "https://earth-search.aws.element84.com/v0/collections"
+ stac = stac_validator.StacValidate(stac_file, collections=True)
+diff --git a/tests/test_validate_dict.py b/tests/test_validate_dict.py
+index 7a6c9a5..5820fdd 100644
+--- a/tests/test_validate_dict.py
++++ b/tests/test_validate_dict.py
+@@ -5,9 +5,12 @@ Description: Test the validator
+
+ import json
+
++import pytest
++
+ from stac_validator import stac_validator
+
+
++ at pytest.mark.network
+ def test_validate_dict_catalog_v1rc2():
+ stac_file = {
+ "id": "examples",
+@@ -52,6 +55,7 @@ def test_validate_dict_catalog_v1rc2():
+ ]
+
+
++ at pytest.mark.network
+ def test_correct_validate_dict_return_method():
+ stac = stac_validator.StacValidate()
+ with open("tests/test_data/1rc2/extensions-collection/collection.json", "r") as f:
+diff --git a/tests/test_validate_item_collection.py b/tests/test_validate_item_collection.py
+index 0d7e8d5..977a97e 100644
+--- a/tests/test_validate_item_collection.py
++++ b/tests/test_validate_item_collection.py
+@@ -3,9 +3,12 @@ Description: Test stac-validator on item-collection validation.
+
+ """
+
++import pytest
++
+ from stac_validator import stac_validator
+
+
++ at pytest.mark.network
+ def test_validate_item_collection_in_memory():
+ item_collection = {
+ "type": "FeatureCollection",
+@@ -251,6 +254,7 @@ def test_validate_item_collection_in_memory():
+ ]
+
+
++ at pytest.mark.network
+ def test_validate_item_collection_remote():
+ stac_file = (
+ "https://earth-search.aws.element84.com/v0/collections/sentinel-s2-l2a/items"
+@@ -325,6 +329,7 @@ def test_validate_item_collection_remote():
+ assert len(seen_ids) == 10, f"Expected 10 unique item IDs, got {len(seen_ids)}"
+
+
++ at pytest.mark.network
+ def test_validate_item_collection_remote_pages():
+ stac_file = "https://stac.geobon.org/collections/chelsa-clim/items"
+ stac = stac_validator.StacValidate(stac_file, item_collection=True, pages=2)
+@@ -543,6 +548,7 @@ def test_validate_item_collection_remote_pages():
+ ]
+
+
++ at pytest.mark.network
+ def test_validate_item_collection_remote_pages_1_v110():
+ stac_file = "https://stac.dataspace.copernicus.eu/v1/collections/sentinel-3-olci-2-wfr-nrt/items"
+ stac = stac_validator.StacValidate(stac_file, item_collection=True, pages=1)
+@@ -584,6 +590,7 @@ def test_validate_item_collection_remote_pages_1_v110():
+ assert len(stac.message) == 10
+
+
++ at pytest.mark.network
+ def test_validate_item_collection_remote_pages_3_v110():
+ stac_file = "https://stac.dataspace.copernicus.eu/v1/collections/sentinel-3-olci-2-wfr-nrt/items"
+ stac = stac_validator.StacValidate(stac_file, item_collection=True, pages=3)
=====================================
debian/patches/series
=====================================
@@ -0,0 +1 @@
+0001-No-network.patch
=====================================
debian/rules
=====================================
@@ -2,72 +2,7 @@
export PYBUILD_BEFORE_TEST=cp $(CURDIR)/schema_config.yaml {build_dir}
export PYBUILD_AFTER_TEST=rm -f {build_dir}/schema_config.yaml
-export PYBUILD_TEST_ARGS=\
--k "not test_assets_v090 \
-and not test_assets_v100 \
-and not test_assets_on_collection_without_assets_ok \
-and not test_core_item_local_v080 \
-and not test_core_collection_remote_v090 \
-and not test_core_item_local_v090 \
-and not test_core_item_local_extensions_v090 \
-and not test_core_bad_item_local_v090 \
-and not test_core_v1beta1 \
-and not test_core_item_local_v1beta2 \
-and not test_core_item_local_v1rc1 \
-and not test_core_collection_local_v1rc1 \
-and not test_core_item_local_v100 \
-and not test_custom_item_remote_schema_v080 \
-and not test_custom_item_remote_schema_v090 \
-and not test_custom_item_local_schema_v090 \
-and not test_custom_bad_item_remote_schema_v090 \
-and not test_custom_item_remote_schema_v1rc2 \
-and not test_custom_proj_error_v1rc2 \
-and not test_default_v070 \
-and not test_default_v090 \
-and not test_default_v1beta1 \
-and not test_default_proj_v1b2 \
-and not test_default_simple_v1rc2 \
-and not test_default_extended_v1rc2 \
-and not test_default_catalog_v1rc2 \
-and not test_v090 \
-and not test_v1beta1 \
-and not test_v1beta2 \
-and not test_remote_v1rc3 \
-and not test_remote_v1rc4 \
-and not test_catalog_v1rc2 \
-and not test_item_v100 \
-and not test_poorly_formatted_v090 \
-and not test_item_v100 \
-and not test_recursive_lvl_3_v070 \
-and not test_recursive_local_v090 \
-and not test_recursive_v1beta1 \
-and not test_recursive_v1beta2 \
-and not test_recursion_collection_local_v1rc1 \
-and not test_recursion_collection_local_v1rc2 \
-and not test_recursion_collection_local_2_v1rc2 \
-and not test_recursion_without_max_depth \
-and not test_recursion_with_bad_item \
-and not test_recursion_with_missing_collection_link \
-and not test_false_sys_exit_error_python \
-and not test_validate_dict_catalog_v1rc2 \
-and not test_validate_item_collection_in_memory \
-and not test_validate_item_collection_remote \
-and not test_validate_item_collection_remote_pages \
-and not test_core_collection_local_v110 \
-and not test_core_item_local_v110 \
-and not test_validate_collections_remote \
-and not test_correct_validate_dict_return_method \
-and not test_header \
-and not test_recursion_with_bad_child_collection \
-and not test_local_v1rc2 \
-and not test_no_extensions_v1beta2 \
-and not test_default_collection_validates_extensions \
-and not test_default_item_local_v110 \
-and not test_verbose_mode_output \
-and not test_validator_with_test_config \
-and not test_recursive_lvl_4_local_v100 \
-and not test_pydantic_" \
--v $(CURDIR)/tests
+export PYBUILD_TEST_ARGS=-vv -m "not network" $(CURDIR)/tests
%:
dh $@ --buildsystem=pybuild
View it on GitLab: https://salsa.debian.org/debian-gis-team/stac-validator/-/compare/627dadc2f2828090a18f4eb74908712e6e2dca7b...2457022bd71bb3c755b983b276060ad3ed0c196a
--
View it on GitLab: https://salsa.debian.org/debian-gis-team/stac-validator/-/compare/627dadc2f2828090a18f4eb74908712e6e2dca7b...2457022bd71bb3c755b983b276060ad3ed0c196a
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-grass-devel/attachments/20260221/a6d76423/attachment-0001.htm>
More information about the Pkg-grass-devel
mailing list