WMTS - Web Map Tile Service - Test Cases

1. Test the WMTS GetCapabilities request.

MAP-133,
MAP-134
1a. Create a token using get_map_data as the resource, tests-cache as the map_name, tests as the project_name and using your test AppKey:

{
  "appkey": "insert-your-appkey-here",
  "resource": "get_map_data",
  "project_name": "tests",
  "map_name": "tests-cache"
}

Note: the map_name key is optional.

1b. Using the header X-API-KEY with the value from step 1a, send a message using the following URL:

https://maptimus.certusview.com/api/v2/mapcache/wmts?service=WMTS&version=1.0.0&request=GetCapabilities&map=tests-cache&project=tests

1c. After sending a message, the response should look like:

<?xml version="1.0" encoding="UTF-8"?>
<Capabilities xmlns="http://www.opengis.net/wmts/1.0" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gml="http://www.opengis.net/gml" xsi:schemaLocation="http://www.opengis.net/wmts/1.0 http://schemas.opengis.net/wmts/1.0/wmtsGetCapabilities_response.xsd" version="1.0.0">
    <ows:ServiceIdentification>
        <ows:Title>Test Cache Service</ows:Title>
        <ows:Abstract>The Maptimus 2.1.0 Test Cache Service provides WMTS and TLS services o test data.</ows:Abstract>

...

                <MatrixHeight>131072</MatrixHeight>
            </TileMatrix>
        </TileMatrixSet>
    </Contents>
</Capabilities>

2. Test that we return a 400 error when sending an invalid GetCapabilities request if the service parameter is missing.

MAP-135
2a. Create a token using get_map_data as the resource, tests-cache as the map_name, tests as the project_name and using your test AppKey:

{
  "appkey": "insert-your-appkey-here",
  "resource": "get_map_data",
  "project_name": "tests",
  "map_name": "tests-cache"
}

Note: the map_name key is optional.

2b. Using the header X-API-KEY with the value from step 2a, send a message using the following URL:

https://maptimus.certusview.com/api/v2/mapcache/wmts?version=1.0.0&request=GetCapabilities&map=tests-cache&project=tests

2c. After sending a message, the response should look like with a 400 status code:

{
  "response": "failure",
  "message": "Parameter error: 'service' parameter is required."
}

3. Test that we return a 400 error when sending an invalid GetCapabilities request if the service parameter value is missing.

MAP-135
3a. Create a token using get_map_data as the resource, tests-cache as the map_name, tests as the project_name and using your test AppKey:

{
  "appkey": "insert-your-appkey-here",
  "resource": "get_map_data",
  "project_name": "tests",
  "map_name": "tests-cache"
}

Note: the map_name key is optional.

3b. Using the header X-API-KEY with the value from step 3a, send a message using the following URL:

https://maptimus.certusview.com/api/v2/mapcache/wmts?service=&version=1.0.0&request=GetCapabilities&map=tests-cache&project=tests

3c. After sending a message, the response should look like with a 400 status code:

{
  "response": "failure",
  "message": "Parameter error: invalid 'service' parameter: ''."
}

4. Test that we can get a WMTS GetTile PNG response.

MAP-138,
MAP-139,
MAP-140
4a. Create a token using get_map_data as the resource, tests-cache as the map_name, tests as the project_name and using your test AppKey:

{
  "appkey": "insert-your-appkey-here",
  "resource": "get_map_data",
  "project_name": "tests",
  "map_name": "tests-cache"
}

Note: the map_name key is optional.

4b. Using the header X-API-KEY with the value from step 4a, send a message using the following URL:

https://maptimus.certusview.com/api/v2/mapcache/wmts?service=WMTS&version=1.0.0&request=GetTile&project=tests&map=tests-cache&layer=pgis-states&tileCol=0&tileRow=0&TileMatrix=1&tileMatrixSet=WGS84&format=image/png

4c. After sending a message, the response should look like this:

wmts_get_tile2.png


5. Test that we return a 400 error when sending a WMTS GetTile request if the tileCol parameter is missing.

MAP-140
5a. Create a token using get_map_data as the resource, tests-cache as the map_name, tests as the project_name and using your test AppKey:

{
  "appkey": "insert-your-appkey-here",
  "resource": "get_map_data",
  "project_name": "tests",
  "map_name": "tests-cache"
}

Note: the map_name key is optional.

5b. Using the header X-API-KEY with the value from step 5a, send a message using the following URL:

https://maptimus.certusview.com/api/v2/mapcache/wmts?service=WMTS&version=1.0.0&request=GetTile&project=tests&map=tests-cache&layer=pgis-states&tileRow=0&TileMatrix=1&tileMatrixSet=WGS84&format=image/jpeg

5c. After sending a message, the response should look like this with a 400 status code:

