Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

QGIS Server, OGC tests and Continuous Integration: OGC API Features (part 2) #212

Closed
pblottiere opened this issue Mar 8, 2021 · 2 comments
Labels
Grant-2021 QEP for 2021 Grant Program Server

Comments

@pblottiere
Copy link
Member

pblottiere commented Mar 8, 2021

QGIS Server, OGC tests and Continuous Integration: OGC API Features (part 2)

Date 2021/03/08

Author Paul Blottiere (@pblottiere)

Contact blottiere dot paul at gmail dot com

Maintainer @pblottiere

Version QGIS 3.22

Summary

Thanks to the 2020 Grant Program, the WMS 1.3.0 OGC testsuite has been integrated with GitHub Action in the QGIS continuous integration mechanism (see QGIS Server, OGC tests and Continuous Integration). This way, the WMS 1.3.0 compliancy has become mandatory for every new development merged in QGIS Server source code.

To improve quality assurance as its best, this proposal will add the OGC API Features (aka WFS3) testsuite in QGIS continuous integration by following the same steps. Indeed, these tests are currently performed on master branch once a day but adding a continous integration check will prevent any kind of regressions.

Proposed Solution

pyogctest

A Python tool named pyogctest has been specifically implemented to run the WMS 1.3.0 testsuite in command line for the needs of the continuous integration. The goal is now to add the support for the OCG API Features protocol:

$ pyogctest -s ogcapif https://qgisserver

In this case, pyogctest will:

  • download and run the corresponding testsuite docker image ogccite/ets-ogcapi-features10
  • deduce the right URL depending on the tests to execute (https://qgisserver/wfs3 in case of the OGC API Features protocol)
  • execute the testsuite thanks to the TeamEngine REST API
  • parse the results to provide an explicit report (HTML or in stdout)

GitHub Actions

The second step is to integrate these OGC API Features tests in the QGIS CI mechanism thanks to GitHub Actions. This basically means adding a new step in .github/workflows/ogc.yml:

  - name: Run OGC API Features tests
    run: |
      docker-compose -f .ci/ogc/docker-compose.yml up -d
      source venv/bin/activate && ./pyogctest/pyogctest.py -s ogcapif -v -u http://qgisserver

The underlying project and data to run the testsuite will also need to be managed in the same way as for WMS 1.3.0 testsuite (automatic download and nginx configuration).

Nightly tests

Currently, scripts to run OGC API Features tests are available in the CertifSuite repository. These scripts will be updated to use pyogctest instead.

Documentation

The documentation on OGC Conformance Testing will be updated to add a specific entry about the OGC API Features testsuite.

Affected Files

@anitagraser
Copy link
Member

Hi @pblottiere, have you already sent a final report for this funded enhancement? It would be great if you could add a link in qgis/PSC#56.

@pblottiere
Copy link
Member Author

have you already sent a final report for this funded enhancement?

@anitagraser Thank you for reminding me of this point. The report is here: https://lists.osgeo.org/pipermail/qgis-psc/2022-January/009625.html.

I'll add a link in qgis/PSC#56.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Grant-2021 QEP for 2021 Grant Program Server
Projects
None yet
Development

No branches or pull requests

2 participants