Overview

This test suite is based on the following ISO standard:

Test requirements

The WMS server the client uses must be configurable, not hard-coded.

Test approach

This test suite creates a proxy service around a WMS 1.3.0 service of the user's choosing. The user configures a WMS 1.3.0 client to use the proxy service, and exercises the client. Each of the GetCapabilities, GetMap, and GetFeatureInfo requests that the client makes are validated.

Capabilities not tested

The client capabilities listed below are not currently tested. The relevant specification references are enclosed in square brackets.

Test identification

The executable test cases that comprise this test suite are briefly summarized below.

Test Suite name: main:ets-wms-client

Partial WMS Client Test Suite

Validates WMS client requests.

The root test is: main:wms-client

Test Name: main:wms-client

Test Assertion: The WMS client is valid.

Test Name: gc:check-GetCapabilities-request

Test Assertion: The client GetCapabilities request is valid.

    List of parameters:
  • request:
  • response:
  • capabilities:

Test Name: basic:mandatory-params

Test Assertion: Each of the mandatory parameters is present.

    List of parameters:
  • request:
  • params:

Test Name: gc:service

Test Assertion: The value of the SERVICE parameter is "WMS".

    List of parameters:
  • request:

Test Name: basic:request

Test Assertion: The value of the REQUEST parameter is "{$expected-value}".

    List of parameters:
  • request:
  • expected-value:

Test Name: gm:check-GetMap-request

Test Assertion: The client GetMap request is valid.

    List of parameters:
  • request:
  • response:
  • capabilities:

Test Name: basic:version

Test Assertion: The value of the VERSION parameter is "1.3.0".

    List of parameters:
  • request:

Test Name: gm:core-map-request

Test Assertion: The core parameters for a GetMap request are valid.

    List of parameters:
  • request:
  • capabilities:

Test Name: gm:layers-count

Test Assertion: The number of the LAYERS requested does not exceed the layer limit.

    List of parameters:
  • request:
  • layer-limit:

Test Name: gm:layers-names

Test Assertion: Each of the values in the LAYERS parameter is a valid layer name.

    List of parameters:
  • request:
  • root-layer:

Test Name: gm:styles-count

Test Assertion: The number of styles requested matches the number of layers requested.

    List of parameters:
  • request:

Test Name: gm:styles-names

Test Assertion: Each of the values in the STYLES parameter is a valid style for its matching layer.

    List of parameters:
  • request:
  • root-layer:

Test Name: gm:crs

Test Assertion: The CRS is valid style for each requested layer.

    List of parameters:
  • request:
  • root-layer:

Test Name: gm:bbox-format

Test Assertion: The BBOX is a list of comma-separated real numbers in the form "minx,miny,maxx,maxy".

    List of parameters:
  • request:

Test Name: gm:bbox-non-subsettable-layers

Test Assertion: For layers that are not subsettable, the BBOX parameter must match the bounding box declared for the layer.

    List of parameters:
  • request:
  • root-layer:

Test Name: gm:format

Test Assertion: The value of the FORMAT parameter is one of the formats listed in the service metadata.

    List of parameters:
  • request:
  • getmap-element:

Test Name: gm:width-height

Test Assertion: {$param} is a positive integer value that does not exceed the declared Max{$param}.

    List of parameters:
  • request:
  • param:
  • limit:

Test Name: gm:transparent

Test Assertion: The value of the TRANSPARENT parameter is 'TRUE' or 'FALSE'.

    List of parameters:
  • request:

Test Name: gm:exceptions

Test Assertion: The value of the EXCEPTIONS parameter is one of the formats listed in the service metadata.

    List of parameters:
  • request:
  • exception-element:

Test Name: gfi:check-GetFeatureInfo-request

Test Assertion: The client GetFeatureInfo request is valid.

    List of parameters:
  • request:
  • response:
  • capabilities:

Test Name: gfi:query_layers-count

Test Assertion: The QUERY_LAYERS parameter contains at least one layer name.

    List of parameters:
  • request:

Test Name: gfi:query_layers-values

Test Assertion: Each of the values in the QUERY_LAYERS parameter is a layer from the original GetMap request.

    List of parameters:
  • request:

Test Name: gfi:query_layers-queryable

Test Assertion: Each of the values in the QUERY_LAYERS parameter must be a queryable layer. That is, the layer attribute "queryable" must evaluate to true (xsd:boolean); it may be inherited.

    List of parameters:
  • request:
  • capabilities:

Test description See ISO 19128:2005, cl. 7.2.4.7.2: Queryable layers. See ISO 19128:2005, cl. 7.4.1: General.

Test Name: gfi:info_format

Test Assertion: The value of the INFO_FORMAT parameter is one of the formats listed in the service metadata.

    List of parameters:
  • request:
  • getfeatureinfo-element:

Test Name: gfi:i

Test Assertion: The value of the I parameter is an integer between 0 and the maximum value of the i axis (WIDTH-1).

    List of parameters:
  • request:

Test Name: gfi:j

Test Assertion: The value of the J parameter is an integer between 0 and the maximum value of the i axis (HEIGHT-1).

    List of parameters:
  • request: