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

Add constraints for temporal, spatial and vertical extent. #32

Open
wants to merge 9 commits into
base: main
Choose a base branch
from
14 changes: 13 additions & 1 deletion standard/abstract_tests/ATS_class_core.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,16 @@ include::./core/ATS_test_collection_title.adoc[]

==== Collection license

include::./core/ATS_test_collection_license.adoc[]
include::./core/ATS_test_collection_license.adoc[]

==== Collection spatial extent

include::./core/ATS_test_collection_spatial_extent.adoc[]

==== Collection temporal extent

include::./core/ATS_test_collection_temporal_extent.adoc[]

==== CoverageJSON referencing

include::./core/ATS_test_coveragejson_referencing.adoc[]
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
[[ats_core_collection_spatial_extent]]
====
[%metadata]
label:: /conf/core/collection_spatial_extent
subject:: /req/core/collection_spatial_extent
test-purpose:: Validate that a RODEO EDR Profile API provides spatial extent in the correct crs.

[.component,class=test method]
=====

[.component,class=step]
--
Issue an HTTP GET request to path `/collections`.
--

[.component,class=step]
--
Check that the value of the returned HTTP status header is 200.
--

[.component,class=step]
--
In the response document, for each object in the `collections` array, check that the `extent.spatial.crs` property is set to `OGC:CRS84`.
--

[.component,class=step]
--
In the `collections` array, check that the `crs` property is set to `OGC:CRS84` for each object.
--

[.component,class=step]
--
For each object in `collections` array, for each object in the `data_queries` array, if `crs_details` is specified, check that one of the objects in the `crs_details` array has a `crs`` property set to `OGC:CRS84`.
havardf marked this conversation as resolved.
Show resolved Hide resolved
--

=====

====
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
[[ats_core_collection_temporal_extent]]
====
[%metadata]
label:: /conf/core/collection_temporal_extent
subject:: /req/core/collection_temporal_extent
test-purpose:: Validate that a RODEO EDR Profile API provides temporal extent in the correct trs.

[.component,class=test method]
=====

[.component,class=step]
--
Issue an HTTP GET request to path `/collections`.
--

[.component,class=step]
--
Check that the value of the returned HTTP status header is 200.
--

[.component,class=step]
--
In the response document, for each object in the `collections` array, check that the `extent.temporal.trs` property is set to `Gregorian`.
--

=====

====
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
[[ats_core_coveragejson_referencing]]
====
[%metadata]
label:: /conf/core/coveragejson_referencing
subject:: /req/core/coveragejson_referencing
test-purpose:: Validate that a RODEO EDR Profile API provides temporal extent in the correct trs.

[.component,class=test method]
=====

[.component,class=step]
--
Issue an HTTP GET request to path `/collections`.
--

[.component,class=step]
--
Check that the value of the returned HTTP status header is 200.
--

[.component,class=step]
--
For each object in the `collections` array, for each object in `data_queries`, issue a GET request with no crs query parameter specified.
--

[.component,class=step]
--
Check that the response is a CoverageJSON document where each object of `type` `Coverage` contains a `domain.referencing` array which includes an object where `system.type` is set to `GeographicCRS` and `system.id` set to `OGC:CRS84`.
--

[.component,class=step]
--
For each object in the `collections` array, for each object in `data_queries`, issue a GET request for each `crs_details` object where `crs` query parameter set to the value in the `crs_details` object.
--

[.component,class=step]
--
Check that the response is a CoverageJSON object where `domain.referencing` includes an object where `system.type` is set to `GeographicCRS` and `system.id` is equal to the crs query parameter.
--

=====

====
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@
^|*Requirement {counter:req-id}* |*/req/core/collection_spatial_extent*
^|A |The value of `extent.spatial.crs` SHALL be `OGC:CRS84`.
^|B |The value of `crs` SHALL include the element `OGC:CRS84`.
^|C |The value of `data_queries.*.crs_details` SHALL include an object whose `crs` value is `OGC:CRS84`.
^|C |If `crs_details` is specified for a `data_queries` object, the `crs_details` array SHALL include an object whose `crs` value is `OGC:CRS84`.
^|D |If a collection supports more CRSs than `OGC:CRS84`, these values SHOULD be presented on the syntax `EPSG:<code>` in `crs` and `data_queries.*.crs_details.crs` if an epsg code is available.
|===