melsk-r / HC-BAG-bevragen-issues

0 stars 0 forks source link

Test-resultaten n.a.v. regeressie-test + 1.4 functionaliteit. #284

Closed melsk-r closed 3 months ago

melsk-r commented 3 months ago

Originally created by JohanBoer (https://github.com/VNG-Realisatie/BAG-Gemeentelijke-wensen-tav-BAG-Bevragingen/issues/468):

melsk-r commented 3 months ago

This comment originally might have been created by someone else.

We pakken dit z.s.m. op.

melsk-r commented 3 months ago

This comment originally might have been created by someone else.

@JohanBoer De foutmelding die op dit moment het beste matched met de foutafhandeling.feature (dus zonder deze te moeten aanpassen), is dit:

{
    "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
    "title": "Een of meerdere parameters zijn niet correct.",
    "status": 400,
    "detail": "Bad request.",
    "instance": "http://localhost:8080/v1/panden?bbox=134647,457842,137512,455907",
    "code": "paramsValidation",
    "invalidParams": [
        {
            "name": "bbox",
            "code": "maximum",
            "reason": "Waarde is hoger dan maximum 250000."
        }
    ]
}

Mee eens? Of heb jij een beter voorstel?

melsk-r commented 3 months ago

This comment originally might have been created by someone else.

@JohanBoer Er is op dit moment niet een foutmelding in de foutafhandeling.feature die past bij de fout dat er een coördinaat wordt opgegeven in een ander CRS dan RD. Waarschijnlijk moet het zoiets worden:

{
    "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
    "title": "Een of meerdere parameters zijn niet correct.",
    "status": 400,
    "detail": "(52.10544278, 5.09890079) is geen geldig epsg:28992 coördinaat.",
    "instance": "http://localhost:8080/v1/panden?bbox=52.10544278,5.09890079,52.10423390,5.09996295",
    "code": "paramsValidation"
}

maar dan met een invalidParams blok, maar wat vullen we daar dan in?

melsk-r commented 3 months ago

This comment originally might have been created by someone else.

@JohanBoer De foutmelding die op dit moment het beste matched met de foutafhandeling.feature (dus zonder deze te moeten aanpassen), is dit:

{
    "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
    "title": "Een of meerdere parameters zijn niet correct.",
    "status": 400,
    "detail": "Bad request.",
    "instance": "http://localhost:8080/v1/panden?bbox=134647,457842,137512,455907",
    "code": "paramsValidation",
    "invalidParams": [
        {
            "name": "bbox",
            "code": "maximum",
            "reason": "Waarde is hoger dan maximum 250000."
        }
    ]
}

Mee eens? Of heb jij een beter voorstel?

Goed voorstel, Alleen de reason kan beter volgens mij. 250000 is namelijk niet de waarde van de bbox. "Oppervlakte van de bbox is groter dan 250000 m2" dekt de lading beter denk ik.

melsk-r commented 3 months ago

This comment originally might have been created by someone else.

@JohanBoer Er is op dit moment niet een foutmelding in de foutafhandeling.feature die past bij de fout dat er een coördinaat wordt opgegeven in een ander CRS dan RD. Waarschijnlijk moet het zoiets worden:

{
    "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
    "title": "Een of meerdere parameters zijn niet correct.",
    "status": 400,
    "detail": "(52.10544278, 5.09890079) is geen geldig epsg:28992 coördinaat.",
    "instance": "http://localhost:8080/v1/panden?bbox=52.10544278,5.09890079,52.10423390,5.09996295",
    "code": "paramsValidation"
}

maar dan met een invalidParams blok, maar wat vullen we daar dan in? Ik denk dat { "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1", "title": "Een of meerdere parameters zijn niet correct.", "status": 400, "detail": "Bad request.", "instance": "http://localhost:8080/v1/panden?bbox=52.10544278,5.09890079,52.10423390,5.09996295", "code": "paramsValidation", "invalidParams": [ { "name": "bbox", "code": "CRSonjuist", "reason": "Opgegeven coördinaten zijn niet conform opgegeven CRS." } ] }

hier de lading dekt. Ik weet dat dit niet letterlijk in de foutafhandeling.feature staat beschreven. Vraag is even of het lijstje voorbeelden uitputtend moet zijn.

melsk-r commented 3 months ago

This comment originally might have been created by someone else.

@JohanBoer De foutmelding die op dit moment het beste matched met de foutafhandeling.feature (dus zonder deze te moeten aanpassen), is dit:

{
    "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
    "title": "Een of meerdere parameters zijn niet correct.",
    "status": 400,
    "detail": "Bad request.",
    "instance": "http://localhost:8080/v1/panden?bbox=134647,457842,137512,455907",
    "code": "paramsValidation",
    "invalidParams": [
        {
            "name": "bbox",
            "code": "maximum",
            "reason": "Waarde is hoger dan maximum 250000."
        }
    ]
}

Mee eens? Of heb jij een beter voorstel?

Goed voorstel, Alleen de reason kan beter volgens mij. 250000 is namelijk niet de waarde van de bbox. "Oppervlakte van de bbox is groter dan 250000 m2" dekt de lading beter denk ik.

Het matcht inderdaad niet helemaal lekker. Dat kan wel anders maar dan moet er een andere code/reason combinatie worden toegevoegd in de foutafhandeling.feature, want daarin staat nu bij maximum: Waarde is hoger dan maximum {maximum}. Dan moeten we iets toevoegen als maxOppervlakte: Oppervlakte groter dan {maxOppervlakte}.

melsk-r commented 3 months ago

This comment originally might have been created by someone else.

@JohanBoer Er is op dit moment niet een foutmelding in de foutafhandeling.feature die past bij de fout dat er een coördinaat wordt opgegeven in een ander CRS dan RD. Waarschijnlijk moet het zoiets worden:

{
    "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
    "title": "Een of meerdere parameters zijn niet correct.",
    "status": 400,
    "detail": "(52.10544278, 5.09890079) is geen geldig epsg:28992 coördinaat.",
    "instance": "http://localhost:8080/v1/panden?bbox=52.10544278,5.09890079,52.10423390,5.09996295",
    "code": "paramsValidation"
}

maar dan met een invalidParams blok, maar wat vullen we daar dan in?

Ik denk dat { "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1", "title": "Een of meerdere parameters zijn niet correct.", "status": 400, "detail": "Bad request.", "instance": "http://localhost:8080/v1/panden?bbox=52.10544278,5.09890079,52.10423390,5.09996295", "code": "paramsValidation", "invalidParams": [ { "name": "bbox", "code": "CRSonjuist", "reason": "Opgegeven coördinaten zijn niet conform opgegeven CRS." } ] }

hier de lading dekt. Ik weet dat dit niet letterlijk in de foutafhandeling.feature staat beschreven. Vraag is even of het lijstje voorbeelden uitputtend moet zijn.

Dan stel ik voor er het volgende van te maken, omdat niet de CRS onjuist is, maar de coördinaten in de geometrie komen niet overeen met het CRS.

"invalidParams": [
  {
    "name": "bbox",
    "code": "geometryMismatch",
    "reason": "Opgegeven coördinaten zijn niet conform opgegeven CRS."
  }
]

De feature beschrijving geeft toch aan wat een gebruiker kan verwachten? Dan zou het m.i. raar zijn als deze niet volledig is.

melsk-r commented 3 months ago

This comment originally might have been created by someone else.

Goed voorstel wat mij betreft.

Wat betreft de feature: @CathyDingemanse heeft in de mail aangegeven dat we daar op terugkomen.

melsk-r commented 3 months ago

This comment originally might have been created by someone else.

@MelvLee doet een voorstel.

melsk-r commented 3 months ago

This comment originally might have been created by someone else.

@JohanBoer M.b.t. de test resultaten punten 1, 2 en 3: Dit komt door gewijzigde data in de locatieserver. Doordat er geen locatieserver in de test omgeving is, maken we vanuit de test omgeving gebruik van de locatieserver in de productie omgeving. Daar kunnen wijzigingen worden doorgevoerd, daar hebben we vanuit de BAG geen invloed op.

M.b.t. de test resultaten punten 4, 5 en 6: Dit klopt. je mag niet meer panden expanden als je op pandIdentificatie bevraagt, zie https://github.com/VNG-Realisatie/Haal-Centraal-BAG-bevragen/issues/403#issuecomment-914338060.

Om de laatste twee punten 7 en 8 te kunnen oplossen wachten we het voorstel van Melvin af.

melsk-r commented 3 months ago

This comment originally might have been created by someone else.

@strijm, ik zit uit te zoeken welke code er wordt teruggegeven als de locatie parameter niet conform epsg:28992 is. Ik neem aan dat deze ook hieraan moet voldoen. Echter als ik jouw voorbeeld van ongeldige coordinaat gebruik (52.10544278, 5.09890079) krijg ik geen fout, maar geen resultaat. Naar mijn mening zou dezelfde invalidParams code moeten worden teruggegeven wanneer bij een bbox een coordinaat wordt gebruikt die niet conform epsg:28992 is

melsk-r commented 3 months ago

This comment originally might have been created by someone else.

Mee eens.

melsk-r commented 3 months ago

This comment originally might have been created by someone else.

OK. Hoe ziet dan een coördinaat uit dat niet conform is aan epsg:28992. (52.10544278, 5.09890079) is volgens Johan een coördinaat in WGS84, maar dit geeft geen fout als het wordt gebruikt voor de locatie parameter. Zie:

https://api.bag.acceptatie.kadaster.nl/esd/huidigebevragingen/v1/panden?locatie=52.10544278,5.09890079

melsk-r commented 3 months ago

This comment originally might have been created by someone else.

De genoemde coördinaat is niet conform RD (EPSG:28992). Dat dit nog geen fout geeft bij het zoeken met een locatie parameter is dan een nieuwe bevinding en zal vanwege consistentie dezelfde foutmelding moeten geven als bij een bbox. Het maakt dus niet uit welke geometrie vorm het betreft, de opgegeven coördinaten komen niet overeen met het opgegeven CRS.

melsk-r commented 3 months ago

This comment originally might have been created by someone else.

ok. Mag ik dan tbv consistentie de code die wordt geretourneerd als de waarde van de locatie parameter niet conform de opgegeven crs is? Dan kan ik die verwerken in mijn voorstel

melsk-r commented 3 months ago

This comment originally might have been created by someone else.

ok. Mag ik dan tbv consistentie de code die wordt geretourneerd als de waarde van de locatie parameter niet conform de opgegeven crs is? Dan kan ik die verwerken in mijn voorstel

Wat mij betreft is dat gewoon een 400 foutmelding met geometryMismatch.