Task - créer un test pour le patch d'une feature
Created by: benoitdm-oslandia
Tâches
-
vérifier que l'api contienne le PATCH -
vérifier que le schéma json est disponible ? -
vérifier que la donnée est modifiée -
ajouter la route avec nouvelle methode (handler) : http PATCH /collections/{collId}/items/{featureId}
-
ajouter un nouveau Content-Type : application/merge-patch+json
-
construire le body (mock):
{
"geometry": {
"coordinates": [
[[[-122.2679,37.8009],[-122.2679,37.8009],
[-122.2681,37.8007],[-122.2678,37.8005],
[-122.2676,37.8008],[-122.2679,37.8009]]]
]
},
"properties": {
"apnid": 1310,
"primary_material": "red brick"
}
}
-
tests à faire dans le handler :
-
existance {collectionId} -
existance {featureId} -
validité du schema (properties et type de geom)
-
-
construire la reponse en json (Content-Type: application/geo+json):
{
"type": "Feature",
"id": "OB.2",
"geometry": {
"type": "MultiPolygon",
"coordinates": [
[[[-122.2679,37.8009],[-122.2679,37.8009],
[-122.2681,37.8007],[-122.2678,37.8005],
[-122.2676,37.8008],[-122.2679,37.8009]]]
]
},
"properties": {
"shape_len": 402.19805753,
"shape_area": 10117.0666708,
"bldgid3": "258 11TH ST_bldg1",
"bldgid2": "258 11TH ST",
"bldgtype": "Store Building",
"final_apn": "002 006901000",
"apnid": 1310
"nostory": 1,
"bldgnum": "bldg1",
"numbldgs": 1,
"comname": "John Sardell & Sons"
"primary_material": "red brick"
}
}
-
mettre en place les mocks si nécessaire -
ajouter l'impl. openapi pour le swagger -
tester avec le swagger ou curl -
implémenter fonctions d'update
UpdateTableFeature
dans les catalogues:-
catalogDB::UpdateTableFeature -
CatalogMock::UpdateTableFeature
-
Questions
Gestion d'un tag pour les CRS (autre que l'EPSG:4326 par defaut) ?
Peut on ajouter directement une nouvelle propertie (ex. primary_material) ? R: non
L'ajout d'une nouvelle properties doit elle être gerée dans l'impl. route pour modification de schema ? R: Pour l'instant ce n'est pas prévu