From 794f707f458c757be5688af0542cee834e8ed19f Mon Sep 17 00:00:00 2001 From: Julia Signell Date: Tue, 5 Sep 2023 15:47:42 -0400 Subject: [PATCH 1/3] Fix walrus operator that broke --matched --- pystac_client/cli.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pystac_client/cli.py b/pystac_client/cli.py index e20c3db8..365b3b02 100644 --- a/pystac_client/cli.py +++ b/pystac_client/cli.py @@ -40,7 +40,7 @@ def search( result = client.search(method=method, **kwargs) # type: ignore[arg-type] if matched: - if nmatched := result.matched() is not None: + if (nmatched := result.matched()) is not None: print(f"{nmatched} items matched") else: raise KeyError("'matched' is not supported for this catalog") From d96d0c3855f55cca570eff541a7136dbabe28e75 Mon Sep 17 00:00:00 2001 From: Julia Signell Date: Tue, 5 Sep 2023 15:48:33 -0400 Subject: [PATCH 2/3] Add tests for matched --- tests/test_cli.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/tests/test_cli.py b/tests/test_cli.py index d91cc593..54481a8b 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -84,3 +84,36 @@ def test_non_conformant_can_be_fixed(self, script_runner: ScriptRunner) -> None: ] result = script_runner.run(args, print_result=False) assert result.success + + @pytest.mark.vcr + @pytest.mark.script_launch_mode("subprocess") + def test_matched_not_available(self, script_runner: ScriptRunner) -> None: + args = [ + "stac-client", + "search", + STAC_URLS["PLANETARY-COMPUTER"], + "-c", + "naip", + "--matched", + ] + result = script_runner.run(args, print_result=False) + assert result.success is False + assert "'matched' is not supported for this catalog" in result.stderr + assert result.returncode == 1 + + @pytest.mark.vcr + @pytest.mark.script_launch_mode("subprocess") + def test_matched(self, script_runner: ScriptRunner) -> None: + args = [ + "stac-client", + "search", + STAC_URLS["EARTH-SEARCH"], + "-c", + "cop-dem-glo-30", + "--max-items", + "1", + "--matched", + ] + result = script_runner.run(args, print_result=False) + assert result.success + assert result.stdout[0].isdigit(), "Output does not start with a number" From cef4a10fff7be2decab7223fb6e1c9bdaafa3ca3 Mon Sep 17 00:00:00 2001 From: Pete Gadomski Date: Tue, 5 Sep 2023 14:20:59 -0600 Subject: [PATCH 3/3] fix(tests): remove subprocess to use vcr --- .../TestCLI.test_matched[inprocess].yaml | 110 +++++++ ...test_matched_not_available[inprocess].yaml | 272 ++++++++++++++++++ tests/test_cli.py | 4 +- 3 files changed, 383 insertions(+), 3 deletions(-) create mode 100644 tests/cassettes/test_cli/TestCLI.test_matched[inprocess].yaml create mode 100644 tests/cassettes/test_cli/TestCLI.test_matched_not_available[inprocess].yaml diff --git a/tests/cassettes/test_cli/TestCLI.test_matched[inprocess].yaml b/tests/cassettes/test_cli/TestCLI.test_matched[inprocess].yaml new file mode 100644 index 00000000..9de5caf5 --- /dev/null +++ b/tests/cassettes/test_cli/TestCLI.test_matched[inprocess].yaml @@ -0,0 +1,110 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - python-requests/2.31.0 + method: GET + uri: https://earth-search.aws.element84.com/v1 + response: + body: + string: '{"stac_version":"1.0.0","type":"Catalog","id":"earth-search-aws","title":"Earth + Search by Element 84","description":"A STAC API of public datasets on AWS","links":[{"rel":"self","type":"application/json","href":"https://earth-search.aws.element84.com/v1"},{"rel":"root","type":"application/json","href":"https://earth-search.aws.element84.com/v1"},{"rel":"conformance","type":"application/json","href":"https://earth-search.aws.element84.com/v1/conformance"},{"rel":"data","type":"application/json","href":"https://earth-search.aws.element84.com/v1/collections"},{"rel":"search","type":"application/geo+json","href":"https://earth-search.aws.element84.com/v1/search","method":"GET"},{"rel":"search","type":"application/geo+json","href":"https://earth-search.aws.element84.com/v1/search","method":"POST"},{"rel":"aggregate","type":"application/json","href":"https://earth-search.aws.element84.com/v1/aggregate","method":"GET"},{"rel":"aggregations","type":"application/json","href":"https://earth-search.aws.element84.com/v1/aggregations"},{"rel":"service-desc","type":"application/vnd.oai.openapi","href":"https://earth-search.aws.element84.com/v1/api"},{"rel":"service-doc","type":"text/html","href":"https://earth-search.aws.element84.com/v1/api.html"},{"rel":"http://www.opengis.net/def/rel/ogc/1.0/queryables","type":"application/schema+json","href":"https://earth-search.aws.element84.com/v1/queryables"},{"rel":"server","type":"text/html","href":"https://stac-utils.github.io/stac-server/"},{"rel":"child","type":"application/geo+json","href":"https://earth-search.aws.element84.com/v1/collections/cop-dem-glo-30"},{"rel":"child","type":"application/geo+json","href":"https://earth-search.aws.element84.com/v1/collections/naip"},{"rel":"child","type":"application/geo+json","href":"https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a"},{"rel":"child","type":"application/geo+json","href":"https://earth-search.aws.element84.com/v1/collections/sentinel-2-l1c"},{"rel":"child","type":"application/geo+json","href":"https://earth-search.aws.element84.com/v1/collections/landsat-c2-l2"},{"rel":"child","type":"application/geo+json","href":"https://earth-search.aws.element84.com/v1/collections/cop-dem-glo-90"},{"rel":"child","type":"application/geo+json","href":"https://earth-search.aws.element84.com/v1/collections/sentinel-1-grd"}],"conformsTo":["https://api.stacspec.org/v1.0.0/core","https://api.stacspec.org/v1.0.0/collections","https://api.stacspec.org/v1.0.0/ogcapi-features","https://api.stacspec.org/v1.0.0/item-search","https://api.stacspec.org/v1.0.0-rc.3/ogcapi-features#fields","https://api.stacspec.org/v1.0.0-rc.2/ogcapi-features#sort","https://api.stacspec.org/v1.0.0-rc.2/ogcapi-features#query","https://api.stacspec.org/v1.0.0-rc.3/item-search#fields","https://api.stacspec.org/v1.0.0-rc.2/item-search#sort","https://api.stacspec.org/v1.0.0-rc.2/item-search#query","https://api.stacspec.org/v0.3.0/aggregation","http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/core","http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/oas30","http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/geojson"]}' + headers: + Connection: + - keep-alive + Content-Length: + - '3141' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 05 Sep 2023 20:18:59 GMT + Via: + - 1.1 95ab38d462185df6df78ba1102868640.cloudfront.net (CloudFront) + X-Amz-Cf-Id: + - uZFEQcSwDnDGMweA1wbOhdhSqV6DiNuSzXbK5emzDp2p76WSTs6OuA== + X-Amz-Cf-Pop: + - DEN52-C1 + X-Amzn-Trace-Id: + - Root=1-64f78d32-22a5391c108519676b6fb34c;Sampled=0;lineage=9e2884e9:0 + X-Cache: + - Miss from cloudfront + access-control-allow-origin: + - '*' + etag: + - W/"c45-vX16rVW/Oi5D8pNBcBaw295oyu0" + x-amz-apigw-id: + - KzMAAGhYvHcFYvA= + x-amzn-Remapped-content-length: + - '3141' + x-amzn-RequestId: + - a1c3ff14-3455-4505-8990-09213f62aa6f + x-powered-by: + - Express + status: + code: 200 + message: OK +- request: + body: '{"collections": ["cop-dem-glo-30"], "limit": 1}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '47' + Content-Type: + - application/json + User-Agent: + - python-requests/2.31.0 + method: POST + uri: https://earth-search.aws.element84.com/v1/search + response: + body: + string: '{"type":"FeatureCollection","stac_version":"1.0.0","stac_extensions":[],"context":{"limit":1,"matched":26450,"returned":1},"numberMatched":26450,"numberReturned":1,"features":[{"type":"Feature","stac_version":"1.0.0","id":"Copernicus_DSM_COG_10_S90_00_W180_00_DEM","properties":{"platform":"tandem-x","gsd":30,"proj:epsg":4326,"proj:transform":[0.002777777777777778,0,-180.0013888888889,0,-0.0002777777777777778,-88.99986111111112],"proj:shape":[3600,360],"proj:centroid":{"lat":-89.5,"lon":-179.5},"grid:code":"CDEM-S90W180","storage:platform":"AWS","storage:region":"eu-central-1","storage:requester_pays":false,"earthsearch:payload_id":"cop-dem-glo/workflow-cop-dem-glo-to-stac/c535d071376a7c60ed297e65c490d41a","datetime":"2021-04-22T00:00:00Z","processing:software":{"cop-dem-glo-to-stac":"2023.03.28"},"created":"2023-03-28T15:22:58.882Z","updated":"2023-04-20T18:14:07.025Z"},"geometry":{"type":"Polygon","coordinates":[[[-179.0013888888889,-89.99986111111112],[-179.0013888888889,-88.99986111111112],[-180.0013888888889,-88.99986111111112],[-180.0013888888889,-89.99986111111112],[-179.0013888888889,-89.99986111111112]]]},"links":[{"rel":"self","type":"application/geo+json","href":"https://earth-search.aws.element84.com/v1/collections/cop-dem-glo-30/items/Copernicus_DSM_COG_10_S90_00_W180_00_DEM"},{"rel":"canonical","href":"s3://earthsearch-data/cop-dem-glo-30/Copernicus_DSM_COG_10_S90_00_W180_00_DEM/Copernicus_DSM_COG_10_S90_00_W180_00_DEM.json","type":"application/json"},{"rel":"handbook","href":"https://object.cloud.sdsc.edu/v1/AUTH_opentopography/www/metadata/Copernicus_metadata.pdf","type":"application/pdf","title":"Copernicus + DEM User handbook","description":"Also includes data usage information"},{"rel":"parent","type":"application/json","href":"https://earth-search.aws.element84.com/v1/collections/cop-dem-glo-30"},{"rel":"collection","type":"application/json","href":"https://earth-search.aws.element84.com/v1/collections/cop-dem-glo-30"},{"rel":"root","type":"application/json","href":"https://earth-search.aws.element84.com/v1"},{"rel":"thumbnail","href":"https://earth-search.aws.element84.com/v1/collections/cop-dem-glo-30/items/Copernicus_DSM_COG_10_S90_00_W180_00_DEM/thumbnail"}],"assets":{"data":{"href":"s3://copernicus-dem-30m/Copernicus_DSM_COG_10_S90_00_W180_00_DEM/Copernicus_DSM_COG_10_S90_00_W180_00_DEM.tif","type":"image/tiff; + application=geotiff; profile=cloud-optimized","title":"Data","raster:bands":[{"sampling":"point","data_type":"float32","spatial_resolution":30,"unit":"meter"}],"roles":["data"]}},"bbox":[-180.0013888888889,-89.99986111111112,-179.0013888888889,-88.99986111111112],"stac_extensions":["https://stac-extensions.github.io/storage/v1.0.0/schema.json","https://stac-extensions.github.io/processing/v1.1.0/schema.json","https://stac-extensions.github.io/raster/v1.1.0/schema.json","https://stac-extensions.github.io/grid/v1.1.0/schema.json","https://stac-extensions.github.io/projection/v1.1.0/schema.json"],"collection":"cop-dem-glo-30"}],"links":[{"rel":"next","title":"Next + page of Items","method":"POST","type":"application/geo+json","href":"https://earth-search.aws.element84.com/v1/search","merge":false,"body":{"collections":["cop-dem-glo-30"],"limit":1,"next":"2021-04-22T00:00:00Z,Copernicus_DSM_COG_10_S90_00_W180_00_DEM,cop-dem-glo-30"}},{"rel":"root","type":"application/json","href":"https://earth-search.aws.element84.com/v1"}]}' + headers: + Connection: + - keep-alive + Content-Length: + - '3410' + Content-Type: + - application/geo+json; charset=utf-8 + Date: + - Tue, 05 Sep 2023 20:18:59 GMT + Via: + - 1.1 95ab38d462185df6df78ba1102868640.cloudfront.net (CloudFront) + X-Amz-Cf-Id: + - v9LI1M3wj_k8TnXvcztFv1L4SaODopM_gUaUulR5lrY_2XTmjRf6JA== + X-Amz-Cf-Pop: + - DEN52-C1 + X-Amzn-Trace-Id: + - Root=1-64f78d33-366f96787c5c319959201dbc;Sampled=0;lineage=9e2884e9:0 + X-Cache: + - Miss from cloudfront + access-control-allow-origin: + - '*' + etag: + - W/"d52-kZRavcSAvRPx0vigsOjB/Kx7RWY" + x-amz-apigw-id: + - KzMACFBQvHcFd1Q= + x-amzn-Remapped-content-length: + - '3410' + x-amzn-RequestId: + - f9b52b49-73d4-4e9a-a30a-5cb08600689e + x-powered-by: + - Express + status: + code: 200 + message: OK +version: 1 diff --git a/tests/cassettes/test_cli/TestCLI.test_matched_not_available[inprocess].yaml b/tests/cassettes/test_cli/TestCLI.test_matched_not_available[inprocess].yaml new file mode 100644 index 00000000..77bb8eaa --- /dev/null +++ b/tests/cassettes/test_cli/TestCLI.test_matched_not_available[inprocess].yaml @@ -0,0 +1,272 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - python-requests/2.31.0 + method: GET + uri: https://planetarycomputer.microsoft.com/api/stac/v1 + response: + body: + string: !!binary | + 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 + headers: + Accept-Ranges: + - bytes + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Allow-Origin: + - '*' + Connection: + - keep-alive + Content-Length: + - '3238' + Content-Type: + - application/json + Date: + - Tue, 05 Sep 2023 20:18:58 GMT + Strict-Transport-Security: + - max-age=15724800; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + content-encoding: + - gzip + vary: + - Accept-Encoding + x-azure-ref: + - 20230905T201857Z-gm6zqefc797mtcdhyq4ezdqbg8000000091g00000001apev + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - python-requests/2.31.0 + method: GET + uri: https://planetarycomputer.microsoft.com/api/stac/v1/ + response: + body: + string: !!binary | + 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 + headers: + Accept-Ranges: + - bytes + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Allow-Origin: + - '*' + Connection: + - keep-alive + Content-Length: + - '3238' + Content-Type: + - application/json + Date: + - Tue, 05 Sep 2023 20:18:58 GMT + Strict-Transport-Security: + - max-age=15724800; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + content-encoding: + - gzip + vary: + - Accept-Encoding + x-azure-ref: + - 20230905T201858Z-gm6zqefc797mtcdhyq4ezdqbg8000000091g00000001apky + status: + code: 200 + message: OK +- request: + body: '{"collections": ["naip"], "limit": 1}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '37' + Content-Type: + - application/json + User-Agent: + - python-requests/2.31.0 + method: POST + uri: https://planetarycomputer.microsoft.com/api/stac/v1/search + response: + body: + string: !!binary | + H4sIADKN92QC/81WbW/bNhD+K4KA5susN9qSXwZjaDM06IA2RZJ+WWAYtHSWmUqiQNJ2vCL/fXeU + bKtOsWZLig6IA+nh8fjwuRfdF9fsanAn7lvgZq3gXBYFpEbIyu25ywbT7uT2iysytFqJeTlnYRTH + STTX23kYz8MkRIRFEWMJPbBwHI5x82Ih73Gjh7Z+HLIx6/eisT8eD9lw1LPooD+IR8MeC/0wiRmL + Z70TMuilENXn5nwFBa6kXX6tNa/rQqScwOBO25WVgiXRNabWkyCoC16B4WqXyrJeG1B+KVIltVwa + H6GA1yLQhqfBJgqOJ+ig4qJ2H3r7w2uuoDI/4WAl5Q87tnOMhmL57WNykL+8/A0DYaDUwZOTqhMJ + BRsB2/9GJ+OGEx06PSh5/duR15RondHC9F+kuhGmIMXe89qRS4e2H2U0cG+ClSkL9wETnGsNBhMa + 66nkOdDDyQ2IAay3oI2/KOQCWSvwt6LK5Fb7eLdGuU0YMhQuIDokIFJLS0susJyDJAqeRN83ohNz + SypAaPmr04n/FOPfgLWSS1HANC3kOvNkbUQp/oIMPShZ2E7hkrzu7KjK1cWbd1fO+eWFY3AnWoKc + LHiVNWVd8dIaWR8YoVJW8xZTiFHI29cLBVA9Msot2jF7U6zhkdWCwI7Rh3dXj2wqoRDLQKdK1LbD + IAZceaJaKm7JzB7wWqt1ucAYFD8udk8LHAtD/67OT4N3V0PeDceRbycmNweQboRhscWNFzoYIPbH + 9eUHZyvMyslgydeFcbD9ZaBElb9A4e1P9enf80rwrKmqqRWgeZkvRHbfAK+G59Erds7w1z9bSlVy + M62r/B/76VE9QQ8U9+bukM33vaej1lW75hz70kv3qdaTj8x/jlgHSeQGlL3U7CTzyO4BlcJmUYJR + O6tQY/BRFrtcNtUrVSYqbqyz29vuJGDngxGLkllvj8cJ6w4IX40TFh+w0eCIRyO0P4wZRzcn7mcU + 0M4ogYVOH9wexkvWoIwA26JzjTNP6Cc96mmArY6uQoJ6EfNYchMlkzDEvz9xJzmY7LBdtCaNs7tJ + Owax/oixgR/2GIv6UT+hp0HMkpGFWBjH+DRr90Ctc3fCknEYW2QjMLuadrlWRSeLttutv9TcX+uM + +7ncYJbIXPFSe9hfPU1xSkEHHGuWF169koaW69UusBFTO2+/wXYmr0UDex9720/Xv7923nJVOteN + N+d1DlW66yYE+sjWKSg7rqVQaamwYmatJvjxN2BHx70kesUpKW4j1h+GvSgaDg43N4pXmtIOl0n4 + kOTZS0cvHqEHwSxEvwjFw5DSoDHH7y1yoCGDyO2loiXvuOTn2NfWC1/IACQWmY9eAp2uoOT+ftD5 + 7k6i3GTQtzzMWj5YLrpJMmtjx4DTsbZC/9+dvLCoVpKm8I+X1zfPm8Q0Jmq6oildZrZOO6MZqWbL + wfIshXEnEVKTn6FqmU5sYJ8+tv2PBtnnH9NKh7PA38nl+ss8DQAA + headers: + Accept-Ranges: + - bytes + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Allow-Origin: + - '*' + Connection: + - keep-alive + Content-Length: + - '1122' + Content-Type: + - application/geo+json + Date: + - Tue, 05 Sep 2023 20:18:58 GMT + Strict-Transport-Security: + - max-age=15724800; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + content-encoding: + - gzip + vary: + - Accept-Encoding + x-azure-ref: + - 20230905T201858Z-gm6zqefc797mtcdhyq4ezdqbg8000000091g00000001apmm + status: + code: 200 + message: OK +version: 1 diff --git a/tests/test_cli.py b/tests/test_cli.py index 54481a8b..0144fed9 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -86,7 +86,6 @@ def test_non_conformant_can_be_fixed(self, script_runner: ScriptRunner) -> None: assert result.success @pytest.mark.vcr - @pytest.mark.script_launch_mode("subprocess") def test_matched_not_available(self, script_runner: ScriptRunner) -> None: args = [ "stac-client", @@ -98,11 +97,10 @@ def test_matched_not_available(self, script_runner: ScriptRunner) -> None: ] result = script_runner.run(args, print_result=False) assert result.success is False - assert "'matched' is not supported for this catalog" in result.stderr + assert "matched not in response" in result.stderr assert result.returncode == 1 @pytest.mark.vcr - @pytest.mark.script_launch_mode("subprocess") def test_matched(self, script_runner: ScriptRunner) -> None: args = [ "stac-client",