Важно

Перевод - это работа сообщества : ссылка:Вы можете присоединиться. Эта страница в настоящее время переводится |прогресс перевода|.

8. Тестирование на соответствие требованиям OGC

Открытый геопространственный консорциум (OGC) предоставляет тесты, которые можно запускать бесплатно, чтобы убедиться, что сервер соответствует определенной спецификации. В этой главе приводится краткое руководство по настройке тестов WMS и OGC API Features на системе Ubuntu. Подробную документацию можно найти на сайте OGC.

8.1. pyogctest

pyogctest - это инструмент на языке Python, предназначенный для легкого запуска тестов OGC. Установка может быть выполнена в виртуальной среде:

virtualenv venv
source venv/bin/activate
pip install pyogctest

8.2. Тестовый пакет WMS 1.3.0

Для успешного запуска тестового пакета WMS 1.3.0 необходим специальный набор тестовых данных. Его можно загрузить с помощью команды pyogctest:

pyogctest -s wms130 --download

После загрузки проект teamengine_wms_130.qgs будет доступен в новом каталоге data. Этот проект должен быть зарегистрирован как проект по умолчанию для QGIS Server благодаря переменной окружения QGIS_SERVER_PROJECT_FILE. Таким образом, нам не нужно будет явно устанавливать вендор-параметр MAP для QGIS Server.

Для выполнения тестов метаданных также необходима специальная конфигурация. Действительно, некоторые метаданные доступны в директории data/metadata и должны быть доступны для фреймворка тестирования OGC через URL. Самый простой вариант - настроить ваш веб-сервер на доступ через что-то вроде http://XXX.XXX.XXX.XXX/metadata/Autos.xml. Эти URL-адреса метаданных определяются в проекте и вставляются в документ WMS GetCapabilities. Поэтому проект необходимо обновить в соответствии с вашей тестовой средой, чтобы QGIS Server мог генерировать корректный XML-документ:

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

Теперь, когда все правильно настроено, мы можем запустить тестовый пакет 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. Набор тестов OGC API Features

Для запуска тестового набора OGC API Features 1.0 необходим тестовый набор данных. Учитывая, что базовый проект QGIS не требует специальной настройки для этого тестового набора, мы можем использовать файл .qgs, предоставленный в обучающем репозитории:

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

После загрузки проект world.qgs будет доступен в подкаталоге qgis-server-tutorial. Этот проект должен быть зарегистрирован как проект по умолчанию для QGIS Server благодаря переменной окружения QGIS_SERVER_PROJECT_FILE. Таким образом, нам не нужно будет явно устанавливать вендор-параметр MAP для QGIS Server.

Теперь, когда все правильно настроено, мы можем запустить тестовый набор 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 ============================