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

3.0 #2

Open
wants to merge 8 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
99 changes: 97 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,97 @@
# data-el
Abstract Test Suite for the Data Specification on Elevation
# Data Specification on Elevation

The Data Specification on Elevation – Technical Guidelines (version 3.0) and the associated GML application schema specifying requirements for the interoperability of spatial data sets of the data theme Elevation.

The specification specifies the following conformance classes:

| Conformance class | Standardization target |
| ----------------- | ---------------------- |
| [GML application schemas, Elevation](http://inspire.ec.europa.eu/id/ats/data-el/3.0/el-gml) | INSPIRE spatial data set encoded in GML, Elevation features |
| [Application Schema, Elevation Base Types](http://inspire.ec.europa.eu/id/ats/data-el/3.0/el-as) | INSPIRE spatial data set |
| [Application Schema, Elevation Grid Coverage](http://inspire.ec.europa.eu/id/ats/data-el/3.0/el-cov-as) | INSPIRE spatial data set |
| [Application Schema, Elevation Vector Elements](http://inspire.ec.europa.eu/id/ats/data-el/3.0/el-vec-as) | INSPIRE spatial data set |
| [Application Schema, Elevation TIN](http://inspire.ec.europa.eu/id/ats/data-el/3.0/el-tin-as) | INSPIRE spatial data set |
| [Reference Systems, Elevation](http://inspire.ec.europa.eu/id/ats/data-el/3.0/el-rs) | INSPIRE spatial data set |
| [Data Consistency, Elevation](http://inspire.ec.europa.eu/id/ats/data-el/3.0/el-dc) | INSPIRE spatial data set |
| [Information Accessibility, Elevation](http://inspire.ec.europa.eu/id/ats/data-el/3.0/el-ia) | INSPIRE spatial data set |
| [Portrayal, Elevation](http://inspire.ec.europa.eu/id/ats/data-el/3.0/el-portrayal) | INSPIRE view service |


## Approach

We have used the following approach to represent the Abstract Test Suite based on the annex in the data specification and the approach taken by the MIWP-5 group for the metadata for interoperability conformance class:

1. There is one GML conformance class per application schema with non-abstract spatial object types. This is basically the "encoding schema validation test" from the TG conformance class in the data specifications.

2. In order to make the IR conformance classes testable, they are understood as parameterized conformance classes with the encoding rule as the parameter. Note: The concept of parameterized conformance classes is described in the [OGC Specification Model](https://portal.opengeospatial.org/files/?artifact_id=34762).

3. All XPath expressions in the IR conformance classes are based on the default GML encoding rule. I.e., the current versions of the IR conformance classes are parametrized with the default GML encoding rule and have an indirect dependency to the GML application schema conformance class.

4. As a result, there is no need for an encoding-related, data delivery IR conformance class. Instead, the details how to test the conformance for any additional encoding rule would need to be added to the relevant tests and a new conformance class for the validation against the schemas would be added.

5. The IR conformance classes for application schemas without non-abstract feature types, e.g. "Elevation - Core", are not needed as no feature instance can be of a type from that application schema.

6. All generic tests related to the GML encoding rule are moved to a new INSPIRE GML conformance class (that should become part of D2.7 in a future revision) and which all other TG conformance classes would normatively reference / depend on.

7. A general conformance class regarding [metadata for interoperability](https://github.com/inspire-eu-validation/data/tree/master/interoperability-metadata) is specified in a separate Abstract Test Suite - for the Data Specification Template. The theme specific conformance class will depend upon the generic one and add additional test cases, if necessary.

8. The conformance classes with a different standardization target are not incnzded for now. Only the requirements on a data set resource are incnzded.

Note that the TG conformance class is "informative" in the data specification. However, there is no such thing as an informative requirement. For a Technical Guidance, which the data specifications are, the TG requirements are normative and so should be the TG conformance classes.

## Rules for HTTP requests

The INSPIRE technical guidance documents are in general unspecific on the details of HTTP requests to access resources. The following rules apply to all HTTP requests unless a test case explicitly states deviations from these rules.

### Use of HTTPS

Where HTTP is mentioned as the protocol, HTTPS may be used, too. SSL certificates must be valid and issued by a trusted Certification Authority.

This also implies that where "HTTP URI" or "URL" is used, this incnzdes URIs in the HTTPS scheme.

### HTTP methods

If a HTTP request is a request to an INSPIRE network service that is an OGC Web Service only HTTP GET and/or HTTP POST may be used as only the requriements for these methods are specified. Which of the two methods must or can be used in general depends in the requirements stated in the OGC standard and the support for the methods stated in the Capabilities document of a service. Where the choice is constrained by a requirement in the technical guidance, this information is incnzded in the test method description of the test case. If both GET and POST are allowed and supported the service, the executable test is free to choose one of the two.

For requests to other resources that are accessed using a HTTP URI without payload, HTTP HEAD may be used, too, as HTTP 1.1 states that "the methods GET and HEAD MUST be supported by all general-purpose servers". "Other resources" are identified by the lack of query parameters "SERVICE" and "REQUEST" which are part of all OGC Web Service KVP GET requests.

No conditional GET requests may be used to avoid the impact of HTTP caches.

### HTTP headers

If a non-INSPIRE dependency (e.g. an OGC standard) specifies requirements on HTTP headers in requests or responses, these must be taken into account in the implementation of tests. This incnzdes, for example, requirements on the content type.

Unless explicitly noted in a test case, no additional HTTP headers should be sent as part of the request or expected as part of the response.

### HTTP status codes

The expected status code for HTTP GET and POST responses is 200, the expected status code for HTTP HEAD responses is 200 and 204. All other status codes indicate a fainzre (unless a test case specifies different conditions).

Notes:

* In OGC Web Services the code 200 is often also used for service exceptions and tests may need to distinguish exceptions from successful completions of a request.
* Redirects (status codes 301, 302, and 303) are in general not allowed as they are not supported by the OGC Web Service standards.

### HTTP timeouts

The timeout for HTTP requests in tests is 30 seconds (unless a test case specifies different conditions).

### HTTP authentication

Until an approved INSPIRE technical guidance for HTTP authentication mechanisms exists, this Abstract Test Suite will not support INSPIRE spatial data services that require HTTP authentication.

I.e., testing of protected resources will require a local installation of the validator in order to connect to the protected service directly (bypassing the security gateway).

### Typical assertions for HTTP requests

Based on the rules specified above, the following assertions may typically be tested for a HTTP response. The first two apply to all responses, the others only in the case of specific requirements stated in the test case.

1. Response is returned within the timeout limits
2. Response has an expected HTTP status code
3. Response has an expected media type in the content-type header
4. Response content meets certain expectations

For example, in the case of an XML response, typical types of expectations regarding the content are:

* the response is schema valid
* the root element is an expected element (e.g. a Capabilties document) or not a forbidden element (e.g. an ows:ExceptionReport)
68 changes: 68 additions & 0 deletions el-as/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# Conformance class: Application schema, Elevation Base Types

Conformance class for the requirements associated with the application schema.

To be able to test this conformance class, the encoding of the data set must be known, i.e. this is a parameterized conformance class. The XPath expressions used in this test suite assume that the GML encoding is used. If used with the GML encoding this conformance class has an indirect dependency to the conformance class "GML application schemas, Elevation".

This conformance class is part of the [INSPIRE Data Specification on Elevation](../README.md).

## Standardization target type

INSPIRE spatial data set

## Dependencies

### Direct dependencies

none

### Indirect dependencies

An indirect dependency is another conformance class whose requirements must be met by a related resource.

| Specification | Conformance class | Related resource | Parameters |
| ------------- | ----------------- | ---------------- | ---------- |
| [TG DS-EL](./README.md#ref_TG_DS_EL) | [GML application schemas, Elevation](../el-gml/README.md) | INSPIRE spatial data set encoded in GML, Elevation features | n/a |

## Feature types <a name="feature-types"></a>

This application schema defines only two enumarations, used by feature types defined in the other application schemas. It is used to associate the specific-requirements that relate to objects defined by the other application schemas.


*Note*: When "features" or "spatial objects" are mentioned in the test cases, this refers to instances of feature types of the two application schemas, Elevation Grid Coverage and Elevation Vector Elements.

## External document references

The following abbreviations are used in the test text for referring to external documents:

Abbreviation | Document name
-------------------------------- | --------------------------------------------------
TG DS-EL <a name="ref_TG_DS_EL"></a> | [INSPIRE Data Specification on Elevation – Technical Guidelines version 3.0](http://inspire.ec.europa.eu/documents/Data_Specifications/INSPIRE_DataSpecification_EL_v3.0.pdf)
TG DS-EL-corr <a name="ref_TG_DS_EL_corr"></a> | [Corrigenda to the INSPIRE Data Specification on Elevation – Technical Guidelines version 3.0](https://inspire.ec.europa.eu/file/1609/download?token=9WROnWt0)
IR-ISDSS <a name="ref_IR-ISDSS"></a> | [Commission Regulation (EU) No 1089/2010 of 23 November 2010 implementing Directive 2007/2/EC of the European Parliament and of the Council as regards interoperability of spatial data sets and services](https://eur-lex.europa.eu/eli/reg/2010/1089/2014-12-31)
TG DS Template <a name="ref_TG_DS_tmpl"></a> | [INSPIRE Data Specification Template version 3.0rc3](http://inspire.jrc.ec.europa.eu/documents/Data_Specifications/INSPIRE_DataSpecification_Template_v3.0rc3.pdf)

## Test Cases

| Identifier | Status | Test case in [TG DS-EL](#ref_TG_DS_EL) |
| ----------------------------------------------------------------- | -------- | ------------ |
| [Data provision](./data-provision.md) | Draft | A.1.6 |
| [External Object Identifiers](./ext-object-id.md) | Draft | A.1.6 |

External Object Identifiers

## XML namespace prefixes <a name="namespaces"></a>

The following prefixes are used to refer to the corresponding XML namespaces in all test descriptions:

Prefix | Namespace
-------------- | -------------------------------------------------
el-cov | http://inspire.ec.europa.eu/schemas/el-cov/4.0
el-vec | http://inspire.ec.europa.eu/schemas/el-vec/4.0
el-tin | http://inspire.ec.europa.eu/schemas/el-tin/4.0
base | http://inspire.ec.europa.eu/schemas/base/3.3
gml | http://www.opengis.net/gml/3.2
wfs | http://www.opengis.net/wfs/2.0
xsi | http://www.w3.org/2001/XMLSchema-instance
xlink | http://www.w3.org/1999/xlink
xml | http://www.w3.org/XML/1998/namespace
33 changes: 33 additions & 0 deletions el-as/data-provision.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Elevation - Data provision requirements

**Purpose**: Verify that the dataset is provided with the right application schema, according to the following requirements:

* Provision of Land Elevation Data: Spatial data sets describing the morphology of land elevation shall be made available at least using the spatial object types included in the package Elevation – Grid Coverage.

* Provision of Bathymetry Data: Spatial data sets describing the morphology of bathymetry shall be made available at least using the spatial object types included in either the package Elevation – Grid Coverage or the package Elevation – Vector Elements.


**Prerequisites**

**Test method**

Check manually that:
* if your dataset describes the morphology of land elevation, it is provided at least using the spatial object types included in the package Elevation – Grid Coverage.
* if your dataset describes the morphology of bathymetry, it is provided at least using the spatial object types included in either the package Elevation – Grid Coverage or the package Elevation – Vector Elements.


**Reference(s)**:

* [TG DS-EL](./README.md#ref_TG_DS_EL) 5.3.1.1.6.

**Test type**: Manual

**Notes**


## Messages

Identifier | Message text (parameters start with '$')
---------------------------------------------------------- | -------------------------------------------------------------------------

## Contextual XPath references
27 changes: 27 additions & 0 deletions el-as/ext-object-id.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Elevation - External Object Identifiers requirements

**Purpose**: Verify that if elevation data is updated based on new source data, the updated objects shall receive a new external object identifier.

**Prerequisites**

**Test method**

Check manually that if elevation data has been updated based on new source data, the updated objects received a new external object identifier.


**Reference(s)**:

* [TG DS-EL](./README.md#ref_TG_DS_EL) 5.2.8

**Test type**: Manual

**Notes**

A new data acquisition process over a given area is considered rather a new observation than an update (i.e. a new version).

## Messages

Identifier | Message text (parameters start with '$')
---------------------------------------------------------- | -------------------------------------------------------------------------

## Contextual XPath references
63 changes: 63 additions & 0 deletions el-cov-as/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Conformance class: Application schema, Elevation Grid Coverage

Conformance class for the requirements associated with the application schema.

To be able to test this conformance class, the encoding of the data set must be known, i.e. this is a parameterized conformance class. The XPath expressions used in this test suite assume that the GML encoding is used. If used with the GML encoding this conformance class has an indirect dependency to the conformance class "GML application schemas, Elevation".

This conformance class is part of the [INSPIRE Data Specification on Elevation](../README.md).

## Standardization target type

INSPIRE spatial data set

## Dependencies

### Direct dependencies

none

### Indirect dependencies

An indirect dependency is another conformance class whose requirements must be met by a related resource.

| Specification | Conformance class | Related resource | Parameters |
| ------------- | ----------------- | ---------------- | ---------- |
| [TG DS-EL](./README.md#ref_TG_DS_EL) | [Application schemas, Elevation Base Types](../el-as/README.md) | INSPIRE spatial data set, Elevation Base Types | n/a |

## Feature types <a name="feature-types"></a>

* LandCoverGridCoverage


## External document references

The following abbreviations are used in the test text for referring to external documents:

Abbreviation | Document name
-------------------------------- | --------------------------------------------------
TG DS-EL <a name="ref_TG_DS_EL"></a> | [INSPIRE Data Specification on Elevation – Technical Guidelines version 3.0](http://inspire.ec.europa.eu/documents/Data_Specifications/INSPIRE_DataSpecification_EL_v3.0.pdf)
TG DS-EL-corr <a name="ref_TG_DS_EL_corr"></a> | [Corrigenda to the INSPIRE Data Specification on Elevation – Technical Guidelines version 3.0](https://inspire.ec.europa.eu/file/1609/download?token=9WROnWt0)
IR-ISDSS <a name="ref_IR-ISDSS"></a> | [Commission Regulation (EU) No 1089/2010 of 23 November 2010 implementing Directive 2007/2/EC of the European Parliament and of the Council as regards interoperability of spatial data sets and services](https://eur-lex.europa.eu/eli/reg/2010/1089/2014-12-31)
TG DS Template <a name="ref_TG_DS_tmpl"></a> | [INSPIRE Data Specification Template version 3.0rc3](http://inspire.jrc.ec.europa.eu/documents/Data_Specifications/INSPIRE_DataSpecification_Template_v3.0rc3.pdf)

## Test Cases

| Identifier | Status | Test case in [TG DS-EL](#ref_TG_DS_EL) |
| ----------------------------------------------------------------- | -------- | ------------ |
| [Constraints](./constraints.md) | ready for review | A.1.6 |
| [Specific requirements](./specific-req.md) | ready for review | A.1.6 |


## XML namespace prefixes <a name="namespaces"></a>

The following prefixes are used to refer to the corresponding XML namespaces in all test descriptions:

Prefix | Namespace
-------------- | -------------------------------------------------
el-cov | http://inspire.ec.europa.eu/schemas/el-cov/4.0
base | http://inspire.ec.europa.eu/schemas/base/3.3
gml | http://www.opengis.net/gml/3.2
wfs | http://www.opengis.net/wfs/2.0
xsi | http://www.w3.org/2001/XMLSchema-instance
xlink | http://www.w3.org/1999/xlink
xml | http://www.w3.org/XML/1998/namespace
Loading