* layerFilterExpression Return an additional filter, used in WMS/GetMap, WMS/GetFeatureInfo, WFS/GetFeature to filter the features * layerFilterSubsetString Return an additional the subset string (typically SQL) filter. Faster than the layerFilterExpression but not supported on all the type of layer * layerPermissions Change the rights on the layer per user (known by the plugin) Concern rights: publish, insert, update, delete. Mostly used in WFS/Transaction, and the publish in all requests. * authorizedLayerAttributes Be able to show some attributes only for a subset of user Used in: WMS/GetFeatureInfo, WFS/GetFeature * allowToEdit Be able to don't allow to edit a particular feature, in our case base on the Geometry Used in: WFS/Transaction * cacheKey Cache key to used to create the capabilities cache, "" for no cache, shouldn't contains any "-", default to ""
QGIS unit tests
Build tests
Make sure that you have enabled building of tests in CMake.
cmake -DENABLE_TESTS=ON ..
Run tests
You can run all tests using make check
.
Individual tests can be run using ctest
.
For example if the output of make check
ends like this:
The following tests FAILED:
77 - PyQgsLocalServer (Failed)
You could re-run the failing test with:
ctest -V -R PyQgsLocalServer
The parameter -V
enables verbose mode and -R
takes a regular expression as
parameter and will only run matching tests.
Advanced configuration
Postgres
Make sure that you have enabled building of postgres test in CMake.
cmake -DENABLE_PGTEST=ON ..
To test the postgres provider you will need to have a database available to which the postgres provider can connect. The server will need to have postgis support enabled. By default the test uses the following connection options: dbname='qgis_test' host=localhost port=5432 user='postgres' password='postgres'
If this does not match your setup you can set the environment variable QGIS_PGTEST_DB to the desired connection string.
Please note that the database needs to be initialized using the sql-script tests/testdata/provider/testdata.sql It takes care of activating postgis for the test database and creates some tables containing test data.