Viktigt

Översättning är en gemenskapsinsats du kan gå med i. Den här sidan är för närvarande översatt till 85.71%.

8. Test av OGC-överensstämmelse

The Open Geospatial Consortium (OGC) provides tests which can be run free of charge to make sure a server is compliant with a certain specification. This chapter provides a quick tutorial to setup the WMS and OGC API Features tests on an Ubuntu system. A detailed documentation can be found at the OGC website.

8.1. pyogctest

pyogctest är ett Python-verktyg som är avsett för att enkelt köra OGC-tester. Installationen kan göras i en virtuell miljö:

virtualenv venv
source venv/bin/activate
pip install pyogctest

8.2. WMS 1.3.0 testsvit

För att köra WMS 1.3.0-testsviten med framgång behövs en specifik testdatauppsättning. Den kan laddas ner med hjälp av pyogctest:

pyogctest -s wms130 --download

Efter nedladdningen finns ett teamengine_wms_130.qgs-projekt tillgängligt i den nya data-katalogen. Detta projekt måste registreras som standardprojekt för QGIS Server med hjälp av miljövariabeln QGIS_SERVER_PROJECT_FILE. På så sätt behöver vi inte uttryckligen ställa in leverantörsparametern MAP för QGIS Server.

En särskild konfiguration är också nödvändig för att uppfylla kraven för metadatatester. Vissa metadata finns tillgängliga i katalogen data/metadata och måste vara tillgängliga för OGC:s testramverk via en URL. Det enklaste alternativet är att konfigurera din webbserver så att den har åtkomst via något i stil med http://XXX.XXX.XXX.XXX/metadata/Autos.xml. Dessa metadata-URL:er definieras i projektet och infogas i WMS-dokumentet GetCapabilities. Så projektet måste uppdateras enligt din testmiljö för att låta QGIS Server generera ett giltigt XML-dokument:

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

Nu när allt är korrekt konfigurerat kan vi köra testsviten för 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. Testsvit för OGC API-funktioner

För att köra testsviten OGC API Features 1.0 behövs en testdatauppsättning. Med tanke på att det underliggande QGIS-projektet inte behöver någon specifik konfiguration för denna testsvit kan vi använda filen .qgs som finns i utbildningsarkivet:

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

Efter nedladdningen finns ett world.qgs-projekt tillgängligt i underkatalogen qgis-server-tutorial. Detta projekt måste registreras som standardprojekt för QGIS Server med hjälp av miljövariabeln QGIS_SERVER_PROJECT_FILE. På så sätt behöver vi inte uttryckligen ställa in leverantörsparametern MAP för QGIS Server.

Nu när allt är korrekt konfigurerat kan vi köra testsviten 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 ============================