This test suite is based on the following ISO standard:
The WMS server the client uses must be configurable, not hard-coded.
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.
The client capabilities listed below are not currently tested. The relevant specification references are enclosed in square brackets.
The executable test cases that comprise this test suite are briefly summarized below.
Validates WMS client requests.
Test Assertion: The WMS client is valid.
Test Assertion: The client GetCapabilities request is valid.
Test Assertion: Each of the mandatory parameters is present.
Test Assertion: The value of the SERVICE parameter is "WMS".
Test Assertion: The value of the REQUEST parameter is "{$expected-value}".
Test Assertion: The client GetMap request is valid.
Test Assertion: The value of the VERSION parameter is "1.3.0".
Test Assertion: The core parameters for a GetMap request are valid.
Test Assertion: The number of the LAYERS requested does not exceed the layer limit.
Test Assertion: Each of the values in the LAYERS parameter is a valid layer name.
Test Assertion: The number of styles requested matches the number of layers requested.
Test Assertion: Each of the values in the STYLES parameter is a valid style for its matching layer.
Test Assertion: The CRS is valid style for each requested layer.
Test Assertion: The BBOX is a list of comma-separated real numbers in the form "minx,miny,maxx,maxy".
Test Assertion: For layers that are not subsettable, the BBOX parameter must match the bounding box declared for the layer.
Test Assertion: The value of the FORMAT parameter is one of the formats listed in the service metadata.
Test Assertion: {$param} is a positive integer value that does not exceed the declared Max{$param}.
Test Assertion: The value of the TRANSPARENT parameter is 'TRUE' or 'FALSE'.
Test Assertion: The value of the EXCEPTIONS parameter is one of the formats listed in the service metadata.
Test Assertion: The client GetFeatureInfo request is valid.
Test Assertion: The QUERY_LAYERS parameter contains at least one layer name.
Test Assertion: Each of the values in the QUERY_LAYERS parameter is a layer from the original GetMap request.
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.
Test description See ISO 19128:2005, cl. 7.2.4.7.2: Queryable layers. See ISO 19128:2005, cl. 7.4.1: General.
Test Assertion: The value of the INFO_FORMAT parameter is one of the formats listed in the service metadata.
Test Assertion: The value of the I parameter is an integer between 0 and the maximum value of the i axis (WIDTH-1).
Test Assertion: The value of the J parameter is an integer between 0 and the maximum value of the i axis (HEIGHT-1).