Important

La traduction est le fruit d’un effort communautaire auquel vous pouvez vous joindre. Cette page est actuellement traduite à 100.00%.

8. Tests de conformité OGC

L’Open Geospatial Consortium (OGC) met à disposition des tests qui peuvent être exécutés gratuitement afin de s’assurer qu’un serveur est compatible avec une spécification donnée. Ce chapitre est un tutoriel rapide de configuration de tests WMS et OGC API Features sur un système Ubuntu. La documentation détaillée est disponible sur le site de l’OGC.

8.1. pyogctest

pyogctest est un outil Python dédié à l’exécution facile de tests OGC. L’installation peut se faire dans un environnement virtuel :

virtualenv venv
source venv/bin/activate
pip install pyogctest

8.2. WMS 1.3.0 test suite

Pour exécuter la suite de test WMS 1.3.0 avec succès, un jeu de données test spécifique est nécessaire. Il peut être téléchargé via pyogctest :

pyogctest -s wms130 --download

Après le téléchargement, un projet teamengine_wms_130.qgs est disponible dans le nouveau répertoire data. Ce projet doit être enregistré comme projet par défaut pour QGIS Server grâce à la variable d’environnement QGIS_SERVER_PROJECT_FILE. De cette façon, nous n’avons pas besoin de définir explicitement le paramètre MAP du fournisseur QGIS Server.

Une configuration spécifique est également nécessaire pour se conformer aux tests de métadonnées. En effet, certaines métadonnées sont disponibles dans le répertoire data/metadata et doivent être disponibles pour le cadre de test de OGC grâce à une URL. L’option la plus simple est de configurer votre serveur web pour qu’il puisse y accéder par le biais d’une adresse du type http://XXX.XXX.XXX.XXX/metadata/Autos.xml. Ces URL de métadonnées sont définies dans le projet et insérées dans le document WMS GetCapabilities. Le projet doit donc être mis à jour en fonction de votre environnement de test pour permettre au logiciel QGIS Server de générer un document XML valide :

pyogctest -s wms130 -m http://XXX.XXX.XXX.XXX/metadata

Maintenant que tout est correctement configuré, nous pouvons lancer la suite de tests WMS 1.3.0 :

pyogctest -s wms130 -u http://XXX.XXX.XXX.XXX/qgisserver
========================== OGC test session starts ============================
testsuite: WMS 1.3.0
collected 184 items

data-independent::basic_elements::version-negotiation::negotiate-no-version .
data-independent::basic_elements::version-negotiation::negotiate-basic_elements-version .
data-independent::basic_elements::version-negotiation::negotiate-higher-version .
...
...
...

=========================== 184 passed in 40 seconds ===========================

8.3. Suite des tests de fonctionnalités de l’API OGC

Pour exécuter la suite des tests de fonctionnalité de l’API OGC 1.0, un jeu de données test est nécessaire. Étant donné que le projet QGIS sous-jacent n’a pas besoin d’une configuration spécifique pour la suite de ce test, nous pouvons utiliser le fichier « .qgs » fourni dans le dépôt de formation :

git clone https://github.com/qgis/QGIS-Training-Data
ls QGIS-Training-Data/exercise_data/qgis-server-tutorial-data/world.qgs

A la fin du téléchargement, un projet « world.qgs » est disponible dans le sous-dossier « qgis-server-tutorial ». Ce projet doit être enregistré comme projet par défaut pour QGIS Server grâce à la variable d’environnement QGIS_SERVER_PROJECT_FILE. De cette manière, nous n’avons pas besoin de définir explicitement le paramètre du fournisseur « MAP » de QGIS Server.

Maintenant que tout est correctement configuré, nous pouvons lancer la suite de tests OGC API Features 1.0 :

pyogctest -s ogcapif -u http://XXX.XXX.XXX.XXX/qgisserver

=========================== OGC test session starts ============================
collected 56 items

collections::FeatureCollections::retrieveApiModel .
collections::FeatureCollections::noOfCollections .
collections::FeatureCollections::requirementClasses .
...
...
...

=========================== 56 passed in 24 seconds ============================