Tests not completing due to `client::tests::collections` encountering malformed response
metasim opened this issue · 2 comments
metasim commented
Running
cargo test --lib client::tests::collections -- --nocapture --exact
Results in the test looping over the same request, calling this URL over and over again:
https://data.geo.admin.ch/api/stac/v0.9/collections?cursor=cD1JbnRlcnZlbnRpb24rcmVnaW9ucytmb3IrZW1lcmdlbmN5K2NhbGwrbnVtYmVyKzE0Mytvbittb2JpbGUrbmV0d29yaw%3D%3D
After adding some additional debugging output (including printing the collection id) the following error is extracted
error decoding response body: data did not match any variant of untagged enum Bbox at line 1 column 87085'
Error details
... Fetching https://data.geo.admin.ch/api/stac/v0.9/ Fetching https://data.geo.admin.ch/api/stac/v0.9/collections ch.bfe.energiestaedte-2000watt-areale ch.bakom.mobilnetz-2g ch.swisstopo.swissbuildings3d_3_0 ch.bakom.mobilnetz-3g ch.bakom.mobilnetz-4g ch.bakom.mobilnetz-5g ch.are.erreichbarkeit-oev ch.are.erreichbarkeit-miv ch.bazl.luftfahrtkarten-icao ch.are.alpenkonvention ch.blw.alpprodukte ch.bafu.wald-vegetationshoehenstufen_2085_weniger_trocken ch.bafu.wald-tannenareale ch.bafu.waldschadenflaechen-vivian ch.bakom.anschlussart-koaxialkabel ch.bakom.anschlussart-kupferdraht ch.bakom.anschlussart-glasfaser ch.astra.nationalstrassenachsen ch.bafu.gewaesserschutz-badewasserqualitaet ch.bfe.biogasanlagen ch.blw.landwirtschaftliche-zonengrenzen ch.bfs.volkszaehlung-gebaeudestatistik_gebaeude ch.bfs.volkszaehlung-gebaeudestatistik_wohnungen ch.bfs.betriebszaehlungen-beschaeftigte_vollzeitaequivalente ch.bfs.betriebszaehlungen-arbeitsstaetten ch.bav.seilbahnen-bundeskonzession ch.are.agglomerationsverkehr ch.meteoschweiz.klimaszenarien-raumklima ch.blw.klimaeignung-getreidebau ch.blw.klimaeignung-kulturland ch.blw.klimaeignung-futterbau ch.blw.klimaeignung-koernermais ch.blw.klimaeignung-typ ch.blw.klimaeignung-kartoffeln ch.blw.niederschlagshaushalt ch.blw.klimaeignung-spezialkulturen ch.blw.klimaeignung-zwischenfruchtbau ch.bfe.abgeltung-wasserkraftnutzung ch.baspo.nationales-sportanlagenkonzept ch.astra.ivs-nat-verlaeufe ch.bfe.energieforschung ch.bfe.stauanlagen-bundesaufsicht ch.bafu.gewaesserschutz-klaeranlagen ch.blw.bewaesserungsbeduerftigkeit ch.bafu.wald-obere_waldgrenze ch.bafu.gewaesserschutz-diffuse_eintraege_stickstoff ch.bafu.gewaesserschutz-diffuse_eintraege_phosphor ch.blw.bodeneignung-kulturtyp ch.blw.bodeneignung-kulturland ch.blw.bodeneignung-naehrstoffspeichervermoegen ch.blw.bodeneignung-wasserdurchlaessigkeit ch.blw.bodeneignung-gruendigkeit ch.blw.bodeneignung-skelettgehalt ch.blw.bodeneignung-vernaessung ch.blw.bodeneignung-wasserspeichervermoegen ch.bafu.oekomorphologie-f ch.bafu.landesforstinventar-wirtschaftsregionen ch.bfe.elektrizitaetsproduktionsanlagen ch.bfe.sachplan-uebertragungsleitungen_kraft ch.bakom.notruf ch.bfe.energiestaedte ch.blw.erosion ch.blw.erosion-quantitativ ch.bav.anlagen-schienengueterverkehr ch.astra.ivs-nat_abgrenzungen ch.astra.ivs-nat_wegbegleiter ch.astra.ivs-nat ch.astra.ivs-gelaendekarte ch.blw.feldblockkarte ch.blw.erosion-fliesswegkarte ch.bafu.wald-standortsregionen ch.bafu.wald-foehnhaeufigkeit_jahr ch.bfs.generalisierte-grenzen_agglomerationen_g1 ch.bfs.generalisierte-grenzen_agglomerationen_g2 ch.swisstopo.geoidmodell-etrs89 ch.swisstopo.geoidmodell-ch1903 ch.bazl.segelflugkarte ch.bfe.erneuerbarheizen-mehrfamilienhaeuser ch.bfe.erneuerbarheizen ch.blw.hang_steillagen ch.are.wohnungsinventar-zweitwohnungsanteil ch.bakom.downlink1000 ch.bakom.downlink100 ch.bakom.downlink10 ch.bakom.downlink300 ch.bakom.downlink30 ch.bakom.downlink500 ch.bakom.uplink1000 ch.bakom.uplink100 ch.bakom.uplink10 ch.bakom.uplink1 ch.bakom.notruf-112_festnetz ch.bakom.notruf-112_mobilnetz ch.bakom.notruf-112_satellit ch.bakom.notruf-117_festnetz ch.bakom.notruf-117_mobilnetz ch.bakom.notruf-118_festnetz ch.bakom.notruf-118_mobilnetz ch.bakom.notruf-143_festnetz ch.bakom.notruf-143_mobilnetz Fetching https://data.geo.admin.ch/api/stac/v0.9/collections?cursor=cD1JbnRlcnZlbnRpb24rcmVnaW9ucytmb3IrZW1lcmdlbmN5K2NhbGwrbnVtYmVyKzE0Mytvbittb2JpbGUrbmV0d29yaw%3D%3D thread 'client::tests::collections' panicked at 'Error reading collection: Encountered a request error: error decoding response body: data did not match any variant of untagged enum Bbox at line 1 column 87085', ogcapi-client/src/client.rs:470:21
metasim commented
Using curl
on the above URL generates this response.
metasim commented
My guess as to what's happening is that the next
cursor isn't loaded in the case when a parsing error occurs. The previous
cursor key is used repeatedly.
...
[
{
"rel":"next",
"href":"https://data.geo.admin.ch/api/stac/v0.9/collections?cursor=cD1TZWN0b3JhbCtwbGFuK29uK3RyYW5zcG9ydCUyQythdmlhdGlvbitpbmZyYXN0cnVjdHVyZStzZWN0aW9uKyUyOFNJTCUyOSstK2NvbnN1bHRhdGlvbnM%3D"
},
{
"rel":"previous",
"href":"https://data.geo.admin.ch/api/stac/v0.9/collections?cursor=cj0xJnA9SW50ZXJ2ZW50aW9uK3JlZ2lvbnMrZm9yK2VtZXJnZW5jeStjYWxsK251bWJlcisxNDQrb24rZml4ZWQrbmV0d29yaw%3D%3D"
}
]
...