{
  "response": "failure",
  "message": "Parameter error: 'tilecol' parameter is required."
}

6. Test that we return a 400 error when sending a WMTS GetTile request if the tileRow parameter is missing.

MAP-140
6a. Create a token using get_map_data as the resource, tests-cache as the map_name, tests as the project_name and using your test AppKey:

{
  "appkey": "insert-your-appkey-here",
  "resource": "get_map_data",
  "project_name": "tests",
  "map_name": "tests-cache"
}

Note: the map_name key is optional.

6b. Using the header X-API-KEY with the value from step 6a, send a message using the following URL:

https://maptimus.certusview.com/api/v2/mapcache/wmts?service=WMTS&version=1.0.0&request=GetTile&project=tests&map=tests-cache&layer=pgis-states&tileCol=0&TileMatrix=1&tileMatrixSet=WGS84&format=image/jpeg

6c. After sending a message, the response should look like this with a 400 status code:

{
  "response": "failure",
  "message": "Parameter error: 'tilerow' parameter is required."
}

7. Test that we return a 400 error when sending a WMTS GetTile request if the tileMatrixSet parameter is missing.

MAP-140
7a. Create a token using get_map_data as the resource, tests-cache as the map_name, tests as the project_name and using your test AppKey:

{
  "appkey": "insert-your-appkey-here",
  "resource": "get_map_data",
  "project_name": "tests",
  "map_name": "tests-cache"
}

Note: the map_name key is optional.

7b. Using the header X-API-KEY with the value from step 7a, send a message using the following URL:

https://maptimus.certusview.com/api/v2/mapcache/wmts?service=WMTS&version=1.0.0&request=GetTile&project=tests&map=tests-cache&layer=pgis-states&tileCol=0&tileRow=0&TileMatrix=1&format=image/jpeg

7c. After sending a message, the response should look like this with a 400 status code:

{
  "response": "failure",
  "message": "Parameter error: 'tilematrixset' parameter is required."
}

8. Test that we can get a WMTS GetTile JPEG response.

MAP-271
8a. Create a token using get_map_data as the resource, tests-cache as the map_name, tests as the project_name and using your test AppKey:

{
  "appkey": "insert-your-appkey-here",
  "resource": "get_map_data",
  "project_name": "tests",
  "map_name": "tests-cache"
}

Note: the map_name key is optional.

8b. Using the header X-API-KEY with the value from step 8a, send a message using the following URL:

https://maptimus.certusview.com/api/v2/mapcache/wmts?project=tests&map=tests-cache&service=WMTS&REQUEST=GetTile&VERSION=1.0.0&Layer=pgis-states&STYLE=default&TILEMATRIXSET=WGS84&TILEMATRIX=4&TILEROW=5&TILECOL=8&FORMAT=image/jpeg

8c. After sending a message, the response should look like this:

wmts_get_tile2.jpg


9. Test that we can get a WMTS GetTile MVT Vector Tile response.

MAP-271
9a. Create a token using get_map_data as the resource, tests-cache as the map_name, tests as the project_name and using your test AppKey:

{
  "appkey": "insert-your-appkey-here",
  "resource": "get_map_data",
  "project_name": "tests",
  "map_name": "tests-cache"
}

Note: the map_name key is optional.

9b. Using the header X-API-KEY with the value from step 9a, send a message using the following URL:

https://maptimus.certusview.com/api/v2/mapcache/wmts?project=tests&map=tests-cache&service=WMTS&REQUEST=GetTile&VERSION=1.0.0&Layer=pgis-states-vt&STYLE=default&TILEMATRIXSET=WGS84&TILEMATRIX=4&TILEROW=5&TILECOL=8&FORMAT=application/x-protobuf

9c. After sending a message, the response should look like this:

wmts_get_tile.mvt


10. Test that we can get a WMTS GetFeatureInfo response.

MAP-146,
MAP-147,
MAP-148,
MAP-149
10a. Create a token using get_map_data as the resource, tests-cache as the map_name, tests as the project_name and using your test AppKey:

{
  "appkey": "insert-your-appkey-here",
  "resource": "get_map_data",
  "project_name": "tests",
  "map_name": "tests-cache"
}

Note: the map_name key is optional.

10b. Using the header X-API-KEY with the value from step 10a, send a message using the following URL:

https://maptimus.certusview.com/api/v2/mapcache/wmts?service=WMTS&version=1.0.0&request=GetFeatureInfo&project=tests&map=tests-cache&layer=pgis-states&infoformat=text/plain&i=5&j=8&tileMatrixSet=WGS84&tileMatrix=4&tileRow=5&tileCol=8&feature_count=1

10c. After sending a message, the response should look like this:

GetFeatureInfo results:

