Skip to content

Commit

Permalink
Merge pull request #406 from pvretano/issue-381
Browse files Browse the repository at this point in the history
Add "self" and "alternate" link requirements to the process summary and the process description.
  • Loading branch information
bpross-52n authored Apr 29, 2024
2 parents 1a54686 + d81491f commit d011fe9
Show file tree
Hide file tree
Showing 8 changed files with 80 additions and 0 deletions.
1 change: 1 addition & 0 deletions core/abstract_tests/ATS_class_core.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ conformance-test:: /conf/core/landingpage-success
conformance-test:: /conf/core/pl-limit-definition
conformance-test:: /conf/core/pl-limit-response
conformance-test:: /conf/core/pl-links
conformance-test:: /conf/core/process-summary-links
conformance-test:: /conf/core/process-description
conformance-test:: /conf/core/process-description-success
conformance-test:: /conf/core/process-exception-no-such-process
Expand Down
3 changes: 3 additions & 0 deletions core/abstract_tests/ATS_class_ogc-process-description.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,16 @@ conformance-test:: /conf/ogc-process-description/input-def
conformance-test:: /conf/ogc-process-description/input-mixed-type
conformance-test:: /conf/ogc-process-description/inputs-def
conformance-test:: /conf/ogc-process-description/json-encoding
conformance-test:: /conf/ogc-process-description/links
conformance-test:: /conf/ogc-process-description/output-def
conformance-test:: /conf/ogc-process-description/output-mixed-type
conformance-test:: /conf/ogc-process-description/outputs-def
====

include::ogc-process-description/ATS_json-encoding.adoc[]

include::ogc-process-description/ATS_links.adoc[]

include::ogc-process-description/ATS_inputs-def.adoc[]

include::ogc-process-description/ATS_input-def.adoc[]
Expand Down
18 changes: 18 additions & 0 deletions core/abstract_tests/core/ATS_process-summary-links.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
[[ats_core_process-summary-links]]

[abstract_test]
====
[%metadata]
identifier:: /conf/core/process-summary-links
target:: /req/core/process-summary-links
test-purpose:: Validate that the proper links are included in each process summary.
test-method::
+
--
1. Get a list of process summaries as per test <<ats_core_process-list-op,/conf/core/process-list-op>>.
2. Verify that the `links` section of each process summary of the response contains a link with `rel=self`.
3. Verify that the `links` section of each process summary of the response contains a link with `rel=alternate` for each response representation the service claims to support in its <<sc_conformance,conformance document>>.
--
====
18 changes: 18 additions & 0 deletions core/abstract_tests/ogc-process-description/ATS_links.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
[[ats_ogc-process-description_links]]

[abstract_test]
====
[%metadata]
identifier:: /conf/ogc-process-description/links
target:: /req/ogc-process-description/links
test-purpose:: Verify that an OGC Process Description includes the required links.
test-method::
+
--
1. Retrieve a description of each process according to test <<ats_core_process-description,/conf/core/process-description>>.
2. For each process, verify that the description includes a link (relation: `self`) pointing to itself.
3. If the server indicates that it supports other representations of the process description, verify that the description includes a link (relation: `alternate`) for each alternative representation of the process description.
--
====
18 changes: 18 additions & 0 deletions core/requirements/core/REQ_process-summary-links.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
[[req_core_process-summary-links]]
[requirement]
====
[%metadata]
identifier:: /req/core/process-summary-links
[.component,class=part]
--
Each process summary SHALL include a link (relation: `self`) that points to the full description of the process (path: `/processes/{processID}`).
--
[.component,class=part]
--
Each process summary SHALL include one or more links (relation: `alternate`) that points to each alternative representation of the full description of the process (path: `/processes/{processID}`).
--
====
18 changes: 18 additions & 0 deletions core/requirements/ogc-process-description/REQ_links.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
[[req_ogc-process-description_links]]
[requirement]
====
[%metadata]
identifier:: /req/ogc-process-description/links
[.component,class=part]
--
Each process description SHALL include a link (relation: `self`) that points to itself.
--
[.component,class=part]
--
Each process description SHALL include one or more links (relation: `alternate`) that points to each alternative representation of this process description.
--
====
2 changes: 2 additions & 0 deletions core/sections/clause_7_core.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -364,6 +364,8 @@ See the discussion about the `limit` parameter in the <<sc_limit_parameter,Limit

include::../requirements/core/REQ_process-list-links.adoc[]

include::../requirements/core/REQ_process-summary-links.adoc[]

See the discussion about the `next` links in the <<next-link-discussion,Limit parameter>> section.

include::../recommendations/core/REC_process-list-next-1.adoc[]
Expand Down
2 changes: 2 additions & 0 deletions core/sections/clause_8_ogc-process-description.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ The following clause defines a JSON-encoding of the OGC process description.

include::../requirements/ogc-process-description/REQ_json-encoding.adoc[]

include::../requirements/ogc-process-description/REQ_links.adoc[]

.Schema for a process
[source,yaml]
----
Expand Down

0 comments on commit d011fe9

Please sign in to comment.