Viktigt

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

8. Test av OGC-överensstämmelse

Open Geospatial Consortium (OGC) tillhandahåller tester som kan köras kostnadsfritt för att säkerställa att en server överensstämmer med en viss specifikation. Det här kapitlet innehåller en snabb handledning för att konfigurera WMS- och OGC API Features-testerna på ett Ubuntu-system. En detaljerad dokumentation finns på OGC:s webbplats.

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 ============================