Layer 'world_state'
  Feature 4394: 
    id = '4394'
    long_name = 'Mississippi'
    abbreviation = 'Miss.'
    state_type = 'State'
    fips_code = 'US28'
    iso_code = 'US-MS'
    wikipedia_link = 'http://en.wikipedia.org/wiki/Mississippi'
    region = 'South'
    country_id = '239'
    create_user = 'DYNUTIL\db0094'
    create_timestamp = '2016-08-02 11:55:12'
    last_update_user = 'DYNUTIL\db0094'
    last_update_timestamp = '2016-08-02 11:55:12'

11. Test that we can get a WMTS GetFeatureInfo GML response.

MAP-146
11a. Create a token using get_map_data as the resource, tests-cache as the map_name, tests as the project_name and using your test AppKey:

{
  "appkey": "insert-your-appkey-here",
  "resource": "get_map_data",
  "project_name": "tests",
  "map_name": "tests-cache"
}

Note: the map_name key is optional.

11b. Using the header X-API-KEY with the value from step 11a, send a message using the following URL:

https://maptimus.certusview.com/api/v2/mapcache/wmts?service=WMTS&version=1.0.0&request=GetFeatureInfo&project=tests&map=tests-cache&layer=pgis-states&infoformat=application/vnd.ogc.gml&i=5&j=8&tileMatrixSet=WGS84&tileMatrix=4&tileRow=5&tileCol=8&feature_count=1

11c. After sending a message, the response should look like this:

<?xml version="1.0" encoding="UTF-8"?>

<msGMLOutput 
    xmlns:gml="http://www.opengis.net/gml"
    xmlns:xlink="http://www.w3.org/1999/xlink"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

...

            <last_update_user>DYNUTIL\db0094</last_update_user>
            <last_update_timestamp>2016-08-02 11:53:11</last_update_timestamp>
        </world_state_feature>
    </world_state_layer>
</msGMLOutput>

12. Test that we can get a WMTS GetFeatureInfo HTML response.

MAP-146,
MAP-147,
MAP-148,
MAP-149
12a. Create a token using get_map_data as the resource, tests-cache as the map_name, tests as the project_name and using your test AppKey:

{
  "appkey": "insert-your-appkey-here",
  "resource": "get_map_data",
  "project_name": "tests",
  "map_name": "tests-cache"
}

Note: the map_name key is optional.

12b. Using the header X-API-KEY with the value from step 12a, send a message using the following URL:

https://maptimus.certusview.com/api/v2/mapcache/wmts?service=WMTS&version=1.0.0&request=GetFeatureInfo&project=tests&map=tests-cache&layer=pgis-states&infoformat=text/html&i=5&j=8&tileMatrixSet=WGS84&tileMatrix=4&tileRow=5&tileCol=8&feature_count=1

12c. After sending a message, the response should look like this:

<html>
<head>
    <title>MapServer Template</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>

...

        <h4></h4>
        <h4></h4>
    </div>
</body>
</html>

13. Test that we return a 400 error when sending an invalid GetFeatureInfo request with no i parameter.

MAP-150
13a. Create a token using get_map_data as the resource, tests-cache as the map_name, tests as the project_name and using your test AppKey:

{
  "appkey": "insert-your-appkey-here",
  "resource": "get_map_data",
  "project_name": "tests",
  "map_name": "tests-cache"
}

Note: the map_name key is optional.

13b. Using the header X-API-KEY with the value from step 13a, send a message using the following URL:

https://maptimus.certusview.com/api/v2/mapcache/wmts?service=WMTS&version=1.0.0&request=GetFeatureInfo&project=tests&map=tests-cache&layer=pgis-states&infoformat=text/plain&j=8&tileMatrixSet=WGS84&tileMatrix=4&tileRow=5&tileCol=8&feature_count=1

13c. After sending a message, the response should look like this with a 400 status code:

{
  "response": "failure",
  "message": "Parameter error: 'i' or 'x' is required."
}

14. Test that we return a 400 error when sending an invalid GetFeatureInfo request with no j parameter.

MAP-150
14a. Create a token using get_map_data as the resource, tests-cache as the map_name, tests as the project_name and using your test AppKey:

{
  "appkey": "insert-your-appkey-here",
  "resource": "get_map_data",
  "project_name": "tests",
  "map_name": "tests-cache"
}

Note: the map_name key is optional.

14b. Using the header X-API-KEY with the value from step 14a, send a message using the following URL:

https://maptimus.certusview.com/api/v2/mapcache/wmts?service=WMTS&version=1.0.0&request=GetFeatureInfo&project=tests&map=tests-cache&layer=pgis-states&infoformat=text/plain&i=5&tileMatrixSet=WGS84&tileMatrix=4&tileRow=5&tileCol=8&feature_count=1

14c. After sending a message, the response should look like this with a 400 status code:

{
  "response": "failure",
  "message": "Parameter error: 'j' or 'y' is required."
}