From 24b464a0f66a85b515c852144f675721754d5f95 Mon Sep 17 00:00:00 2001 From: Panagiotis Vretanos Date: Sun, 12 Feb 2023 23:55:34 -0500 Subject: [PATCH 01/15] Patch missing label issues. --- core/recommendations/core/REC_http-head.adoc | 4 ---- core/recommendations/core/REC_job-status.adoc | 7 +++++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/core/recommendations/core/REC_http-head.adoc b/core/recommendations/core/REC_http-head.adoc index dc24da53..565b2126 100644 --- a/core/recommendations/core/REC_http-head.adoc +++ b/core/recommendations/core/REC_http-head.adoc @@ -4,9 +4,5 @@ [%metadata] label:: /rec/core/http-head -part:: -+ --- The server SHOULD support the HTTP 1.1 method HEAD for all resources that support the method GET. --- ==== diff --git a/core/recommendations/core/REC_job-status.adoc b/core/recommendations/core/REC_job-status.adoc index 459b58f6..37b04739 100644 --- a/core/recommendations/core/REC_job-status.adoc +++ b/core/recommendations/core/REC_job-status.adoc @@ -1,6 +1,9 @@ [[rec_core_job-status]] -[.recommendation,label="/rec/core/job-status"] +[recommendation] ==== +[%metadata] +label:: /rec/core/job-status + [.component,class=part] -- Servers SHOULD set the value of the `processID` field if it is known. @@ -25,4 +28,4 @@ Servers SHOULD set the value of the `finished` field when the execution of a job -- Whenever the `status` field of the job changes, servers SHOULD revise the value of the `updated` field. -- -==== \ No newline at end of file +==== From e0a507a1dfd07aae129b0d498be3b265a063e790 Mon Sep 17 00:00:00 2001 From: Panagiotis Vretanos Date: Mon, 20 Feb 2023 05:06:24 -0500 Subject: [PATCH 02/15] Realign abstract test with requirements. --- core/abstract_tests/ATS_class_callback.adoc | 5 +- core/abstract_tests/ATS_class_core.adoc | 92 ++++++++----------- core/abstract_tests/ATS_class_dismiss.adoc | 3 +- core/abstract_tests/ATS_class_html.adoc | 3 +- core/abstract_tests/ATS_class_job-list.adoc | 31 +++---- core/abstract_tests/ATS_class_json.adoc | 1 - core/abstract_tests/ATS_class_oas30.adoc | 3 +- .../ATS_class_ogc-process-description.adoc | 3 +- ...adoc => ATS_process-execute-callback.adoc} | 7 +- .../core/ATS_api-definition-op.adoc | 5 +- .../core/ATS_api-definition-success.adoc | 5 +- .../core/ATS_conformance-op.adoc | 5 +- .../core/ATS_conformance-success.adoc | 5 +- core/abstract_tests/core/ATS_http.adoc | 5 +- .../ATS_job-creation-auto-execution-mode.adoc | 41 --------- ...S_job-creation-default-execution-mode.adoc | 36 -------- .../ATS_job-creation-default-outputs.adoc | 36 -------- .../core/ATS_job-creation-input-array.adoc | 31 ------- .../ATS_job-creation-input-inline-bbox.adoc | 31 ------- .../ATS_job-creation-input-inline-binary.adoc | 31 ------- .../ATS_job-creation-input-inline-mixed.adoc | 31 ------- .../ATS_job-creation-input-inline-object.adoc | 32 ------- .../core/ATS_job-creation-input-inline.adoc | 27 ------ .../core/ATS_job-creation-input-ref.adoc | 26 ------ .../ATS_job-creation-input-validation.adoc | 42 --------- .../core/ATS_job-creation-inputs.adoc | 16 ---- .../core/ATS_job-creation-op.adoc | 27 ------ .../core/ATS_job-creation-success-async.adoc | 22 ----- ...TS_job-creation-success-sync-document.adoc | 31 ------- ...creation-success-sync-raw-mixed-multi.adoc | 41 --------- ...ATS_job-creation-success-sync-raw-ref.adoc | 31 ------- ...creation-success-sync-raw-value-multi.adoc | 31 ------- ...b-creation-success-sync-raw-value-one.adoc | 31 ------- .../core/ATS_job-creation-success.adoc | 43 --------- .../core/ATS_job-exception-no-such-job.adoc | 3 +- core/abstract_tests/core/ATS_job-op.adoc | 5 +- .../core/ATS_job-result-op.adoc | 20 ++++ ...ATS_job-results-exception-no-such-job.adoc | 3 +- ...b-results-exception-results-not-ready.adoc | 5 +- .../core/ATS_job-results-failed.adoc | 5 +- .../core/ATS_job-results-op.adoc | 13 ++- .../ATS_job-results-param-outputs-empty.adoc | 16 ++++ .../ATS_job-results-param-outputs-omit.adoc | 15 +++ ...TS_job-results-param-outputs-response.adoc | 15 +++ .../core/ATS_job-results-param-outputs.adoc | 16 ++++ ...TS_job-results-success-async-document.adoc | 61 ------------ .../ATS_job-results-success-async-many.adoc | 25 +++++ .../ATS_job-results-success-async-one.adoc | 29 ++++++ ...results-success-async-raw-mixed-multi.adoc | 73 --------------- ...ATS_job-results-success-async-raw-ref.adoc | 62 ------------- ...results-success-async-raw-value-multi.adoc | 62 ------------- ...b-results-success-async-raw-value-one.adoc | 63 ------------- .../core/ATS_job-results-success-sync.adoc | 9 +- .../core/ATS_job-results-success.adoc | 42 --------- core/abstract_tests/core/ATS_job-success.adoc | 3 +- .../core/ATS_landingpage-op.adoc | 3 +- .../core/ATS_landingpage-success.adoc | 3 +- ...p.adoc => ATS_process-description-op.adoc} | 3 +- ...c => ATS_process-description-success.adoc} | 3 +- ...ATS_process-exception-no-such-process.adoc | 3 +- ...S_process-execute-auto-execution-mode.adoc | 40 ++++++++ ...rocess-execute-default-execution-mode.adoc | 35 +++++++ .../ATS_process-execute-default-outputs.adoc | 35 +++++++ .../core/ATS_process-execute-input-array.adoc | 30 ++++++ ...ATS_process-execute-input-inline-bbox.adoc | 30 ++++++ ...S_process-execute-input-inline-binary.adoc | 30 ++++++ ...TS_process-execute-input-inline-mixed.adoc | 30 ++++++ ...S_process-execute-input-inline-object.adoc | 31 +++++++ .../ATS_process-execute-input-validation.adoc | 41 +++++++++ .../core/ATS_process-execute-inputs.adoc | 22 +++++ .../core/ATS_process-execute-op.adoc | 26 ++++++ ....adoc => ATS_process-execute-request.adoc} | 7 +- .../ATS_process-execute-success-async.adoc | 26 ++++++ ...rocess-execute-success-sync-many-json.adoc | 24 +++++ ...cute-success-sync-one-default-content.adoc | 31 +++++++ .../ATS_process-execute-success-sync-one.adoc | 31 +++++++ .../core/ATS_process-list-limit-def.adoc | 3 +- .../core/ATS_process-list-limit-response.adoc | 3 +- .../core/ATS_process-list-links.adoc | 3 +- .../core/ATS_process-list-op.adoc | 3 +- .../core/ATS_process-list-success.adoc | 3 +- .../abstract_tests/core/ATS_test-process.adoc | 7 ++ .../dismiss/ATS_job-dismiss-op.adoc | 5 +- .../dismiss/ATS_job-dismiss-success.adoc | 6 +- core/abstract_tests/html/ATS_content.adoc | 3 +- core/abstract_tests/html/ATS_definition.adoc | 3 +- .../job-list/ATS_datetime-def.adoc | 3 +- .../job-list/ATS_datetime-response.adoc | 3 +- .../job-list/ATS_duration-def.adoc | 3 +- .../job-list/ATS_duration-response.adoc | 3 +- .../job-list/ATS_jl-limit-def.adoc | 3 +- .../job-list/ATS_jl-limit-response.adoc | 3 +- .../abstract_tests/job-list/ATS_jl-links.adoc | 3 +- core/abstract_tests/job-list/ATS_op.adoc | 3 +- .../job-list/ATS_processid-def.adoc | 3 +- .../job-list/ATS_processid-mandatory.adoc | 3 +- .../job-list/ATS_processid-response.adoc | 3 +- .../job-list/ATS_status-def.adoc | 3 +- .../job-list/ATS_status-response.adoc | 3 +- core/abstract_tests/job-list/ATS_success.adoc | 3 +- .../abstract_tests/job-list/ATS_type-def.adoc | 3 +- .../job-list/ATS_type-response.adoc | 3 +- core/abstract_tests/json/ATS_definition.adoc | 3 +- .../oas30/ATS_completeness.adoc | 3 +- .../oas30/ATS_definition-1.adoc | 3 +- .../oas30/ATS_definition-2.adoc | 3 +- .../oas30/ATS_exception-codes.adoc | 3 +- core/abstract_tests/oas30/ATS_oas-impl.adoc | 3 +- core/abstract_tests/oas30/ATS_security.adoc | 3 +- .../ATS_input-def.adoc | 3 +- .../ATS_input-mixed-type.adoc | 3 +- .../ATS_inputs-def.adoc | 3 +- .../ATS_json-encoding.adoc | 3 +- .../ATS_output-def.adoc | 3 +- .../ATS_output-mixed-type.adoc | 3 +- .../ATS_outputs-def.adoc | 3 +- ...ocess-execute-honor-return-preference.adoc | 3 +- ...adoc => REQ_process-execute-callback.adoc} | 0 .../core/REQ_api-definition-op.adoc | 3 +- .../core/REQ_api-definition-success.adoc | 3 +- .../requirements/core/REQ_conformance-op.adoc | 3 +- .../core/REQ_conformance-success.adoc | 3 +- core/requirements/core/REQ_http.adoc | 3 +- .../core/REQ_job-exception-no-such-job.adoc | 1 - .../REQ_job-results-param-outputs-empty.adoc | 10 ++ ...REQ_process-execute-input-inline-bbox.adoc | 2 +- .../REQ_process-execute-success-async.adoc | 4 +- ...ute-success-sync-one-default-content.adoc} | 5 +- ...links.adoc => REQ_process-list-links.adoc} | 0 core/requirements/json/REQ_definition.adoc | 3 +- .../REQ_binary-input-value-qualified.adoc | 5 +- .../kvp-execute/REQ_binary-input-value.adoc | 5 +- core/requirements/kvp-execute/REQ_output.adoc | 1 + .../requirements_class_callback.adoc | 2 +- .../requirements_class_dismiss.adoc | 2 +- .../requirements_class_job-list.adoc | 2 +- .../requirements_class_oas30.adoc | 2 +- ...rements_class_ogc-process-description.adoc | 2 +- core/sections/clause_13_callback.adoc | 2 +- core/sections/clause_15_kvp-execute.adoc | 4 +- core/sections/clause_2_conformance.adoc | 4 +- core/sections/clause_5_conventions.adoc | 2 +- core/sections/clause_7_core.adoc | 41 ++++++--- .../ogcapppkg/REQ_process-description.adoc | 2 +- 144 files changed, 821 insertions(+), 1266 deletions(-) rename core/abstract_tests/callback/{ATS_job-creation-callback.adoc => ATS_process-execute-callback.adoc} (81%) delete mode 100644 core/abstract_tests/core/ATS_job-creation-auto-execution-mode.adoc delete mode 100644 core/abstract_tests/core/ATS_job-creation-default-execution-mode.adoc delete mode 100644 core/abstract_tests/core/ATS_job-creation-default-outputs.adoc delete mode 100644 core/abstract_tests/core/ATS_job-creation-input-array.adoc delete mode 100644 core/abstract_tests/core/ATS_job-creation-input-inline-bbox.adoc delete mode 100644 core/abstract_tests/core/ATS_job-creation-input-inline-binary.adoc delete mode 100644 core/abstract_tests/core/ATS_job-creation-input-inline-mixed.adoc delete mode 100644 core/abstract_tests/core/ATS_job-creation-input-inline-object.adoc delete mode 100644 core/abstract_tests/core/ATS_job-creation-input-inline.adoc delete mode 100644 core/abstract_tests/core/ATS_job-creation-input-ref.adoc delete mode 100644 core/abstract_tests/core/ATS_job-creation-input-validation.adoc delete mode 100644 core/abstract_tests/core/ATS_job-creation-inputs.adoc delete mode 100644 core/abstract_tests/core/ATS_job-creation-op.adoc delete mode 100644 core/abstract_tests/core/ATS_job-creation-success-async.adoc delete mode 100644 core/abstract_tests/core/ATS_job-creation-success-sync-document.adoc delete mode 100644 core/abstract_tests/core/ATS_job-creation-success-sync-raw-mixed-multi.adoc delete mode 100644 core/abstract_tests/core/ATS_job-creation-success-sync-raw-ref.adoc delete mode 100644 core/abstract_tests/core/ATS_job-creation-success-sync-raw-value-multi.adoc delete mode 100644 core/abstract_tests/core/ATS_job-creation-success-sync-raw-value-one.adoc delete mode 100644 core/abstract_tests/core/ATS_job-creation-success.adoc create mode 100644 core/abstract_tests/core/ATS_job-result-op.adoc create mode 100644 core/abstract_tests/core/ATS_job-results-param-outputs-empty.adoc create mode 100644 core/abstract_tests/core/ATS_job-results-param-outputs-omit.adoc create mode 100644 core/abstract_tests/core/ATS_job-results-param-outputs-response.adoc create mode 100644 core/abstract_tests/core/ATS_job-results-param-outputs.adoc delete mode 100644 core/abstract_tests/core/ATS_job-results-success-async-document.adoc create mode 100644 core/abstract_tests/core/ATS_job-results-success-async-many.adoc create mode 100644 core/abstract_tests/core/ATS_job-results-success-async-one.adoc delete mode 100644 core/abstract_tests/core/ATS_job-results-success-async-raw-mixed-multi.adoc delete mode 100644 core/abstract_tests/core/ATS_job-results-success-async-raw-ref.adoc delete mode 100644 core/abstract_tests/core/ATS_job-results-success-async-raw-value-multi.adoc delete mode 100644 core/abstract_tests/core/ATS_job-results-success-async-raw-value-one.adoc delete mode 100644 core/abstract_tests/core/ATS_job-results-success.adoc rename core/abstract_tests/core/{ATS_process-op.adoc => ATS_process-description-op.adoc} (93%) rename core/abstract_tests/core/{ATS_process-success.adoc => ATS_process-description-success.adoc} (96%) create mode 100644 core/abstract_tests/core/ATS_process-execute-auto-execution-mode.adoc create mode 100644 core/abstract_tests/core/ATS_process-execute-default-execution-mode.adoc create mode 100644 core/abstract_tests/core/ATS_process-execute-default-outputs.adoc create mode 100644 core/abstract_tests/core/ATS_process-execute-input-array.adoc create mode 100644 core/abstract_tests/core/ATS_process-execute-input-inline-bbox.adoc create mode 100644 core/abstract_tests/core/ATS_process-execute-input-inline-binary.adoc create mode 100644 core/abstract_tests/core/ATS_process-execute-input-inline-mixed.adoc create mode 100644 core/abstract_tests/core/ATS_process-execute-input-inline-object.adoc create mode 100644 core/abstract_tests/core/ATS_process-execute-input-validation.adoc create mode 100644 core/abstract_tests/core/ATS_process-execute-inputs.adoc create mode 100644 core/abstract_tests/core/ATS_process-execute-op.adoc rename core/abstract_tests/core/{ATS_job-creation-request.adoc => ATS_process-execute-request.adoc} (69%) create mode 100644 core/abstract_tests/core/ATS_process-execute-success-async.adoc create mode 100644 core/abstract_tests/core/ATS_process-execute-success-sync-many-json.adoc create mode 100644 core/abstract_tests/core/ATS_process-execute-success-sync-one-default-content.adoc create mode 100644 core/abstract_tests/core/ATS_process-execute-success-sync-one.adoc create mode 100644 core/abstract_tests/core/ATS_test-process.adoc rename core/requirements/callback/{REQ_job-creation-callback.adoc => REQ_process-execute-callback.adoc} (100%) create mode 100644 core/requirements/core/REQ_job-results-param-outputs-empty.adoc rename core/requirements/core/{REQ_process-execute-success-sync-one-content.adoc => REQ_process-execute-success-sync-one-default-content.adoc} (88%) rename core/requirements/core/{REQ_links.adoc => REQ_process-list-links.adoc} (100%) diff --git a/core/abstract_tests/ATS_class_callback.adoc b/core/abstract_tests/ATS_class_callback.adoc index 30e8d3c8..19d54fac 100644 --- a/core/abstract_tests/ATS_class_callback.adoc +++ b/core/abstract_tests/ATS_class_callback.adoc @@ -1,5 +1,4 @@ -[[ats_callback]] -[conformance_class] +[[ats_callback]][conformance_class] ==== [%metadata] label:: http://www.opengis.net/spec/ogcapi-processes-1/1.0/conf/callback @@ -7,4 +6,4 @@ subject:: <> classification:: Target Type:Web API ==== -include::callback/ATS_job-creation-callback.adoc[] +include::callback/ATS_process-execute-callback.adoc[] diff --git a/core/abstract_tests/ATS_class_core.adoc b/core/abstract_tests/ATS_class_core.adoc index 0ef12a6e..a93abd2c 100644 --- a/core/abstract_tests/ATS_class_core.adoc +++ b/core/abstract_tests/ATS_class_core.adoc @@ -1,5 +1,4 @@ -[[ats_core]] -[conformance_class] +[[ats_core]][conformance_class] ==== [%metadata] label:: http://www.opengis.net/spec/ogcapi-processes-1/1.0/conf/core @@ -7,97 +6,86 @@ subject:: <> classification:: Target Type:Web API ==== -==== Landing Page / + +=== Retrieve the API landing page include::core/ATS_landingpage-op.adoc[] include::core/ATS_landingpage-success.adoc[] -==== API Definition /api +=== Retrieve an API definition include::core/ATS_api-definition-op.adoc[] include::core/ATS_api-definition-success.adoc[] -==== Conformance Path /conformance +=== Declaration of conformance classes include::core/ATS_conformance-op.adoc[] include::core/ATS_conformance-success.adoc[] -==== HTTP 1.1 +=== Use of HTTP 1.1 include::core/ATS_http.adoc[] -==== Processes /processes - -===== Process list +=== Retrieve a process list include::core/ATS_process-list-op.adoc[] include::core/ATS_process-list-limit-def.adoc[] +include::core/ATS_process-list-limit-response.adoc[] + include::core/ATS_process-list-success.adoc[] include::core/ATS_process-list-links.adoc[] -include::core/ATS_process-list-limit-response.adoc[] - -===== Process description /processes/{processID} +=== Retrieve a process description -include::core/ATS_process-op.adoc[] +include::core/ATS_process-description-op.adoc[] -include::core/ATS_process-success.adoc[] - -===== Process exception +include::core/ATS_process-description-success.adoc[] include::core/ATS_process-exception-no-such-process.adoc[] -==== Jobs - -===== Job creation /processes/{processID}/execution +=== Execute a process -include::core/ATS_job-creation-op.adoc[] +include::core/ATS_process-execute-op.adoc[] -include::core/ATS_job-creation-auto-execution-mode.adoc[] +include::core/ATS_process-execute-request.adoc[] -include::core/ATS_job-creation-default-execution-mode.adoc[] +include::core/ATS_process-execute-inputs.adoc[] -include::core/ATS_job-creation-request.adoc[] +include::core/ATS_process-execute-input-array.adoc[] -include::core/ATS_job-creation-inputs.adoc[] +include::core/ATS_process-execute-input-inline-object.adoc[] -include::core/ATS_job-creation-input-inline.adoc[] +include::core/ATS_process-execute-input-inline-mixed.adoc[] -include::core/ATS_job-creation-input-ref.adoc[] +include::core/ATS_process-execute-input-inline-binary.adoc[] -include::core/ATS_job-creation-input-array.adoc[] +include::core/ATS_process-execute-input-inline-bbox.adoc[] -include::core/ATS_job-creation-input-inline-object.adoc[] +include::core/ATS_process-execute-input-validation.adoc[] -include::core/ATS_job-creation-input-inline-mixed.adoc[] +include::core/ATS_process-execute-default-execution-mode.adoc[] -include::core/ATS_job-creation-input-inline-binary.adoc[] +include::core/ATS_process-execute-auto-execution-mode.adoc[] -include::core/ATS_job-creation-input-inline-bbox.adoc[] +include::core/ATS_process-execute-default-outputs.adoc[] -include::core/ATS_job-creation-input-validation.adoc[] +include::core/ATS_process-execute-success-sync-one.adoc[] -include::core/ATS_job-creation-success.adoc[] +include::core/ATS_process-execute-success-sync-one-default-content.adoc[] -include::core/ATS_job-creation-success-sync-raw-value-one.adoc[] +include::core/ATS_process-execute-success-sync-many-json.adoc[] -include::core/ATS_job-creation-success-sync-raw-value-multi.adoc[] - -include::core/ATS_job-creation-success-sync-raw-ref.adoc[] - -include::core/ATS_job-creation-success-sync-raw-mixed-multi.adoc[] - -include::core/ATS_job-creation-success-sync-document.adoc[] +include::core/ATS_job-results-success-sync.adoc[] -include::core/ATS_job-creation-success-async.adoc[] +include::core/ATS_process-execute-success-async.adoc[] -===== Job status /jobs/{jobID} +=== Retrieve status information about a job include::core/ATS_job-op.adoc[] @@ -105,23 +93,23 @@ include::core/ATS_job-success.adoc[] include::core/ATS_job-exception-no-such-job.adoc[] -===== Job results /jobs/{jobID}/results +=== Retrieve job results -include::core/ATS_job-results-op.adoc[] +include::core/ATS_job-result-op.adoc[] -include::core/ATS_job-results-success.adoc[] +include::core/ATS_job-results-op.adoc[] -include::core/ATS_job-results-success-sync.adoc[] +include::core/ATS_job-results-param-outputs.adoc[] -include::core/ATS_job-results-success-async-raw-value-one.adoc[] +include::core/ATS_job-results-param-outputs-response.adoc[] -include::core/ATS_job-results-success-async-raw-value-multi.adoc[] +include::core/ATS_job-results-param-outputs-omit.adoc[] -include::core/ATS_job-results-success-async-raw-ref.adoc[] +include::core/ATS_job-results-param-outputs-empty.adoc[] -include::core/ATS_job-results-success-async-raw-mixed-multi.adoc[] +include::core/ATS_job-results-success-async-one.adoc[] -include::core/ATS_job-results-success-async-document.adoc[] +include::core/ATS_job-results-success-async-many.adoc[] include::core/ATS_job-results-exception-no-such-job.adoc[] diff --git a/core/abstract_tests/ATS_class_dismiss.adoc b/core/abstract_tests/ATS_class_dismiss.adoc index 230a69d5..f6d0ece0 100644 --- a/core/abstract_tests/ATS_class_dismiss.adoc +++ b/core/abstract_tests/ATS_class_dismiss.adoc @@ -1,5 +1,4 @@ -[[ats_dismiss]] -[conformance_class] +[[ats_dismiss]][conformance_class] ==== [%metadata] label:: http://www.opengis.net/spec/ogcapi-processes-1/1.0/conf/dismiss diff --git a/core/abstract_tests/ATS_class_html.adoc b/core/abstract_tests/ATS_class_html.adoc index 16c4613b..7cfcac1d 100644 --- a/core/abstract_tests/ATS_class_html.adoc +++ b/core/abstract_tests/ATS_class_html.adoc @@ -1,5 +1,4 @@ -[[ats_html]] -[conformance_class] +[[ats_html]][conformance_class] ==== [%metadata] label:: http://www.opengis.net/spec/ogcapi-processes-1/1.0/conf/dismiss diff --git a/core/abstract_tests/ATS_class_job-list.adoc b/core/abstract_tests/ATS_class_job-list.adoc index 9b6ae06f..487181d8 100644 --- a/core/abstract_tests/ATS_class_job-list.adoc +++ b/core/abstract_tests/ATS_class_job-list.adoc @@ -1,5 +1,4 @@ -[[ats_job-list]] -[conformance_class] +[[ats_job-list]][conformance_class] ==== [%metadata] label:: http://www.opengis.net/spec/ogcapi-processes-1/1.0/conf/job-list @@ -11,30 +10,30 @@ include::job-list/ATS_op.adoc[] include::job-list/ATS_type-def.adoc[] -include::job-list/ATS_processid-def.adoc[] - -include::job-list/ATS_status-def.adoc[] - -include::job-list/ATS_datetime-def.adoc[] - -include::job-list/ATS_duration-def.adoc[] - -include::job-list/ATS_jl-limit-def.adoc[] - -include::job-list/ATS_success.adoc[] - -include::job-list/ATS_jl-links.adoc[] - include::job-list/ATS_type-response.adoc[] include::job-list/ATS_processid-mandatory.adoc[] +include::job-list/ATS_processid-def.adoc[] + include::job-list/ATS_processid-response.adoc[] +include::job-list/ATS_status-def.adoc[] + include::job-list/ATS_status-response.adoc[] +include::job-list/ATS_datetime-def.adoc[] + include::job-list/ATS_datetime-response.adoc[] +include::job-list/ATS_duration-def.adoc[] + include::job-list/ATS_duration-response.adoc[] +include::job-list/ATS_jl-limit-def.adoc[] + include::job-list/ATS_jl-limit-response.adoc[] + +include::job-list/ATS_success.adoc[] + +include::job-list/ATS_jl-links.adoc[] diff --git a/core/abstract_tests/ATS_class_json.adoc b/core/abstract_tests/ATS_class_json.adoc index e11bf67b..9d40bf19 100644 --- a/core/abstract_tests/ATS_class_json.adoc +++ b/core/abstract_tests/ATS_class_json.adoc @@ -1,4 +1,3 @@ -[[ats_json]] [conformance_class] ==== [%metadata] diff --git a/core/abstract_tests/ATS_class_oas30.adoc b/core/abstract_tests/ATS_class_oas30.adoc index 5d87f4ef..c1df2fe0 100644 --- a/core/abstract_tests/ATS_class_oas30.adoc +++ b/core/abstract_tests/ATS_class_oas30.adoc @@ -1,5 +1,4 @@ -[[ats_oas30]] -[conformance_class] +[[ats_oas30]][conformance_class] ==== [%metadata] label:: http://www.opengis.net/spec/ogcapi-processes-1/1.0/conf/oas30 diff --git a/core/abstract_tests/ATS_class_ogc-process-description.adoc b/core/abstract_tests/ATS_class_ogc-process-description.adoc index 81971bf2..d464df89 100644 --- a/core/abstract_tests/ATS_class_ogc-process-description.adoc +++ b/core/abstract_tests/ATS_class_ogc-process-description.adoc @@ -1,5 +1,4 @@ -[[ats_ogc-process-description]] -[conformance_class] +[[ats_ogc-process-description]][conformance_class] ==== [%metadata] label:: http://www.opengis.net/spec/ogcapi-processes-1/1.0/conf/ogc-process-description diff --git a/core/abstract_tests/callback/ATS_job-creation-callback.adoc b/core/abstract_tests/callback/ATS_process-execute-callback.adoc similarity index 81% rename from core/abstract_tests/callback/ATS_job-creation-callback.adoc rename to core/abstract_tests/callback/ATS_process-execute-callback.adoc index 1a640f81..fa16ce7a 100644 --- a/core/abstract_tests/callback/ATS_job-creation-callback.adoc +++ b/core/abstract_tests/callback/ATS_process-execute-callback.adoc @@ -1,5 +1,4 @@ -[[ats_callback_job-callback]] -[abstract_test] +[[ats_callback_job-callback]][abstract_test] ==== [%metadata] label:: /conf/callback/job-callback @@ -20,7 +19,7 @@ Create an asynchronous execute request that includes the optional `subscriber` k [.component,class=step] -- -Execute the asynchronous job using test <>. +Execute the asynchronous job using test <>. -- [.component,class=step] @@ -28,4 +27,4 @@ Execute the asynchronous job using test <>. -- ===== -==== \ No newline at end of file +==== diff --git a/core/abstract_tests/core/ATS_api-definition-success.adoc b/core/abstract_tests/core/ATS_api-definition-success.adoc index ab28b10f..693644c0 100644 --- a/core/abstract_tests/core/ATS_api-definition-success.adoc +++ b/core/abstract_tests/core/ATS_api-definition-success.adoc @@ -1,5 +1,4 @@ -[[ats_core_api-definition-success]] -[abstract_test] +[[ats_core_api-definition-success]][abstract_test] ==== [%metadata] label:: /conf/core/api-definition-success @@ -18,4 +17,4 @@ Validate that a document was returned with a status code 200 Validate the API Definition document against an appropriate schema document. -- ===== -==== \ No newline at end of file +==== diff --git a/core/abstract_tests/core/ATS_conformance-op.adoc b/core/abstract_tests/core/ATS_conformance-op.adoc index 44769a39..db923d28 100644 --- a/core/abstract_tests/core/ATS_conformance-op.adoc +++ b/core/abstract_tests/core/ATS_conformance-op.adoc @@ -1,5 +1,4 @@ -[[ats_core_conformance-op]] -[abstract_test] +[[ats_core_conformance-op]][abstract_test] ==== [%metadata] label:: /conf/core/conformance-op @@ -23,4 +22,4 @@ Issue an HTTP GET request on each path Validate the contents of the returned document using test <>. -- ===== -==== \ No newline at end of file +==== diff --git a/core/abstract_tests/core/ATS_conformance-success.adoc b/core/abstract_tests/core/ATS_conformance-success.adoc index 5d2bb349..1f40390e 100644 --- a/core/abstract_tests/core/ATS_conformance-success.adoc +++ b/core/abstract_tests/core/ATS_conformance-success.adoc @@ -1,5 +1,4 @@ -[[ats_core_conformance-success]] -[abstract_test] +[[ats_core_conformance-success]][abstract_test] ==== [%metadata] label:: /conf/core/conformance-success @@ -28,4 +27,4 @@ Validate that the document includes the conformance class "http://www.opengis.ne Validate that the document list all OGC API conformance classes that the API implements. -- ===== -==== \ No newline at end of file +==== diff --git a/core/abstract_tests/core/ATS_http.adoc b/core/abstract_tests/core/ATS_http.adoc index 23ddd4e6..061dbcf5 100644 --- a/core/abstract_tests/core/ATS_http.adoc +++ b/core/abstract_tests/core/ATS_http.adoc @@ -1,5 +1,4 @@ -[[ats_core_http]] -[abstract_test] +[[ats_core_http]][abstract_test] ==== [%metadata] label:: /conf/core/http @@ -18,4 +17,4 @@ All compliance tests SHALL be configured to use the HTTP 1.1 protocol exclusivel For APIs which support HTTPS, all compliance tests SHALL be configured to use <> (RFC 2818) with their HTTP 1.1 protocol. -- ===== -==== \ No newline at end of file +==== diff --git a/core/abstract_tests/core/ATS_job-creation-auto-execution-mode.adoc b/core/abstract_tests/core/ATS_job-creation-auto-execution-mode.adoc deleted file mode 100644 index c21a3ca0..00000000 --- a/core/abstract_tests/core/ATS_job-creation-auto-execution-mode.adoc +++ /dev/null @@ -1,41 +0,0 @@ -[[ats_core_job-creation-auto-execution-mode]] -[abstract_test] -==== -[%metadata] -label:: /conf/core/job-creation-auto-execution-mode -subject:: <> -test-purpose:: Validate that the server correctly handles the execution mode for a process. - -[.component,class=test method] -===== -[.component,class=step] --- -Get a description of each process offered by the server using test <>. --- - -[.component,class=step] --- -Inspect the description of each process and take note of the job control options for the process. --- - -[.component,class=step] --- -Setting the HTTP `Prefer` header to include the `respond-sync` preference, construct an execute request according to test <>. --- - -[.component,class=step] --- -For processes that are supposed to execute asynchronously according to the <> requirement, verify the successful execution according to the <> test. --- - -[.component,class=step] --- -For processes that are supposed to execute synchronously according to the <> requirement, verify the successful execution according to the <> --- - -[.component,class=step] --- -For processes that may execute either synchronously or asynchronously according to the <> requirement, verify that successful execution according to the <> --- -===== -==== \ No newline at end of file diff --git a/core/abstract_tests/core/ATS_job-creation-default-execution-mode.adoc b/core/abstract_tests/core/ATS_job-creation-default-execution-mode.adoc deleted file mode 100644 index f5ad520f..00000000 --- a/core/abstract_tests/core/ATS_job-creation-default-execution-mode.adoc +++ /dev/null @@ -1,36 +0,0 @@ -[[ats_core_job-creation-default-execution-mode]] -[abstract_test] -==== -[%metadata] -label:: /conf/core/job-creation-default-execution-mode -subject:: <> -test-purpose:: Validate that the server correctly handles the default execution mode for a process. - -[.component,class=test method] -===== -[.component,class=step] --- -Get a description of each process offered by the server using test <>. --- - -[.component,class=step] --- -Inspect the description of each process and take note of the job control options for the process. --- - -[.component,class=step] --- -Without setting the HTTP `Prefer` header, construct an execute request according to test <>. --- - -[.component,class=step] --- -For processes that are supposed to execute asynchronously according to the <> requirement, verify the successful execution according to the <> test. --- - -[.component,class=step] --- -For processes that are supposed to execute synchronously according to the <> requirement, verify the successful synchronous execution according to the <> --- -===== -==== diff --git a/core/abstract_tests/core/ATS_job-creation-default-outputs.adoc b/core/abstract_tests/core/ATS_job-creation-default-outputs.adoc deleted file mode 100644 index c6ea7da9..00000000 --- a/core/abstract_tests/core/ATS_job-creation-default-outputs.adoc +++ /dev/null @@ -1,36 +0,0 @@ -[[ats_core_job-creation-default-outputs]] -[abstract_test] -==== -[%metadata] -label:: /conf/core/job-creation-default-outputs -subject:: <> -test-purpose:: Validate that the server correctly handles the case where no `outputs` parameter is specified on an execute request. - -[.component,class=test method] -===== -[.component,class=step] --- -Get a description of each process offered by the server using test <>. --- - -[.component,class=step] --- -Inspect the description of each process taking note of the definition of each process output. --- - -[.component,class=step] --- -For each process construct an execute request according to test <> taking care to omit the `outputs` parameter. --- - -[.component,class=step] --- -Verify that each processes executed successfully according to the <> --- - -[.component,class=step] --- -Verify that each process includes all the outputs, as defined in the <>, in the response. --- -===== -==== \ No newline at end of file diff --git a/core/abstract_tests/core/ATS_job-creation-input-array.adoc b/core/abstract_tests/core/ATS_job-creation-input-array.adoc deleted file mode 100644 index dd38c8c4..00000000 --- a/core/abstract_tests/core/ATS_job-creation-input-array.adoc +++ /dev/null @@ -1,31 +0,0 @@ -[[ats_core_job-creation-input-array]] -[abstract_test] -==== -[%metadata] -label:: /conf/core/job-creation-input-array -subject:: <> -test-purpose:: Verify that the server correctly recognizes the encoding of parameter values for input parameters with a maximum cardinality greater than one. - -[.component,class=test method] -===== -[.component,class=step] --- -Get a description of each process offered by the server using test <>. --- - -[.component,class=step] --- -Inspect the description of each process and identify the list of processes that have inputs with a maximum cardinality greater that one. --- - -[.component,class=step] --- -For each identified process construct an execute request according to test <> taking care to encode the inputs with maximum cardinality > 1 according to the requirement <>. --- - -[.component,class=step] --- -Verify that each process executes successfully according to the <> --- -===== -==== \ No newline at end of file diff --git a/core/abstract_tests/core/ATS_job-creation-input-inline-bbox.adoc b/core/abstract_tests/core/ATS_job-creation-input-inline-bbox.adoc deleted file mode 100644 index 059fd3cc..00000000 --- a/core/abstract_tests/core/ATS_job-creation-input-inline-bbox.adoc +++ /dev/null @@ -1,31 +0,0 @@ -[[ats_core_job-creation-input-inline-bbox]] -[abstract_test] -==== -[%metadata] -label:: /conf/core/job-creation-input-inline-bbox -subject:: <> -test-purpose:: Validate that inputs with a bounding box schema encoded in-line in an execute request are correctly processed. - -[.component,class=test method] -===== -[.component,class=step] --- -Get a description of each process offered by the server using test <>. --- - -[.component,class=step] --- -Inspect the description of each process and identify the subset of processes that have bounding box inputs that are supposed to conform to the https://raw.githubusercontent.com/opengeospatial/ogcapi-processes/master/core/openapi/schemas/bbox.yaml[bbox.yaml] schema. --- - -[.component,class=step] --- -For each identified process construct an execute request according to test <> taking care to encode values for the identified bounding box inputs in-line in the execute request. --- - -[.component,class=step] --- -Verify that each process executes successfully according to the <>. --- -===== -==== \ No newline at end of file diff --git a/core/abstract_tests/core/ATS_job-creation-input-inline-binary.adoc b/core/abstract_tests/core/ATS_job-creation-input-inline-binary.adoc deleted file mode 100644 index a4993a90..00000000 --- a/core/abstract_tests/core/ATS_job-creation-input-inline-binary.adoc +++ /dev/null @@ -1,31 +0,0 @@ -[[ats_core_job-creation-input-inline-binary]] -[abstract_test] -==== -[%metadata] -label:: /conf/core/job-creation-input-inline-binary -subject:: <> -test-purpose:: Validate that binary input values encoded as base-64 string in-line in an execute request are correctly processes. - -[.component,class=test method] -===== -[.component,class=step] --- -Get a description of each process offered by the server using test <>. --- - -[.component,class=step] --- -Inspect the description of each process and identify the subset of processes that have binary inputs. --- - -[.component,class=step] --- -For each identified process construct an execute request according to test <> taking care to encode binary input values in-line in the execute request according to requirement <>. --- - -[.component,class=step] --- -Verify that each process executes successfully according to the <> --- -===== -==== \ No newline at end of file diff --git a/core/abstract_tests/core/ATS_job-creation-input-inline-mixed.adoc b/core/abstract_tests/core/ATS_job-creation-input-inline-mixed.adoc deleted file mode 100644 index 24e67ffb..00000000 --- a/core/abstract_tests/core/ATS_job-creation-input-inline-mixed.adoc +++ /dev/null @@ -1,31 +0,0 @@ -[[ats_core_job-creation-input-inline-mixed]] -[abstract_test] -==== -[%metadata] -label:: /conf/core/job-creation-input-inline-mixed -subject:: <> -test-purpose:: Validate that inputs of mixed content encoded in-line in an execute request are correctly processed. - -[.component,class=test method] -===== -[.component,class=step] --- -Get a description of each process offered by the server using test <>. --- - -[.component,class=step] --- -Inspect the description of each process and identify the subset of processes that have inputs of mixed content using the `oneOf[]` JSON Schema construct to define several alternate input value schemas. --- - -[.component,class=step] --- -For each identified process construct an execute request according to test <> taking care to encode the identified mix-content inputs in-line in the execute request according to requirement <>. --- - -[.component,class=step] --- -Verify that each process executes successfully according to the <> --- -===== -==== \ No newline at end of file diff --git a/core/abstract_tests/core/ATS_job-creation-input-inline-object.adoc b/core/abstract_tests/core/ATS_job-creation-input-inline-object.adoc deleted file mode 100644 index 3f88b1d0..00000000 --- a/core/abstract_tests/core/ATS_job-creation-input-inline-object.adoc +++ /dev/null @@ -1,32 +0,0 @@ -[[ats_core_job-creation-input-inline-object]] -[abstract_test] -==== -[%metadata] -label:: /conf/core/job-creation-input-inline-object -subject:: <> -test-purpose:: Validate that inputs with a complex object schema encoded in-line in an execute request are correctly processed. - -[.component,class=test method] -===== -[.component,class=step] --- -Get a description of each process offered by the server using test <>. --- - -[.component,class=step] --- -Inspect the description of each process and identify the subset of processes that have inputs with complex `object schemas (i.e. inputs of type `object`). --- - -[.component,class=step] --- -For each identified process construct an execute request according to test <> taking care to encode the identified object inputs in-line in the execute request according to requirement <>. --- - -[.component,class=step] --- -Verify that each process executes successfully according to the <> --- -===== -==== - diff --git a/core/abstract_tests/core/ATS_job-creation-input-inline.adoc b/core/abstract_tests/core/ATS_job-creation-input-inline.adoc deleted file mode 100644 index bbdb1fdd..00000000 --- a/core/abstract_tests/core/ATS_job-creation-input-inline.adoc +++ /dev/null @@ -1,27 +0,0 @@ -[[ats_core_job-creation-input-inline]] -[abstract_test] -==== -[%metadata] -label:: /conf/core/job-creation-input-inline -subject:: <> -test-purpose:: Validate in-line process input values are validated against the corresponding schema from the process description. - -[.component,class=test method] -===== - -[.component,class=step] --- -Get a description of each process offered by the server using test <>. --- - -[.component,class=step] --- -For each process construct an execute request according to test <> taking care to encode process inputs in-line with the execute request according to the requirement <>. --- - -[.component,class=step] --- -Verify that each process executes successfully according to the <> --- -===== -==== diff --git a/core/abstract_tests/core/ATS_job-creation-input-ref.adoc b/core/abstract_tests/core/ATS_job-creation-input-ref.adoc deleted file mode 100644 index af8745d2..00000000 --- a/core/abstract_tests/core/ATS_job-creation-input-ref.adoc +++ /dev/null @@ -1,26 +0,0 @@ -[[ats_core_job-creation-input-ref]] -[abstract_test] -==== -[%metadata] -label:: /conf/core/job-creation-input-ref -subject:: <> -test-purpose:: Validate that input values specified by reference in an execute request are correctly processed. - -[.component,class=test method] -===== -[.component,class=step] --- -Get a description of each process offered by the server using test <>. --- - -[.component,class=step] --- -For each identified process construct an execute request according to test <> taking care to encode input values by reference according to requirement <>. --- - -[.component,class=step] --- -Verify that each process executes successfully according to the <> --- -===== -==== diff --git a/core/abstract_tests/core/ATS_job-creation-input-validation.adoc b/core/abstract_tests/core/ATS_job-creation-input-validation.adoc deleted file mode 100644 index 220c3d31..00000000 --- a/core/abstract_tests/core/ATS_job-creation-input-validation.adoc +++ /dev/null @@ -1,42 +0,0 @@ -[[ats_core_job-creation-input-validation]] -[abstract_test] -==== -[%metadata] -label:: /conf/core/job-creation-input-validation -subject:: <> -test-purpose:: Verify that the server correctly validates process input values according to the definition obtained from the <>. - -[.component,class=test method] -===== - -[.component,class=step] --- -Get a description of each process offered by the server using test <>. --- - -[.component,class=step] --- -Inspect the description of each process taking note of the definition of each process input and specifically the schema of each process input. --- - -[.component,class=step] --- -For each process construct an execute request according to test <> taking care to encode the input values according to the schema from the definition of each input. --- - -[.component,class=step] --- -Verify that each process executes successfully according to the <> --- - -[.component,class=step] --- -For each process construct an execute request according to test <> taking care to encode some of the input values in violation of the schema from the definition of the selected input. --- - -[.component,class=step] --- -Verify that each process generates an exception report that identifies the improperly specified input value(s). --- -===== -==== diff --git a/core/abstract_tests/core/ATS_job-creation-inputs.adoc b/core/abstract_tests/core/ATS_job-creation-inputs.adoc deleted file mode 100644 index 2195c794..00000000 --- a/core/abstract_tests/core/ATS_job-creation-inputs.adoc +++ /dev/null @@ -1,16 +0,0 @@ -[[ats_core_job-creation-inputs]] -[abstract_test] -==== -[%metadata] -label:: /conf/core/job-creation-inputs -subject:: <> -test-purpose:: Validate that servers can accept input values both inline and by reference. - -[.component,class=test method] -===== -[.component,class=step] --- -Verify that the server passes tests <> and <> . --- -===== -==== diff --git a/core/abstract_tests/core/ATS_job-creation-op.adoc b/core/abstract_tests/core/ATS_job-creation-op.adoc deleted file mode 100644 index ef320e1c..00000000 --- a/core/abstract_tests/core/ATS_job-creation-op.adoc +++ /dev/null @@ -1,27 +0,0 @@ -[[ats_core_job-creation-op]] -[abstract_test] -==== -[%metadata] -label:: /conf/core/job-creation-op -subject:: <> -test-purpose:: Validate the creation of a new job. - -[.component,class=test method] -===== - -[.component,class=step] --- -Issue an HTTP POST request to the URL '/processes/{processID}/execution' for each execution mode according to requirements <> or <>. --- - -[.component,class=step] --- -Validate the contents of the POST request using the test <>. --- - -[.component,class=step] --- -Validate the creation of the job according the requirements <>, <>. --- -===== -==== diff --git a/core/abstract_tests/core/ATS_job-creation-success-async.adoc b/core/abstract_tests/core/ATS_job-creation-success-async.adoc deleted file mode 100644 index 7b208152..00000000 --- a/core/abstract_tests/core/ATS_job-creation-success-async.adoc +++ /dev/null @@ -1,22 +0,0 @@ -[[ats_core_job-creation-success-async]] -[abstract_test] -==== -[%metadata] -label:: /conf/core/job-creation-success-async -subject:: <> -test-purpose:: Validate the results of a job that has been created using the `async` execution mode. - -[.component,class=test method] -===== - -[.component,class=step] --- -Validate that results of the job was returned with an HTTP status code 201. --- - -[.component,class=step] --- -Validate the HTTP headers of the results using the test <>. --- -===== -==== diff --git a/core/abstract_tests/core/ATS_job-creation-success-sync-document.adoc b/core/abstract_tests/core/ATS_job-creation-success-sync-document.adoc deleted file mode 100644 index 6ae5aa03..00000000 --- a/core/abstract_tests/core/ATS_job-creation-success-sync-document.adoc +++ /dev/null @@ -1,31 +0,0 @@ -[[ats_core_job-creation-sync-document]] -[abstract_test] -==== -[%metadata] -label:: /conf/core/job-creation-sync-document -subject:: <> -test-purpose:: Validate that the server responds as expected when synchronous execution is <> and the response type is `document`. - -[.component,class=test method] -===== -[.component,class=step] --- -Get a description of each process offered by the server using test <>. --- - -[.component,class=step] --- -Inspect the description of each process and identify the subset of processes that support the `sync-execute` job control option. --- - -[.component,class=step] --- -For each identified process construct an execute request according to test <> ensuring that synchronous execution has been <> according to tests <> and the requested response type is `document` (i.e. `"response": "document"`) according to requirement <>. --- - -[.component,class=step] --- -Verify that each process executes successfully according to requirement <>. --- -===== -==== diff --git a/core/abstract_tests/core/ATS_job-creation-success-sync-raw-mixed-multi.adoc b/core/abstract_tests/core/ATS_job-creation-success-sync-raw-mixed-multi.adoc deleted file mode 100644 index b27f099a..00000000 --- a/core/abstract_tests/core/ATS_job-creation-success-sync-raw-mixed-multi.adoc +++ /dev/null @@ -1,41 +0,0 @@ -[[ats_core_job-creation-sync-raw-mixed-multi]] -[abstract_test] -==== -[%metadata] -label:: /conf/core/job-creation-sync-raw-mixed-multi -subject:: <> -test-purpose:: Validate that the server responds as expected when synchronous execution is <>, the response type is `raw` and the output transmission is a mix of `value` and `reference`. - -[.component,class=test method] -===== -[.component,class=step] --- -Get a description of each process offered by the server using test <>. --- - -[.component,class=step] --- -Inspect the description of each process and identify the subset of processes that generate more that one output and support the `sync-execute` job control option. --- - -[.component,class=step] --- -For each identified process construct an execute request according to test <> ensuring that synchronous execution is <> according to test <>, that more than one output is requested, that the requested response type is `raw` (i.e. `"response": "raw"`) and the the transmission mode is a mix of `value` (i.e. `"transmissionMode": "value"`) and reference (i.e. `"transmissionMode": "reference"`) according to requirement <>. --- - -[.component,class=step] --- -Verify that each process executes successfully according to requirement <>. --- - -[.component,class=step] --- -For each output requested with `"transmissionMode": "value"` verify that the body of the corresponding part contains the output value. --- - -[.component,class=step] --- -For each output requested with `"transmissionMode": "reference"` verify that the body of the corresponding part is empty and the `Content-Location` header is included that points to the output value. --- -===== -==== diff --git a/core/abstract_tests/core/ATS_job-creation-success-sync-raw-ref.adoc b/core/abstract_tests/core/ATS_job-creation-success-sync-raw-ref.adoc deleted file mode 100644 index 9c942b14..00000000 --- a/core/abstract_tests/core/ATS_job-creation-success-sync-raw-ref.adoc +++ /dev/null @@ -1,31 +0,0 @@ -[[ats_core_job-creation-sync-raw-ref]] -[abstract_test] -==== -[%metadata] -label:: /conf/core/job-creation-sync-raw-ref -subject:: <> -test-purpose:: Validate that the server responds as expected when synchronous execution is <>, the response type is `raw` and the transmission mode is `ref`. - -[.component,class=test method] -===== -[.component,class=step] --- -Get a description of each process offered by the server using test <>. --- - -[.component,class=step] --- -Inspect the description of each process and identify the subset of processes that support the `sync-execute` job control option and the `reference` output transmission. --- - -[.component,class=step] --- -For each identified process construct an execute request according to test <> ensuring that synchronous execution is <> according to test <>, that the requested response type is `raw` (i.e. `"response": "raw"`) and the transmission mode is set to `ref` (i.e. `"transmissionMode": "ref"`) according to requirement <>. --- - -[.component,class=step] --- -Verify that each process executes successfully according to requirement <>. --- -===== -==== diff --git a/core/abstract_tests/core/ATS_job-creation-success-sync-raw-value-multi.adoc b/core/abstract_tests/core/ATS_job-creation-success-sync-raw-value-multi.adoc deleted file mode 100644 index b8306786..00000000 --- a/core/abstract_tests/core/ATS_job-creation-success-sync-raw-value-multi.adoc +++ /dev/null @@ -1,31 +0,0 @@ -[[ats_core_job-creation-sync-raw-value-multi]] -[abstract_test] -==== -[%metadata] -label:: /conf/core/job-creation-sync-raw-value-multi -subject:: <> -test-purpose:: Validate that the server responds as expected when synchronous execution is <>, the response type is `raw` and the output transmission is `value`. - -[.component,class=test method] -===== -[.component,class=step] --- -Get a description of each process offered by the server using test <>. --- - -[.component,class=step] --- -Inspect the description of each process and identify the subset of processes that generate more that one output, support the `sync-execute` job control option and the `value` output transmission. --- - -[.component,class=step] --- -For each identified process construct an execute request according to test <> ensuring that synchronous execution is <> according to test <>, that more than one output is requested, that the requested response type is `raw` (i.e. `"response": "raw"`) and the the transmission mode is set to `value` (i.e. `"transmissionMode": "value"`) according to requirement <>. --- - -[.component,class=step] --- -Verify that each process executes successfully according to requirement <>. --- -===== -==== diff --git a/core/abstract_tests/core/ATS_job-creation-success-sync-raw-value-one.adoc b/core/abstract_tests/core/ATS_job-creation-success-sync-raw-value-one.adoc deleted file mode 100644 index 6efee522..00000000 --- a/core/abstract_tests/core/ATS_job-creation-success-sync-raw-value-one.adoc +++ /dev/null @@ -1,31 +0,0 @@ -[[ats_core_job-creation-sync-raw-value-one]] -[abstract_test] -==== -[%metadata] -label:: /conf/core/job-creation-sync-raw-value-one -subject:: <> -test-purpose:: Validate that the server responds as expected when synchronous execution is <>, a single output value is requested, the response type is `raw` and the output transmission is `value`. - -[.component,class=test method] -===== -[.component,class=step] --- -Get a description of each process offered by the server using test <>. --- - -[.component,class=step] --- -Inspect the description of each process and identify the subset of processes that generate at least one output and support the `sync-execute` job control option and the `value` output transmission. --- - -[.component,class=step] --- -For each identified process construct an execute request according to test <> ensuring that synchronous execution is <> according to test <>, that only one output is requested, that the requested response type is `raw` (i.e. `"response": "raw"`) and that the output transmission is set to `value` (i.e. `"transmissionMode": "value"`) according to requirement <>. --- - -[.component,class=step] --- -Verify that each process executes successfully according to requirement <>. --- -===== -==== diff --git a/core/abstract_tests/core/ATS_job-creation-success.adoc b/core/abstract_tests/core/ATS_job-creation-success.adoc deleted file mode 100644 index 9b875c0f..00000000 --- a/core/abstract_tests/core/ATS_job-creation-success.adoc +++ /dev/null @@ -1,43 +0,0 @@ -[[ats-job-creation-success-sync]] -The response generated when executing a process depends on a number of parameters specified in the execute request. The following table enumerates the relevant requirement that needs to be satisfied based on the various execute parameter combinations. - -[%unnumbered] -[options="header"] -|=== -| mode | response | tx mode | # out | requirement - -.8+|sync -.4+|raw -.2+|value - -|1 -|<> - -|* -|<> - -.2+|ref -|1 -.2+|<> - -|* - -.4+|document -.2+|value -|1 -.4+|<> -|* - -.2+|ref -|1 -|* - -|async -|_any_ -|_any_ -|_any_ -|<> - -|=== - -NOTE: The value _any_ in a cell means _"for any valid value of the execute parameter represented by that cell"_. diff --git a/core/abstract_tests/core/ATS_job-exception-no-such-job.adoc b/core/abstract_tests/core/ATS_job-exception-no-such-job.adoc index f65f5ef4..617a6a28 100644 --- a/core/abstract_tests/core/ATS_job-exception-no-such-job.adoc +++ b/core/abstract_tests/core/ATS_job-exception-no-such-job.adoc @@ -1,5 +1,4 @@ -[[ats_core_job-exception-no-such-job]] -[abstract_test] +[[ats_core_job-exception-no-such-job]][abstract_test] ==== [%metadata] label:: /conf/core/job-exception-no-such-job diff --git a/core/abstract_tests/core/ATS_job-op.adoc b/core/abstract_tests/core/ATS_job-op.adoc index e6ecbbc1..d055adc4 100644 --- a/core/abstract_tests/core/ATS_job-op.adoc +++ b/core/abstract_tests/core/ATS_job-op.adoc @@ -1,5 +1,4 @@ -[[ats_core_job-op]] -[abstract_test] +[[ats_core_job-op]][abstract_test] ==== [%metadata] label:: /conf/core/job-op @@ -10,7 +9,7 @@ test-purpose:: Validate that the status info of a job can be retrieved. ===== [.component,class=step] -- -Create a job as per <> and note the {jobID} assigned to the job. +Create a job as per <> and note the {jobID} assigned to the job. -- [.component,class=step] diff --git a/core/abstract_tests/core/ATS_job-result-op.adoc b/core/abstract_tests/core/ATS_job-result-op.adoc new file mode 100644 index 00000000..413c9f43 --- /dev/null +++ b/core/abstract_tests/core/ATS_job-result-op.adoc @@ -0,0 +1,20 @@ +[[ats_core_job-result]][abstract_test] +==== +[%metadata] +label:: /conf/core/job-result +subject:: <> +test-purpose:: Validate that each process output with identifier `{outputID}` can be retrived from the `/jobs/{jobID}/results/{outputID}` endpoint. + +[.component,class=test method] +===== +[.component,class=step] +-- +Negotiate asynchronous process execution as per test <>. +-- + +[.component,class=step] +-- +Validate that each process output can be retrived as per requirement <>. +-- +===== +==== diff --git a/core/abstract_tests/core/ATS_job-results-exception-no-such-job.adoc b/core/abstract_tests/core/ATS_job-results-exception-no-such-job.adoc index 7e9c9869..870fd0c0 100644 --- a/core/abstract_tests/core/ATS_job-results-exception-no-such-job.adoc +++ b/core/abstract_tests/core/ATS_job-results-exception-no-such-job.adoc @@ -1,5 +1,4 @@ -[[ats_core_job-results-exception-no-such-job]] -[abstract_test] +[[ats_core_job-results-exception-no-such-job]][abstract_test] ==== [%metadata] label:: /conf/core/job-results-failed diff --git a/core/abstract_tests/core/ATS_job-results-exception-results-not-ready.adoc b/core/abstract_tests/core/ATS_job-results-exception-results-not-ready.adoc index ca5fb8b1..daf3c2e7 100644 --- a/core/abstract_tests/core/ATS_job-results-exception-results-not-ready.adoc +++ b/core/abstract_tests/core/ATS_job-results-exception-results-not-ready.adoc @@ -1,5 +1,4 @@ -[[ats_core_job-results-exception-results-not-ready]] -[abstract_test] +[[ats_core_job-results-exception-results-not-ready]][abstract_test] ==== [%metadata] label:: /conf/core/job-results-exception-results-not-ready @@ -11,7 +10,7 @@ test-purpose:: Validate that the job results retrieved for an incomplete job com [.component,class=step] -- -Create a job as per <> and note the {jobID} assigned to the job; ensure that the job is long-running. +Create a job as per <> and note the {jobID} assigned to the job; ensure that the job is long-running. -- [.component,class=step] diff --git a/core/abstract_tests/core/ATS_job-results-failed.adoc b/core/abstract_tests/core/ATS_job-results-failed.adoc index e9b621d7..8f19d2c0 100644 --- a/core/abstract_tests/core/ATS_job-results-failed.adoc +++ b/core/abstract_tests/core/ATS_job-results-failed.adoc @@ -1,5 +1,4 @@ -[[ats_core_job-results-failed]] -[abstract_test] +[[ats_core_job-results-failed]][abstract_test] ==== [%metadata] label:: /conf/core/job-results-failed @@ -11,7 +10,7 @@ test-purpose:: Validate that the job results for a failed job complies with the [.component,class=step] -- -Create a job as per <> but arrange a priori that the job will fail; note the {jobID} assigned to the job. +Create a job as per <> but arrange a priori that the job will fail; note the {jobID} assigned to the job. -- [.component,class=step] diff --git a/core/abstract_tests/core/ATS_job-results-op.adoc b/core/abstract_tests/core/ATS_job-results-op.adoc index 7bb2f093..6b0914b4 100644 --- a/core/abstract_tests/core/ATS_job-results-op.adoc +++ b/core/abstract_tests/core/ATS_job-results-op.adoc @@ -1,5 +1,4 @@ -[[ats_core_job-results-op]] -[abstract_test] +[[ats_core_job-results-op]][abstract_test] ==== [%metadata] label:: /conf/core/job-results @@ -10,7 +9,7 @@ test-purpose:: Validate that the results of a job can be retrieved. ===== [.component,class=step] -- -Create a job as per <> and note the {jobID} assigned to the job. +Create a job as per <> and note the {jobID} assigned to the job. -- [.component,class=step] @@ -25,7 +24,13 @@ Validate that the document was returned with a status code 200. [.component,class=step] -- -Validate the contents of the returned document using the test <>. +Depending on the number of outputs requested, the negotiated content type of the response and any client preferences, validate the contents of the returned document using the tests <>, <> or <>. -- ===== ==== + + + + + + diff --git a/core/abstract_tests/core/ATS_job-results-param-outputs-empty.adoc b/core/abstract_tests/core/ATS_job-results-param-outputs-empty.adoc new file mode 100644 index 00000000..06635957 --- /dev/null +++ b/core/abstract_tests/core/ATS_job-results-param-outputs-empty.adoc @@ -0,0 +1,16 @@ +[[ats_core_job-results-param-outputs-empty]] +[abstract_test] +==== +[%metadata] +label:: /conf/core/job-results-param-outputs-empty +subject:: <> +test-purpose:: Validate that no processing results are available when the `outputs` parameter is present in an execution request but is empty. + +[.component,class=test method] +===== +[.component,class=step] +-- +Verify that the server responds with a 204 HTTP status code and an empty response body when an output is requested. +-- +===== +==== diff --git a/core/abstract_tests/core/ATS_job-results-param-outputs-omit.adoc b/core/abstract_tests/core/ATS_job-results-param-outputs-omit.adoc new file mode 100644 index 00000000..c6cc4577 --- /dev/null +++ b/core/abstract_tests/core/ATS_job-results-param-outputs-omit.adoc @@ -0,0 +1,15 @@ +[[ats_core_job-results-param-outputs-omit]][abstract_test] +==== +[%metadata] +label:: /conf/core/job-results-param-outputs-omit +subject:: <> +test-purpose:: Validate that all processing results are included in the response when the `outputs` parameter is omitted from an execution request. + +[.component,class=test method] +===== +[.component,class=step] +-- +Omit the `outputs` parameter from a process execution request and verify that all processing results are included in the response. +-- +===== +==== diff --git a/core/abstract_tests/core/ATS_job-results-param-outputs-response.adoc b/core/abstract_tests/core/ATS_job-results-param-outputs-response.adoc new file mode 100644 index 00000000..6fd5e947 --- /dev/null +++ b/core/abstract_tests/core/ATS_job-results-param-outputs-response.adoc @@ -0,0 +1,15 @@ +[[ats_core_job-results-param-outputs-response]][abstract_test] +==== +[%metadata] +label:: /conf/core/job-results-param-outputs-response +subject:: <> +test-purpose:: Validate that only the requested processing results are included in the response when the `outputs` parameter is specified on an execution request. + +[.component,class=test method] +===== +[.component,class=step] +-- +Include the `outputs` parameter on a process execution request that enumerates a list of process outputs to include the response. Verify that the response includes the requested process outputs. +-- +===== +==== diff --git a/core/abstract_tests/core/ATS_job-results-param-outputs.adoc b/core/abstract_tests/core/ATS_job-results-param-outputs.adoc new file mode 100644 index 00000000..84e6f6bd --- /dev/null +++ b/core/abstract_tests/core/ATS_job-results-param-outputs.adoc @@ -0,0 +1,16 @@ +[[ats_core_job-results-param-outputs]][abstract_test] +==== +[%metadata] +label:: /conf/core/job-results-param-outputs +subject:: <> +test-purpose:: Validate that the `outputs` parameter is constructed correctly. + +[.component,class=test method] +===== +[.component,class=step] +-- +Verify that the `outputs` parameter complies with its definition in requirement <>. +-- + +Note that the API can define different values for "minimum", "maximum" and "default". +===== diff --git a/core/abstract_tests/core/ATS_job-results-success-async-document.adoc b/core/abstract_tests/core/ATS_job-results-success-async-document.adoc deleted file mode 100644 index 91dfdc90..00000000 --- a/core/abstract_tests/core/ATS_job-results-success-async-document.adoc +++ /dev/null @@ -1,61 +0,0 @@ -[[ats_core_job-results-async-document]] -[abstract_test] -==== -[%metadata] -label:: /conf/core/job-results-async-document -subject:: <> -test-purpose:: Validate that the server responds as expected when the asynchronous execution is <> and the response type is `document`. - -[.component,class=test method] -===== -[.component,class=step] --- -Get a description of each process offered by the server using test <>. --- - -[.component,class=step] --- -Inspect the description of each process and identify the subset of processes that support the `async-execute` job control option. --- - -[.component,class=step] --- -For each identified process construct an execute request according to test <> ensuring that asynchronous execution is <> according to test <> and that the requested response type is `document` (i.e. `"response": "document"`) according to requirement <>. --- - -[.component,class=step] --- -If the server responds asynchronously periodically retrieve the status of the asynchronously execute job as per test <>. --- - -[.component,class=step] --- -When the job status is `successful`, get the results as per test <> and verify that they conform to requirement <>. --- -===== - -NOTE: In the case where a process supports both `async-execute` and `sync-execute` job control options there is a possibility that the server responds synchronously even though the `Prefer` headers asserts a `respond-async` preference. In this case, the following additional test should be performed: - -[.component,class=test method] -===== -[.component,class=step] --- -Inspect the headers of the synchronous response and see if a `Link` header is included with `rel=monitor`. --- - -[.component,class=step] --- -If the link exists, get the job status as per test <> and ensure that the job status is set to `successful`. --- - -[.component,class=step] --- -Get the results as per test <> and verify that they conform to the test <>. --- - -[.component,class=step] --- -If the link does not exist then verify that the synchronous response conforms to the requirement <>. --- -===== -==== diff --git a/core/abstract_tests/core/ATS_job-results-success-async-many.adoc b/core/abstract_tests/core/ATS_job-results-success-async-many.adoc new file mode 100644 index 00000000..77bafe40 --- /dev/null +++ b/core/abstract_tests/core/ATS_job-results-success-async-many.adoc @@ -0,0 +1,25 @@ +[[ats_core_job-results-async-many]][abstract_test] +==== +[%metadata] +label:: /conf/core/job-results-async-many +subject:: <> +test-purpose:: Validate that only the requested processing results are included in the response when the `outputs` parameter is specified on an execution request. + +[.component,class=test method] +===== +[.component,class=step] +-- +Negotiate asynchronous process execution as per test <>. +-- +[.component,class=step] +-- +Request at least 2 process outputs as per test <>. +-- + +[.component,class=step] +-- +Validate that the processing results retrieved from the `/jobs/{jobID}/results` endpoint conform to requirement <>. +-- +===== +==== + diff --git a/core/abstract_tests/core/ATS_job-results-success-async-one.adoc b/core/abstract_tests/core/ATS_job-results-success-async-one.adoc new file mode 100644 index 00000000..0ae70302 --- /dev/null +++ b/core/abstract_tests/core/ATS_job-results-success-async-one.adoc @@ -0,0 +1,29 @@ +[[ats_core_job-results-async-one]][abstract_test] +==== +[%metadata] +label:: /conf/core/job-results-async-one +subject:: <> +test-purpose:: Validate that only the requested processing result is included in the response when the `outputs` parameter requesting output with identifier `{outputID}` is specified on an execution request. + +[.component,class=test method] +===== +[.component,class=step] +-- +Negotiate asynchronous process execution as per test <>. +-- +[.component,class=step] +-- +Request a single process output with output identifier `{outputID}` as per test <>. +-- + +[.component,class=step] +-- +Retrieve the processing response from the `/jobs/{jobID}/results/{outputID}` endpoint. +-- + +[.component,class=step] +-- +Validate that the response conforms to the requirement <>. +-- +===== +==== diff --git a/core/abstract_tests/core/ATS_job-results-success-async-raw-mixed-multi.adoc b/core/abstract_tests/core/ATS_job-results-success-async-raw-mixed-multi.adoc deleted file mode 100644 index 6beb7876..00000000 --- a/core/abstract_tests/core/ATS_job-results-success-async-raw-mixed-multi.adoc +++ /dev/null @@ -1,73 +0,0 @@ -[[ats_core_job-results-async-raw-mixed-multi]] -[abstract_test] -==== -[%metadata] -label:: /conf/core/job-results-async-raw-mixed-multi -subject:: <> -test-purpose:: Validate that the server responds as expected when asynchronous execution is <>, more than one output is requested, the response type is `raw` and the output transmission is a mix of `value` and `reference`. - -[.component,class=test method] -===== - -[.component,class=step] --- -Get a description of each process offered by the server using test <>. --- - -[.component,class=step] --- -Inspect the description of each process and identify the subset of processes that generate more than one output and that support the `async-execute` job control option. --- - -[.component,class=step] --- -For each identified process construct an execute request according to test <> ensuring that asynchronous execution is <> according to test <>, that the requested response type is `raw` (i.e. `"response": "raw"`) and that the output transmission is set to a mix of `value` (i.e. `"outputTransmission": "value"`) and `reference` (i.e. `"outputTransmission": "reference"`) according to requirement <>. --- - -[.component,class=step] --- -Periodically retrieve the status of the asynchronously execute job as per test <>. --- - -[.component,class=step] --- -When the job status is `successful`, get the results as per test <> and verify that they conform to requirement <>. --- - -[.component,class=step] --- -For each output requested with `"transmissionMode": "value"` verify that the body of the corresponding part contains the output value. --- - -[.component,class=step] --- -For each output requested with `"transmissionMode": "reference"` verify that the body of the corresponding part is empty and the `Content-Location` header is included that points to the output value. --- -===== - -NOTE: In the case where a process supports both `async-execute` and `sync-execute` job control options there is a possibility that the server responds synchronously even though the `Prefer` headers asserts a `respond-async` preference. In this case, the following additional test should be performed. - -[.component,class=test method] -===== - -[.component,class=step] --- -Inspect the headers of the synchronous response and see if a `Link` header is included with `rel=monitor`. --- - -[.component,class=step] --- -If the link exists, get the job status as per test <> and ensure that the job status is set to `successful`. --- - -[.component,class=step] --- -Get the results as per test <> and verify that they conform to the test <>. --- - -[.component,class=step] --- -If the link does not exist then verify that the synchronous response conforms to requirement <>. --- -===== -==== diff --git a/core/abstract_tests/core/ATS_job-results-success-async-raw-ref.adoc b/core/abstract_tests/core/ATS_job-results-success-async-raw-ref.adoc deleted file mode 100644 index 073eeba3..00000000 --- a/core/abstract_tests/core/ATS_job-results-success-async-raw-ref.adoc +++ /dev/null @@ -1,62 +0,0 @@ -[[ats_core_job-results-async-raw-ref]] -[abstract_test] -==== -[%metadata] -label:: /conf/core/job-results-async-raw-ref -subject:: <> -test-purpose:: Validate that the server responds as expected when asynchronous execution is <>, the response type is `raw` and the output transmission is `reference`. - -[.component,class=test method] -===== -[.component,class=step] --- -Get a description of each process offered by the server using test <>. --- - -[.component,class=step] --- -Inspect the description of each process and identify the subset of processes that support the `async-execute` job control option and the `reference` output transmission. --- - -[.component,class=step] --- -For each identified process construct an execute request according to test <> ensuring that synchronous execution is <> according to test <>, that the requested response type is `raw` (i.e. `"response": "raw"`) and that the output transmission is set to `reference` (i.e. `"outputTransmission": "reference"`) according to requirement <>. --- - -[.component,class=step] --- -If the server responds asynchronously, periodically retrieve the status of the asynchronously executed job as per test <>. --- - -[.component,class=step] --- -When the job status is `successful`, get the results as per test <> and verify that they conform to requirement <>. --- -===== - -NOTE: In the case where a process supports both `async-execute` and `sync-execute` job control options there is a possibility that the server responds synchronously even though the `Prefer` headers asserts a `respond-async` preference. In this case, the following additional test should be performed. - -[.component,class=test method] -===== - -[.component,class=step] --- -Inspect the headers of the synchronous response and see if a `Link` header is included with `rel=monitor`. --- - -[.component,class=step] --- -If the link exists, get the job status as per test <> and ensure that the job status is set to `successful`. --- - -[.component,class=step] --- -Get the results as per test <> and verify that they conform to the test <>. --- - -[.component,class=step] --- -If the link does not exist then verify that the synchronous response conforms to requirement <>. --- -===== -==== diff --git a/core/abstract_tests/core/ATS_job-results-success-async-raw-value-multi.adoc b/core/abstract_tests/core/ATS_job-results-success-async-raw-value-multi.adoc deleted file mode 100644 index 7d1c6a6b..00000000 --- a/core/abstract_tests/core/ATS_job-results-success-async-raw-value-multi.adoc +++ /dev/null @@ -1,62 +0,0 @@ -[[ats_core_job-results-async-raw-value-multi]] -[abstract_test] -==== -[%metadata] -label:: /conf/core/job-results-async-raw-value-multi -subject:: <> -test-purpose:: Validate that the server responds as expected when asynchronous execution is <>, more than one output is requested, the response type is `raw` and the output transmission is `value`. - -[.component,class=test method] -===== -[.component,class=step] --- -Get a description of each process offered by the server using test <>. --- - -[.component,class=step] --- -Inspect the description of each process and identify the subset of processes that generate more than one output and that support the `async-execute` job control option and the `value` output transmission. --- - -[.component,class=step] --- -For each identified process construct an execute request according to test <> ensuring that asynchronous execution is <> according to test <>, that the requested response type is `raw` (i.e. `"response": "raw"`) and that the output transmission is set to `value` (i.e. `"outputTransmission": "value"`) according to requirement <>. --- - -[.component,class=step] --- -Periodically retrieve the status of the asynchronously execute job as per test <>. --- - -[.component,class=step] --- -When the job status is `successful`, get the results as per test <> and verify that they conform to requirement <>. --- -===== - -NOTE: In the case where a process supports both `async-execute` and `sync-execute` job control options there is a possibility that the server responds synchronously even though the `Prefer` headers asserts a `respond-async` preference. In this case, the following additional test should be performed. - -[.component,class=test method] -===== - -[.component,class=step] --- -Inspect the headers of the synchronous response and see if a `Link` header is included with `rel=monitor`. --- - -[.component,class=step] --- -If the link exists, get the job status as per test <> and ensure that the job status is set to `successful`. --- - -[.component,class=step] --- -Get the results as per test <> and verify that they conform to the test <>. --- - -[.component,class=step] --- -If the link does not exist then verify that the synchronous response conforms to requirement <>. --- -===== -==== diff --git a/core/abstract_tests/core/ATS_job-results-success-async-raw-value-one.adoc b/core/abstract_tests/core/ATS_job-results-success-async-raw-value-one.adoc deleted file mode 100644 index 1d44906f..00000000 --- a/core/abstract_tests/core/ATS_job-results-success-async-raw-value-one.adoc +++ /dev/null @@ -1,63 +0,0 @@ -[[ats_core_job-results-async-raw-value-one]] -[abstract_test] -==== -[%metadata] -label:: /conf/core/job-results-async-raw-value-one -subject:: <> -test-purpose:: Validate that the server responds as expected when asynchronous execution is <>, one output is requested, the response type is `raw` and the output transmission is `value`. - -[.component,class=test method] -===== - -[.component,class=step] --- -Get a description of each process offered by the server using test <>. --- - -[.component,class=step] --- -Inspect the description of each process and identify the subset of processes that generate at least one output and that support the `async-execute` job control option and the `value` output transmission. --- - -[.component,class=step] --- -For each identified process construct an execute request according to test <> ensuring that asynchronous execution is <> according to test <>, that the requested response type is `raw` (i.e. `"response": "raw"`) and that the output transmission is set to `value` (i.e. `"outputTransmission": "value"`) according to requirement <>. --- - -[.component,class=step] --- -If the server responds asynchronously, periodically retrieve the status of the asynchronously executed job as per test <>. --- - -[.component,class=step] --- -When the job status is `successful`, get the results as per test <> and verify that they conform to requirement <>. --- -===== - -NOTE: In the case where a process supports both `async-execute` and `sync-execute` job control options there is a possibility that the server responds synchronously even though the `Prefer` headers asserts a `respond-async` preference. In this case, the following additional test should be performed. - -[.component,class=test method] -===== - -[.component,class=step] --- -Inspect the headers of the synchronous response and see if a `Link` header is included with `rel=monitor`. --- - -[.component,class=step] --- -If the link exists, get the job status as per test <> and ensure that the job status is set to `successful`. --- - -[.component,class=step] --- -Get the results as per test <> and verify that they conform to the test <>. --- - -[.component,class=step] --- -If the link does not exist then verify that the synchronous response conforms to requirement <>. --- -===== -==== diff --git a/core/abstract_tests/core/ATS_job-results-success-sync.adoc b/core/abstract_tests/core/ATS_job-results-success-sync.adoc index 9dac4be3..fd391a33 100644 --- a/core/abstract_tests/core/ATS_job-results-success-sync.adoc +++ b/core/abstract_tests/core/ATS_job-results-success-sync.adoc @@ -1,9 +1,8 @@ -[[ats_core_job-results-sync]] -[abstract_test] +[[ats_core_job-results-success-sync]][abstract_test] ==== [%metadata] -label:: /conf/core/job-results-sync -subject:: <> +label:: /conf/core/job-results-success-sync +subject:: <> test-purpose:: Validate that the server responds as expected when getting results from a job for a process that has been executed synchronously. [.component,class=test method] @@ -21,7 +20,7 @@ Inspect the description of each process and identify the subset of processes tha [.component,class=step] -- -For each identified process construct an execute request according to test <> ensuring that synchronous execution is <> according to test <>. +For each identified process construct an execute request according to test <> ensuring that synchronous execution is <> according to test <>. -- [.component,class=step] diff --git a/core/abstract_tests/core/ATS_job-results-success.adoc b/core/abstract_tests/core/ATS_job-results-success.adoc deleted file mode 100644 index 0d3ff688..00000000 --- a/core/abstract_tests/core/ATS_job-results-success.adoc +++ /dev/null @@ -1,42 +0,0 @@ -[[ats_job-results-success]] -Retrieving the results of an asynchronously executed process depends on a number of parameters specified in the execute request. The following table enumerates the relevant requirement that needs to be satisfied based on the various execute parameter combinations. - -[%unnumbered] -[options="header"] -|=== -|mode |response |tx mode |# out |abstract test - -|sync -|_any_ -|_any_ -|_any_ -|<> - -.8+|async -.4+|raw -.2+|value -|1 -|<> - -|* -|<> - -.2+|ref -|1 - -.2+|<> -|* - -.4+|document -.2+|value -|1 -.4+|<> - -|* - -.2+|ref |1 -|* - -|=== - -NOTE: The value _any_ in a cell means _"for any valid value of the execute parameter represented by that cell"_. diff --git a/core/abstract_tests/core/ATS_job-success.adoc b/core/abstract_tests/core/ATS_job-success.adoc index 9cb5260f..cac65775 100644 --- a/core/abstract_tests/core/ATS_job-success.adoc +++ b/core/abstract_tests/core/ATS_job-success.adoc @@ -1,5 +1,4 @@ -[[ats_core_job-success]] -[abstract_test] +[[ats_core_job-success]][abstract_test] ==== [%metadata] label:: /conf/core/job-success diff --git a/core/abstract_tests/core/ATS_landingpage-op.adoc b/core/abstract_tests/core/ATS_landingpage-op.adoc index c022daed..6b009757 100644 --- a/core/abstract_tests/core/ATS_landingpage-op.adoc +++ b/core/abstract_tests/core/ATS_landingpage-op.adoc @@ -1,5 +1,4 @@ -[[ats_core_landingpage-op]] -[abstract_test] +[[ats_core_landingpage-op]][abstract_test] ==== [%metadata] label:: /conf/core/landingpage-op diff --git a/core/abstract_tests/core/ATS_landingpage-success.adoc b/core/abstract_tests/core/ATS_landingpage-success.adoc index f4a6c6e0..14c7e968 100644 --- a/core/abstract_tests/core/ATS_landingpage-success.adoc +++ b/core/abstract_tests/core/ATS_landingpage-success.adoc @@ -1,5 +1,4 @@ -[[ats_core_landingpage-success]] -[abstract_test] +[[ats_core_landingpage-success]][abstract_test] ==== [%metadata] label:: /conf/core/landingpage-success diff --git a/core/abstract_tests/core/ATS_process-op.adoc b/core/abstract_tests/core/ATS_process-description-op.adoc similarity index 93% rename from core/abstract_tests/core/ATS_process-op.adoc rename to core/abstract_tests/core/ATS_process-description-op.adoc index 6cabad4f..62ceefaf 100644 --- a/core/abstract_tests/core/ATS_process-op.adoc +++ b/core/abstract_tests/core/ATS_process-description-op.adoc @@ -1,5 +1,4 @@ -[[ats_core_process]] -[abstract_test] +[[ats_core_process]][abstract_test] ==== [%metadata] label:: /conf/core/process diff --git a/core/abstract_tests/core/ATS_process-success.adoc b/core/abstract_tests/core/ATS_process-description-success.adoc similarity index 96% rename from core/abstract_tests/core/ATS_process-success.adoc rename to core/abstract_tests/core/ATS_process-description-success.adoc index c157578d..118d85bc 100644 --- a/core/abstract_tests/core/ATS_process-success.adoc +++ b/core/abstract_tests/core/ATS_process-description-success.adoc @@ -1,5 +1,4 @@ -[[ats_core_process-success]] -[abstract_test] +[[ats_core_process-success]][abstract_test] ==== [%metadata] label:: /conf/core/process-success diff --git a/core/abstract_tests/core/ATS_process-exception-no-such-process.adoc b/core/abstract_tests/core/ATS_process-exception-no-such-process.adoc index 3daf1832..06a7a390 100644 --- a/core/abstract_tests/core/ATS_process-exception-no-such-process.adoc +++ b/core/abstract_tests/core/ATS_process-exception-no-such-process.adoc @@ -1,5 +1,4 @@ -[[ats_core_process-exception-no-such-process]] -[abstract_test] +[[ats_core_process-exception-no-such-process]][abstract_test] ==== [%metadata] label:: /conf/core/process-exception-no-such-process diff --git a/core/abstract_tests/core/ATS_process-execute-auto-execution-mode.adoc b/core/abstract_tests/core/ATS_process-execute-auto-execution-mode.adoc new file mode 100644 index 00000000..cd1f5eea --- /dev/null +++ b/core/abstract_tests/core/ATS_process-execute-auto-execution-mode.adoc @@ -0,0 +1,40 @@ +[[ats_core_process-execute-auto-execution-mode]][abstract_test] +==== +[%metadata] +label:: /conf/core/process-execute-auto-execution-mode +subject:: <> +test-purpose:: Validate that the server correctly handles the execution mode for a process. + +[.component,class=test method] +===== +[.component,class=step] +-- +Get a description of each process offered by the server using test <>. +-- + +[.component,class=step] +-- +Inspect the description of each process and take note of the job control options for the process. +-- + +[.component,class=step] +-- +Setting the HTTP `Prefer` header to include the `respond-sync` preference, construct an execute request according to test <>. +-- + +[.component,class=step] +-- +For processes that are supposed to execute asynchronously according to the <> requirement, verify the successful execution according to the test <>. +-- + +[.component,class=step] +-- +For processes that are supposed to execute synchronously according to the <> requirement, verify that the server successfully executes each identified process according to the tests <>, <> or <> based on the combination of execute parameters used in each case. +-- + +[.component,class=step] +-- +For processes that may execute either synchronously or asynchronously according to the <> requirement, verify that the server successfully executes each identified process according to the tests <>, <>, <> or <> based on the combination of execute parameters used in each case. +-- +===== +==== diff --git a/core/abstract_tests/core/ATS_process-execute-default-execution-mode.adoc b/core/abstract_tests/core/ATS_process-execute-default-execution-mode.adoc new file mode 100644 index 00000000..ffb07fd6 --- /dev/null +++ b/core/abstract_tests/core/ATS_process-execute-default-execution-mode.adoc @@ -0,0 +1,35 @@ +[[ats_core_process-execute-default-execution-mode]][abstract_test] +==== +[%metadata] +label:: /conf/core/process-execute-default-execution-mode +subject:: <> +test-purpose:: Validate that the server correctly handles the default execution mode for a process. + +[.component,class=test method] +===== +[.component,class=step] +-- +Get a description of each process offered by the server using test <>. +-- + +[.component,class=step] +-- +Inspect the description of each process and take note of the job control options for the process. +-- + +[.component,class=step] +-- +Without setting the HTTP `Prefer` header, construct an execute request according to test <>. +-- + +[.component,class=step] +-- +For processes that are supposed to execute asynchronously according to the <> requirement, verify the successful execution according to the <> test. +-- + +[.component,class=step] +-- +For processes that are supposed to execute synchronously according to the <> requirement, verify the successful synchronous execution according to the tests <>, <> or <> based on the combination of execute parameters used in each case. +-- +===== +==== diff --git a/core/abstract_tests/core/ATS_process-execute-default-outputs.adoc b/core/abstract_tests/core/ATS_process-execute-default-outputs.adoc new file mode 100644 index 00000000..72208bee --- /dev/null +++ b/core/abstract_tests/core/ATS_process-execute-default-outputs.adoc @@ -0,0 +1,35 @@ +[[ats_core_process-execute-default-outputs]][abstract_test] +==== +[%metadata] +label:: /conf/core/process-execute-default-outputs +subject:: <> +test-purpose:: Validate that the server correctly handles the case where no `outputs` parameter is specified on an execute request. + +[.component,class=test method] +===== +[.component,class=step] +-- +Get a description of each process offered by the server using test <>. +-- + +[.component,class=step] +-- +Inspect the description of each process taking note of the definition of each process output. +-- + +[.component,class=step] +-- +For each process construct an execute request according to test <> taking care to omit the `outputs` parameter. +-- + +[.component,class=step] +-- +Verify that the server successfully executes each identified process according to the tests <>, <>, <> or <> based on the combination of execute parameters used in each case. +-- + +[.component,class=step] +-- +Verify that the server includes all outputs, as defined in the <>, in the response. +-- +===== +==== diff --git a/core/abstract_tests/core/ATS_process-execute-input-array.adoc b/core/abstract_tests/core/ATS_process-execute-input-array.adoc new file mode 100644 index 00000000..4daad657 --- /dev/null +++ b/core/abstract_tests/core/ATS_process-execute-input-array.adoc @@ -0,0 +1,30 @@ +[[ats_core_process-execute-input-array]][abstract_test] +==== +[%metadata] +label:: /conf/core/process-execute-input-array +subject:: <> +test-purpose:: Verify that the server correctly recognizes the encoding of parameter values for input parameters with a maximum cardinality greater than one. + +[.component,class=test method] +===== +[.component,class=step] +-- +Get a description of each process offered by the server using test <>. +-- + +[.component,class=step] +-- +Inspect the description of each process and identify the list of processes that have inputs with a maximum cardinality greater that one. +-- + +[.component,class=step] +-- +For each identified process construct an execute request according to test <> taking care to encode the inputs with maximum cardinality > 1 according to the requirement <>. +-- + +[.component,class=step] +-- +Verify that the server successfully executes each identified process according to the tests <>, <>, <> or <> based on the combination of execute parameters used in each case. +-- +===== +==== diff --git a/core/abstract_tests/core/ATS_process-execute-input-inline-bbox.adoc b/core/abstract_tests/core/ATS_process-execute-input-inline-bbox.adoc new file mode 100644 index 00000000..7045328d --- /dev/null +++ b/core/abstract_tests/core/ATS_process-execute-input-inline-bbox.adoc @@ -0,0 +1,30 @@ +[[ats_core_process-execute-input-inline-bbox]][abstract_test] +==== +[%metadata] +label:: /conf/core/process-execute-input-inline-bbox +subject:: <> +test-purpose:: Validate that inputs with a bounding box schema encoded in-line in an execute request are correctly processed. + +[.component,class=test method] +===== +[.component,class=step] +-- +Get a description of each process offered by the server using test <>. +-- + +[.component,class=step] +-- +Inspect the description of each process and identify the subset of processes that have bounding box inputs that are supposed to conform to the https://raw.githubusercontent.com/opengeospatial/ogcapi-processes/master/core/openapi/schemas/bbox.yaml[bbox.yaml] schema. +-- + +[.component,class=step] +-- +For each identified process construct an execute request according to test <> taking care to encode values for the identified bounding box inputs in-line in the execute request. +-- + +[.component,class=step] +-- +Verify that the server successfully executes each identified process according to the tests <>, <>, <> or <> based on the combination of execute parameters used in each case. +-- +===== +==== diff --git a/core/abstract_tests/core/ATS_process-execute-input-inline-binary.adoc b/core/abstract_tests/core/ATS_process-execute-input-inline-binary.adoc new file mode 100644 index 00000000..7462685f --- /dev/null +++ b/core/abstract_tests/core/ATS_process-execute-input-inline-binary.adoc @@ -0,0 +1,30 @@ +[[ats_core_process-execute-input-inline-binary]][abstract_test] +==== +[%metadata] +label:: /conf/core/process-execute-input-inline-binary +subject:: <> +test-purpose:: Validate that binary input values encoded as base-64 string in-line in an execute request are correctly processes. + +[.component,class=test method] +===== +[.component,class=step] +-- +Get a description of each process offered by the server using test <>. +-- + +[.component,class=step] +-- +Inspect the description of each process and identify the subset of processes that have binary inputs. +-- + +[.component,class=step] +-- +For each identified process construct an execute request according to test <> taking care to encode binary input values in-line in the execute request according to requirement <>. +-- + +[.component,class=step] +-- +Verify that the server successfully executes each identified process according to the tests <>, <>, <> or <> based on the combination of execute parameters used in each case. +-- +===== +==== diff --git a/core/abstract_tests/core/ATS_process-execute-input-inline-mixed.adoc b/core/abstract_tests/core/ATS_process-execute-input-inline-mixed.adoc new file mode 100644 index 00000000..01e616b6 --- /dev/null +++ b/core/abstract_tests/core/ATS_process-execute-input-inline-mixed.adoc @@ -0,0 +1,30 @@ +[[ats_core_process-execute-input-inline-mixed]][abstract_test] +==== +[%metadata] +label:: /conf/core/process-execute-input-inline-mixed +subject:: <> +test-purpose:: Validate that inputs of mixed content encoded in-line in an execute request are correctly processed. + +[.component,class=test method] +===== +[.component,class=step] +-- +Get a description of each process offered by the server using test <>. +-- + +[.component,class=step] +-- +Inspect the description of each process and identify the subset of processes that have inputs of mixed content using the `oneOf[]` JSON Schema construct to define several alternate input value schemas. +-- + +[.component,class=step] +-- +For each identified process construct an execute request according to test <> taking care to encode the identified mix-content inputs in-line in the execute request according to requirement <>. +-- + +[.component,class=step] +-- +Verify that the server successfully executes each identified process according to the tests <>, <>, <> or <> based on the combination of execute parameters used in each case. +-- +===== +==== diff --git a/core/abstract_tests/core/ATS_process-execute-input-inline-object.adoc b/core/abstract_tests/core/ATS_process-execute-input-inline-object.adoc new file mode 100644 index 00000000..6d702317 --- /dev/null +++ b/core/abstract_tests/core/ATS_process-execute-input-inline-object.adoc @@ -0,0 +1,31 @@ +[[ats_core_process-execute-input-inline-object]][abstract_test] +==== +[%metadata] +label:: /conf/core/process-execute-input-inline-object +subject:: <> +test-purpose:: Validate that inputs with a complex object schema encoded in-line in an execute request are correctly processed. + +[.component,class=test method] +===== +[.component,class=step] +-- +Get a description of each process offered by the server using test <>. +-- + +[.component,class=step] +-- +Inspect the description of each process and identify the subset of processes that have inputs with complex `object schemas (i.e. inputs of type `object`). +-- + +[.component,class=step] +-- +For each identified process construct an execute request according to test <> taking care to encode the identified object inputs in-line in the execute request according to requirement <>. +-- + +[.component,class=step] +-- +Verify that the server successfully executes each identified process according to the tests <>, <>, <> or <> based on the combination of execute parameters used in each case. +-- +===== +==== + diff --git a/core/abstract_tests/core/ATS_process-execute-input-validation.adoc b/core/abstract_tests/core/ATS_process-execute-input-validation.adoc new file mode 100644 index 00000000..b2414078 --- /dev/null +++ b/core/abstract_tests/core/ATS_process-execute-input-validation.adoc @@ -0,0 +1,41 @@ +[[ats_core_process-execute-input-validation]][abstract_test] +==== +[%metadata] +label:: /conf/core/process-execute-input-validation +subject:: <> +test-purpose:: Verify that the server correctly validates process input values according to the definition obtained from the <>. + +[.component,class=test method] +===== + +[.component,class=step] +-- +Get a description of each process offered by the server using test <>. +-- + +[.component,class=step] +-- +Inspect the description of each process taking note of the definition of each process input and specifically the schema of each process input. +-- + +[.component,class=step] +-- +For each process construct an execute request according to test <> taking care to encode the input values according to the schema from the definition of each input. +-- + +[.component,class=step] +-- +Verify that the server successfully executes each process according to the tests <>, <>, <> or <> based on the combination of execute parameters used in each case. +-- + +[.component,class=step] +-- +For each process construct an execute request according to test <> taking care to encode some of the input values in violation of the schema from the definition of the selected input. +-- + +[.component,class=step] +-- +Verify that the server generates an exception report that identifies the improperly specified input value(s). +-- +===== +==== diff --git a/core/abstract_tests/core/ATS_process-execute-inputs.adoc b/core/abstract_tests/core/ATS_process-execute-inputs.adoc new file mode 100644 index 00000000..9e1d1cc2 --- /dev/null +++ b/core/abstract_tests/core/ATS_process-execute-inputs.adoc @@ -0,0 +1,22 @@ +[[ats_core_process-execute-inputs]][abstract_test] +==== +[%metadata] +label:: /conf/core/process-execute-inputs +subject:: <> +test-purpose:: Validate that servers can accept input values both inline and by reference. + +[.component,class=test method] +===== + +[.component,class=step] +-- +For each process construct an execute request according to the test <> taking care to include process input values both in-line and by reference. +-- + +[.component,class=step] +-- +Verify that the server successfully executes each process according to the tests <>, <>, <> or <> based on the combination of execute parameters used in each case. +-- +===== + +==== diff --git a/core/abstract_tests/core/ATS_process-execute-op.adoc b/core/abstract_tests/core/ATS_process-execute-op.adoc new file mode 100644 index 00000000..49a898a6 --- /dev/null +++ b/core/abstract_tests/core/ATS_process-execute-op.adoc @@ -0,0 +1,26 @@ +[[ats_core_process-execute-op]][abstract_test] +==== +[%metadata] +label:: /conf/core/process-execute-op +subject:: <> +test-purpose:: Validate the creation of a new job. + +[.component,class=test method] +===== + +[.component,class=step] +-- +Issue an HTTP POST request to the URL '/processes/{processID}/execution' for each execution mode according to requirements <> or <>. +-- + +[.component,class=step] +-- +Validate the contents of the POST request using the test <>. +-- + +[.component,class=step] +-- +Validate the creation of the job according the requirements <>, <>. +-- +===== +==== diff --git a/core/abstract_tests/core/ATS_job-creation-request.adoc b/core/abstract_tests/core/ATS_process-execute-request.adoc similarity index 69% rename from core/abstract_tests/core/ATS_job-creation-request.adoc rename to core/abstract_tests/core/ATS_process-execute-request.adoc index 2098627b..0087dea6 100644 --- a/core/abstract_tests/core/ATS_job-creation-request.adoc +++ b/core/abstract_tests/core/ATS_process-execute-request.adoc @@ -1,9 +1,8 @@ -[[ats_core_job-creation-request]] -[abstract_test] +[[ats_core_process-execute-request]][abstract_test] ==== [%metadata] -label:: /conf/core/job-creation-request -subject:: <> +label:: /conf/core/process-execute-request +subject:: <> test-purpose:: Validate that the body of a job creation operation complies with the required structure and contents. [.component,class=test method] diff --git a/core/abstract_tests/core/ATS_process-execute-success-async.adoc b/core/abstract_tests/core/ATS_process-execute-success-async.adoc new file mode 100644 index 00000000..6c0493d9 --- /dev/null +++ b/core/abstract_tests/core/ATS_process-execute-success-async.adoc @@ -0,0 +1,26 @@ +[[ats_core_process-execute-success-async]][abstract_test] +==== +[%metadata] +label:: /conf/core/process-execute-success-async +subject:: <> +test-purpose:: Validate the results of a job that has been created using the `async` execution mode. + +[.component,class=test method] +===== + +[.component,class=step] +-- +Validate that results of the job was returned with an HTTP status code 201. +-- + +[.component,class=step] +-- +Validate that the response header contains a `Location` header that contains a link to the newly created job. +-- + +[.component,class=step] +-- +Verify the contents of the response body against the OpenAPI 3.0 schema https://raw.githubusercontent.com/opengeospatial/ogcapi-processes/master/core/openapi/schemas/statusInfo.yaml[statusInfo.yaml]. +-- +===== +==== diff --git a/core/abstract_tests/core/ATS_process-execute-success-sync-many-json.adoc b/core/abstract_tests/core/ATS_process-execute-success-sync-many-json.adoc new file mode 100644 index 00000000..b9e5f829 --- /dev/null +++ b/core/abstract_tests/core/ATS_process-execute-success-sync-many-json.adoc @@ -0,0 +1,24 @@ +[[ats_core_process-execute-sync-many-json]][abstract_test] +==== +[%metadata] +label:: /conf/core/process-execute-sync-many-json +subject:: <> +test-purpose:: Validate that the correct output with the correct content type is generated when a process generating multiple responses is synchronously executed. + +[.component,class=test method] +===== +[.component,class=step] +-- +Negotiate synchronous process execution as per test <>. +-- +[.component,class=step] +-- +Request at least 2 process outputs as per test <>. +-- + +[.component,class=step] +-- +Validate that the response conforms to the requirements of <>. +-- +===== +==== diff --git a/core/abstract_tests/core/ATS_process-execute-success-sync-one-default-content.adoc b/core/abstract_tests/core/ATS_process-execute-success-sync-one-default-content.adoc new file mode 100644 index 00000000..a0c56ad5 --- /dev/null +++ b/core/abstract_tests/core/ATS_process-execute-success-sync-one-default-content.adoc @@ -0,0 +1,31 @@ +[[ats_core_process-execute-sync-one-default-content]][abstract_test] +==== +[%metadata] +label:: /conf/core/process-execute-sync-one-default-content +subject:: <> +test-purpose:: Validate that the default output format is generated upon process execution when a single output is requested but no specific supported format is negotiated. + +[.component,class=test method] +===== + +[.component,class=step] +-- +Negotiate synchronous process execution as per test <>. +-- + +[.component,class=step] +-- +Request a single output with identifier `{outputID}` as per test <>. +-- + +[.component,class=step] +-- +Do not negotiate a specific format for the requested output. +-- + +[.component,class=step] +-- +Validate that the response conforms to the requirements of <>. +-- +===== +==== diff --git a/core/abstract_tests/core/ATS_process-execute-success-sync-one.adoc b/core/abstract_tests/core/ATS_process-execute-success-sync-one.adoc new file mode 100644 index 00000000..665db21d --- /dev/null +++ b/core/abstract_tests/core/ATS_process-execute-success-sync-one.adoc @@ -0,0 +1,31 @@ +[[ats_core_process-execute-sync-one]][abstract_test] +==== +[%metadata] +label:: /conf/core/process-execute-sync-one +subject:: <> +test-purpose:: Validate that the correct output is generated upon process execution when a single output is requested. + +[.component,class=test method] +===== + +[.component,class=step] +-- +Negotiate synchronous process execution as per test <>. +-- + +[.component,class=step] +-- +Request a single output with identifier `{outputID}` as per test <>. +-- + +[.component,class=step] +-- +Negotiate an output format that is supported for the requested output according to the process' description that has been retrieved as per test <>. +-- + +[.component,class=step] +-- +Validate that the response conforms to the requirements of <>. +-- +===== +==== diff --git a/core/abstract_tests/core/ATS_process-list-limit-def.adoc b/core/abstract_tests/core/ATS_process-list-limit-def.adoc index 99851791..ac55d6b0 100644 --- a/core/abstract_tests/core/ATS_process-list-limit-def.adoc +++ b/core/abstract_tests/core/ATS_process-list-limit-def.adoc @@ -1,5 +1,4 @@ -[[ats_core_pl-limit-definition]] -[abstract_test] +[[ats_core_pl-limit-definition]][abstract_test] ==== [%metadata] label:: /conf/core/pl-limit-definition diff --git a/core/abstract_tests/core/ATS_process-list-limit-response.adoc b/core/abstract_tests/core/ATS_process-list-limit-response.adoc index 4a6574a2..d5762846 100644 --- a/core/abstract_tests/core/ATS_process-list-limit-response.adoc +++ b/core/abstract_tests/core/ATS_process-list-limit-response.adoc @@ -1,5 +1,4 @@ -[[ats_core_pl-limit-response]] -[abstract_test] +[[ats_core_pl-limit-response]][abstract_test] ==== [%metadata] label:: /conf/core/pl-limit-response diff --git a/core/abstract_tests/core/ATS_process-list-links.adoc b/core/abstract_tests/core/ATS_process-list-links.adoc index b34bdf26..c638c0e8 100644 --- a/core/abstract_tests/core/ATS_process-list-links.adoc +++ b/core/abstract_tests/core/ATS_process-list-links.adoc @@ -1,5 +1,4 @@ -[[ats_core_pl-links]] -[abstract_test] +[[ats_core_pl-links]][abstract_test] ==== [%metadata] label:: /conf/core/pl-links diff --git a/core/abstract_tests/core/ATS_process-list-op.adoc b/core/abstract_tests/core/ATS_process-list-op.adoc index b49c87d1..ac320ed3 100644 --- a/core/abstract_tests/core/ATS_process-list-op.adoc +++ b/core/abstract_tests/core/ATS_process-list-op.adoc @@ -1,5 +1,4 @@ -[[ats_core_process-list-op]] -[abstract_test] +[[ats_core_process-list-op]][abstract_test] ==== [%metadata] label:: /conf/core/process-list diff --git a/core/abstract_tests/core/ATS_process-list-success.adoc b/core/abstract_tests/core/ATS_process-list-success.adoc index 9a907da6..891bf80f 100644 --- a/core/abstract_tests/core/ATS_process-list-success.adoc +++ b/core/abstract_tests/core/ATS_process-list-success.adoc @@ -1,5 +1,4 @@ -[[ats_core_process-list-success]] -[abstract_test] +[[ats_core_process-list-success]][abstract_test] ==== [%metadata] label:: /conf/core/process-list-success diff --git a/core/abstract_tests/core/ATS_test-process.adoc b/core/abstract_tests/core/ATS_test-process.adoc new file mode 100644 index 00000000..c0485fbe --- /dev/null +++ b/core/abstract_tests/core/ATS_test-process.adoc @@ -0,0 +1,7 @@ +[[req_core_test-process]][requirement] +==== +[%metadata] +label:: /req/core/test-process + +If a server implementing the OGC API - Processes - Part 1: Core is tested using CITE tests, the server SHALL offer at least one testable process. Please refer to <> for further guidance. +==== diff --git a/core/abstract_tests/dismiss/ATS_job-dismiss-op.adoc b/core/abstract_tests/dismiss/ATS_job-dismiss-op.adoc index b90353d9..c20e8ff1 100644 --- a/core/abstract_tests/dismiss/ATS_job-dismiss-op.adoc +++ b/core/abstract_tests/dismiss/ATS_job-dismiss-op.adoc @@ -1,5 +1,4 @@ -[[ats_dismiss_job-dismiss-op]] -[abstract_test] +[[ats_dismiss_job-dismiss-op]][abstract_test] ==== [%metadata] label:: /conf/dismiss/job-dismiss-op @@ -11,7 +10,7 @@ test-purpose:: Validate that a running job can be dismissed. [.component,class=step] -- -Create an asynchronous job as per test <>; not the job identifier, {jobID}, assigned to the job. +Create an asynchronous job as per test <>; not the job identifier, {jobID}, assigned to the job. -- [.component,class=step] diff --git a/core/abstract_tests/dismiss/ATS_job-dismiss-success.adoc b/core/abstract_tests/dismiss/ATS_job-dismiss-success.adoc index 42e88444..05cec26a 100644 --- a/core/abstract_tests/dismiss/ATS_job-dismiss-success.adoc +++ b/core/abstract_tests/dismiss/ATS_job-dismiss-success.adoc @@ -1,5 +1,4 @@ -[[ats_dismiss_job-dismiss-success]] -[abstract_test] +[[ats_dismiss_job-dismiss-success]][abstract_test] ==== [%metadata] label:: /conf/dismiss/job-dismiss-success @@ -25,8 +24,7 @@ Validate the process list content for all supported media types using the resour -- ===== -The response to dismissing a job can be presented in a number of different formats. The following table identifies the applicable schema document for each format and the test to be used to validate the against that schema. All supported formats should be exercised. -==== +NOTE: The response to dismissing a job can be presented in a number of different formats. The following table identifies the applicable schema document for each format and the test to be used to validate against that schema. All supported formats should be exercised. [[job-dismiss-schema]] .Schema and Tests for Dismissing a Job diff --git a/core/abstract_tests/html/ATS_content.adoc b/core/abstract_tests/html/ATS_content.adoc index 9b6badc4..f6994d9b 100644 --- a/core/abstract_tests/html/ATS_content.adoc +++ b/core/abstract_tests/html/ATS_content.adoc @@ -1,5 +1,4 @@ -[[ats_html_content]] -[abstract_test] +[[ats_html_content]][abstract_test] ==== [%metadata] label:: /conf/html/content diff --git a/core/abstract_tests/html/ATS_definition.adoc b/core/abstract_tests/html/ATS_definition.adoc index 0c3186ed..7d10bc7d 100644 --- a/core/abstract_tests/html/ATS_definition.adoc +++ b/core/abstract_tests/html/ATS_definition.adoc @@ -1,5 +1,4 @@ -[[ats_html_definition]] -[abstract_test] +[[ats_html_definition]][abstract_test] ==== [%metadata] label:: /conf/html/definition diff --git a/core/abstract_tests/job-list/ATS_datetime-def.adoc b/core/abstract_tests/job-list/ATS_datetime-def.adoc index ecd0b0ce..cc0f3b40 100644 --- a/core/abstract_tests/job-list/ATS_datetime-def.adoc +++ b/core/abstract_tests/job-list/ATS_datetime-def.adoc @@ -1,5 +1,4 @@ -[[ats_job-list_datetime-definition]] -[abstract_test] +[[ats_job-list_datetime-definition]][abstract_test] ==== [%metadata] label:: /conf/job-list/datetime-definition diff --git a/core/abstract_tests/job-list/ATS_datetime-response.adoc b/core/abstract_tests/job-list/ATS_datetime-response.adoc index 56121301..7ce2c08d 100644 --- a/core/abstract_tests/job-list/ATS_datetime-response.adoc +++ b/core/abstract_tests/job-list/ATS_datetime-response.adoc @@ -1,5 +1,4 @@ -[[ats_job-list_datetime-response]] -[abstract_test] +[[ats_job-list_datetime-response]][abstract_test] ==== [%metadata] label:: /conf/job-list/datetime-response diff --git a/core/abstract_tests/job-list/ATS_duration-def.adoc b/core/abstract_tests/job-list/ATS_duration-def.adoc index f8e85a07..32107fcf 100644 --- a/core/abstract_tests/job-list/ATS_duration-def.adoc +++ b/core/abstract_tests/job-list/ATS_duration-def.adoc @@ -1,5 +1,4 @@ -[[ats_job-list_duration-definition]] -[abstract_test] +[[ats_job-list_duration-definition]][abstract_test] ==== [%metadata] label:: /conf/job-list/duration-definition diff --git a/core/abstract_tests/job-list/ATS_duration-response.adoc b/core/abstract_tests/job-list/ATS_duration-response.adoc index c2bad549..60313d2f 100644 --- a/core/abstract_tests/job-list/ATS_duration-response.adoc +++ b/core/abstract_tests/job-list/ATS_duration-response.adoc @@ -1,5 +1,4 @@ -[[ats_job-list_duration-response]] -[abstract_test] +[[ats_job-list_duration-response]][abstract_test] ==== [%metadata] label:: /conf/job-list/duration-response diff --git a/core/abstract_tests/job-list/ATS_jl-limit-def.adoc b/core/abstract_tests/job-list/ATS_jl-limit-def.adoc index aa9b90eb..440f9821 100644 --- a/core/abstract_tests/job-list/ATS_jl-limit-def.adoc +++ b/core/abstract_tests/job-list/ATS_jl-limit-def.adoc @@ -1,5 +1,4 @@ -[[ats_job-list_limit-definition]] -[abstract_test] +[[ats_job-list_limit-definition]][abstract_test] ==== [%metadata] label:: /conf/job-list/limit-definition diff --git a/core/abstract_tests/job-list/ATS_jl-limit-response.adoc b/core/abstract_tests/job-list/ATS_jl-limit-response.adoc index 4b77c0f3..37258580 100644 --- a/core/abstract_tests/job-list/ATS_jl-limit-response.adoc +++ b/core/abstract_tests/job-list/ATS_jl-limit-response.adoc @@ -1,5 +1,4 @@ -[[ats_job-list_limit-response]] -[abstract_test] +[[ats_job-list_limit-response]][abstract_test] ==== [%metadata] label:: /conf/job-list/limit-response diff --git a/core/abstract_tests/job-list/ATS_jl-links.adoc b/core/abstract_tests/job-list/ATS_jl-links.adoc index ddf38768..10ae6078 100644 --- a/core/abstract_tests/job-list/ATS_jl-links.adoc +++ b/core/abstract_tests/job-list/ATS_jl-links.adoc @@ -1,5 +1,4 @@ -[[ats_job-list_links]] -[abstract_test] +[[ats_job-list_links]][abstract_test] ==== [%metadata] label:: /conf/job-list/links diff --git a/core/abstract_tests/job-list/ATS_op.adoc b/core/abstract_tests/job-list/ATS_op.adoc index 5fd42758..71e90837 100644 --- a/core/abstract_tests/job-list/ATS_op.adoc +++ b/core/abstract_tests/job-list/ATS_op.adoc @@ -1,5 +1,4 @@ -[[ats_job-list_job-list-op]] -[abstract_test] +[[ats_job-list_job-list-op]][abstract_test] ==== [%metadata] label:: /conf/job-list/job-list-op diff --git a/core/abstract_tests/job-list/ATS_processid-def.adoc b/core/abstract_tests/job-list/ATS_processid-def.adoc index 0d6085a2..99868683 100644 --- a/core/abstract_tests/job-list/ATS_processid-def.adoc +++ b/core/abstract_tests/job-list/ATS_processid-def.adoc @@ -1,5 +1,4 @@ -[[ats_job-list_processID-definition]] -[abstract_test] +[[ats_job-list_processID-definition]][abstract_test] ==== [%metadata] label:: /conf/job-list/processID-definition diff --git a/core/abstract_tests/job-list/ATS_processid-mandatory.adoc b/core/abstract_tests/job-list/ATS_processid-mandatory.adoc index 3ad5d29d..69fdc454 100644 --- a/core/abstract_tests/job-list/ATS_processid-mandatory.adoc +++ b/core/abstract_tests/job-list/ATS_processid-mandatory.adoc @@ -1,5 +1,4 @@ -[[ats_job-list_processid-mandatory]] -[abstract_test] +[[ats_job-list_processid-mandatory]][abstract_test] ==== [%metadata] label:: /conf/job-list/processID-mandatory diff --git a/core/abstract_tests/job-list/ATS_processid-response.adoc b/core/abstract_tests/job-list/ATS_processid-response.adoc index 654e97b0..051cab5e 100644 --- a/core/abstract_tests/job-list/ATS_processid-response.adoc +++ b/core/abstract_tests/job-list/ATS_processid-response.adoc @@ -1,5 +1,4 @@ -[[ats_job-list_processid-response]] -[abstract_test] +[[ats_job-list_processid-response]][abstract_test] ==== [%metadata] label:: /conf/job-list/processID-response diff --git a/core/abstract_tests/job-list/ATS_status-def.adoc b/core/abstract_tests/job-list/ATS_status-def.adoc index c5dc6b63..3f03c736 100644 --- a/core/abstract_tests/job-list/ATS_status-def.adoc +++ b/core/abstract_tests/job-list/ATS_status-def.adoc @@ -1,5 +1,4 @@ -[[ats_job-list_status-definition]] -[abstract_test] +[[ats_job-list_status-definition]][abstract_test] ==== [%metadata] label:: /conf/job-list/status-definition diff --git a/core/abstract_tests/job-list/ATS_status-response.adoc b/core/abstract_tests/job-list/ATS_status-response.adoc index b2c84916..f40c86f3 100644 --- a/core/abstract_tests/job-list/ATS_status-response.adoc +++ b/core/abstract_tests/job-list/ATS_status-response.adoc @@ -1,5 +1,4 @@ -[[ats_job-list_status-response]] -[abstract_test] +[[ats_job-list_status-response]][abstract_test] ==== [%metadata] label:: /conf/job-list/status-response diff --git a/core/abstract_tests/job-list/ATS_success.adoc b/core/abstract_tests/job-list/ATS_success.adoc index 5475ee19..b8a57952 100644 --- a/core/abstract_tests/job-list/ATS_success.adoc +++ b/core/abstract_tests/job-list/ATS_success.adoc @@ -1,5 +1,4 @@ -[[ats_job-list_job-list-success]] -[abstract_test] +[[ats_job-list_job-list-success]][abstract_test] ==== [%metadata] label:: /conf/job-list/job-list-success diff --git a/core/abstract_tests/job-list/ATS_type-def.adoc b/core/abstract_tests/job-list/ATS_type-def.adoc index cb1f541b..d8595bac 100644 --- a/core/abstract_tests/job-list/ATS_type-def.adoc +++ b/core/abstract_tests/job-list/ATS_type-def.adoc @@ -1,5 +1,4 @@ -[[ats_job-list_type-definition]] -[abstract_test] +[[ats_job-list_type-definition]][abstract_test] ==== [%metadata] label:: /conf/job-list/type-definition diff --git a/core/abstract_tests/job-list/ATS_type-response.adoc b/core/abstract_tests/job-list/ATS_type-response.adoc index 0ac1cbf5..292cef67 100644 --- a/core/abstract_tests/job-list/ATS_type-response.adoc +++ b/core/abstract_tests/job-list/ATS_type-response.adoc @@ -1,5 +1,4 @@ -[[ats_job-list_type-response]] -[abstract_test] +[[ats_job-list_type-response]][abstract_test] ==== [%metadata] label:: /conf/job-list/type-response diff --git a/core/abstract_tests/json/ATS_definition.adoc b/core/abstract_tests/json/ATS_definition.adoc index 4669f60e..b666e2cf 100644 --- a/core/abstract_tests/json/ATS_definition.adoc +++ b/core/abstract_tests/json/ATS_definition.adoc @@ -1,5 +1,4 @@ - -[abstract_test] +[[ats_json_content]][abstract_test] ==== [%metadata] label:: /conf/json/definition diff --git a/core/abstract_tests/oas30/ATS_completeness.adoc b/core/abstract_tests/oas30/ATS_completeness.adoc index 86fee0b2..5f9e15b0 100644 --- a/core/abstract_tests/oas30/ATS_completeness.adoc +++ b/core/abstract_tests/oas30/ATS_completeness.adoc @@ -1,5 +1,4 @@ -[[ats_oas30_completeness]] -[abstract_test] +[[ats_oas30_completeness]][abstract_test] ==== [%metadata] label:: /conf/oas30/completeness diff --git a/core/abstract_tests/oas30/ATS_definition-1.adoc b/core/abstract_tests/oas30/ATS_definition-1.adoc index 508c3f2e..719b21de 100644 --- a/core/abstract_tests/oas30/ATS_definition-1.adoc +++ b/core/abstract_tests/oas30/ATS_definition-1.adoc @@ -1,5 +1,4 @@ -[[ats_oas30_oas-definition-1]] -[abstract_test] +[[ats_oas30_oas-definition-1]][abstract_test] ==== [%metadata] label:: /conf/oas30/oas-definition-1 diff --git a/core/abstract_tests/oas30/ATS_definition-2.adoc b/core/abstract_tests/oas30/ATS_definition-2.adoc index 19cd9dc0..12703541 100644 --- a/core/abstract_tests/oas30/ATS_definition-2.adoc +++ b/core/abstract_tests/oas30/ATS_definition-2.adoc @@ -1,5 +1,4 @@ -[[ats_oas30_oas-definition-2]] -[abstract_test] +[[ats_oas30_oas-definition-2]][abstract_test] ==== [%metadata] label:: /conf/oas30/oas-definition-2 diff --git a/core/abstract_tests/oas30/ATS_exception-codes.adoc b/core/abstract_tests/oas30/ATS_exception-codes.adoc index a9d81ae1..2e5a6314 100644 --- a/core/abstract_tests/oas30/ATS_exception-codes.adoc +++ b/core/abstract_tests/oas30/ATS_exception-codes.adoc @@ -1,5 +1,4 @@ -[[ats_oas30_exceptions-codes]] -[abstract_test] +[[ats_oas30_exceptions-codes]][abstract_test] ==== [%metadata] label:: /conf/oas30/exceptions-codes diff --git a/core/abstract_tests/oas30/ATS_oas-impl.adoc b/core/abstract_tests/oas30/ATS_oas-impl.adoc index 250f2f21..3476d4bc 100644 --- a/core/abstract_tests/oas30/ATS_oas-impl.adoc +++ b/core/abstract_tests/oas30/ATS_oas-impl.adoc @@ -1,5 +1,4 @@ -[[ats_oas30_oas-impl]] -[abstract_test] +[[ats_oas30_oas-impl]][abstract_test] ==== [%metadata] label:: /conf/oas30/oas-impl diff --git a/core/abstract_tests/oas30/ATS_security.adoc b/core/abstract_tests/oas30/ATS_security.adoc index 2ec4ca47..dff72c6a 100644 --- a/core/abstract_tests/oas30/ATS_security.adoc +++ b/core/abstract_tests/oas30/ATS_security.adoc @@ -1,5 +1,4 @@ -[[ats_oas30_security]] -[abstract_test] +[[ats_oas30_security]][abstract_test] ==== [%metadata] label:: /conf/oas30/security diff --git a/core/abstract_tests/ogc-process-description/ATS_input-def.adoc b/core/abstract_tests/ogc-process-description/ATS_input-def.adoc index 95e36e24..0593674a 100644 --- a/core/abstract_tests/ogc-process-description/ATS_input-def.adoc +++ b/core/abstract_tests/ogc-process-description/ATS_input-def.adoc @@ -1,5 +1,4 @@ -[[ats_ogc-process-description_input-def]] -[abstract_test] +[[ats_ogc-process-description_input-def]][abstract_test] ==== [%metadata] label:: /conf/ogc-process-description/input-def diff --git a/core/abstract_tests/ogc-process-description/ATS_input-mixed-type.adoc b/core/abstract_tests/ogc-process-description/ATS_input-mixed-type.adoc index 87215008..9ca59bb5 100644 --- a/core/abstract_tests/ogc-process-description/ATS_input-mixed-type.adoc +++ b/core/abstract_tests/ogc-process-description/ATS_input-mixed-type.adoc @@ -1,5 +1,4 @@ -[[ats_ogc-process-description_input-mixed-type]] -[abstract_test] +[[ats_ogc-process-description_input-mixed-type]][abstract_test] ==== [%metadata] label:: /conf/ogc-process-description/input-mixed-type diff --git a/core/abstract_tests/ogc-process-description/ATS_inputs-def.adoc b/core/abstract_tests/ogc-process-description/ATS_inputs-def.adoc index edf240fa..57278026 100644 --- a/core/abstract_tests/ogc-process-description/ATS_inputs-def.adoc +++ b/core/abstract_tests/ogc-process-description/ATS_inputs-def.adoc @@ -1,5 +1,4 @@ -[[ats_ogc-process-description_inputs-def]] -[abstract_test] +[[ats_ogc-process-description_inputs-def]][abstract_test] ==== [%metadata] label:: /conf/ogc-process-description/inputs-def diff --git a/core/abstract_tests/ogc-process-description/ATS_json-encoding.adoc b/core/abstract_tests/ogc-process-description/ATS_json-encoding.adoc index e5eb76ad..01b8ed17 100644 --- a/core/abstract_tests/ogc-process-description/ATS_json-encoding.adoc +++ b/core/abstract_tests/ogc-process-description/ATS_json-encoding.adoc @@ -1,5 +1,4 @@ -[[ats_ogc-process-description_json-encoding]] -[abstract_test] +[[ats_ogc-process-description_json-encoding]][abstract_test] ==== [%metadata] label:: /conf/ogc-process-description/json-encoding diff --git a/core/abstract_tests/ogc-process-description/ATS_output-def.adoc b/core/abstract_tests/ogc-process-description/ATS_output-def.adoc index c8b6bfc8..225b43fa 100644 --- a/core/abstract_tests/ogc-process-description/ATS_output-def.adoc +++ b/core/abstract_tests/ogc-process-description/ATS_output-def.adoc @@ -1,5 +1,4 @@ -[[ats_ogc-process-description_output-def]] -[abstract_test] +[[ats_ogc-process-description_output-def]][abstract_test] ==== [%metadata] label:: /conf/ogc-process-description/output-def diff --git a/core/abstract_tests/ogc-process-description/ATS_output-mixed-type.adoc b/core/abstract_tests/ogc-process-description/ATS_output-mixed-type.adoc index 8d227dba..164a93e0 100644 --- a/core/abstract_tests/ogc-process-description/ATS_output-mixed-type.adoc +++ b/core/abstract_tests/ogc-process-description/ATS_output-mixed-type.adoc @@ -1,5 +1,4 @@ -[[ats_ogc-process-description_output-mixed-type]] -[abstract_test] +[[ats_ogc-process-description_output-mixed-type]][abstract_test] ==== [%metadata] label:: /conf/ogc-process-description/output-mixed-type diff --git a/core/abstract_tests/ogc-process-description/ATS_outputs-def.adoc b/core/abstract_tests/ogc-process-description/ATS_outputs-def.adoc index 7ce4bd77..4b7d9dcd 100644 --- a/core/abstract_tests/ogc-process-description/ATS_outputs-def.adoc +++ b/core/abstract_tests/ogc-process-description/ATS_outputs-def.adoc @@ -1,5 +1,4 @@ -[[ats_ogc-process-description_outputs-def]] -[abstract_test] +[[ats_ogc-process-description_outputs-def]][abstract_test] ==== [%metadata] label:: /conf/ogc-process-description/outputs-def diff --git a/core/recommendations/core/REC_process-execute-honor-return-preference.adoc b/core/recommendations/core/REC_process-execute-honor-return-preference.adoc index 82de0bef..fecc6518 100644 --- a/core/recommendations/core/REC_process-execute-honor-return-preference.adoc +++ b/core/recommendations/core/REC_process-execute-honor-return-preference.adoc @@ -8,12 +8,11 @@ If an execute request *is accompanied* with the HTTP https://datatracker.ietf.or See requirements: -- -* <> +* <> -- See recommendations: -- -* <> * <> * <> * <> diff --git a/core/requirements/callback/REQ_job-creation-callback.adoc b/core/requirements/callback/REQ_process-execute-callback.adoc similarity index 100% rename from core/requirements/callback/REQ_job-creation-callback.adoc rename to core/requirements/callback/REQ_process-execute-callback.adoc diff --git a/core/requirements/core/REQ_api-definition-op.adoc b/core/requirements/core/REQ_api-definition-op.adoc index 2ceeb0fd..d1936b3f 100644 --- a/core/requirements/core/REQ_api-definition-op.adoc +++ b/core/requirements/core/REQ_api-definition-op.adoc @@ -1,4 +1,3 @@ - [[req_core_api-definition-op]] [requirement] ==== @@ -6,4 +5,4 @@ label:: /req/core/api-definition-op The URIs of all API definitions referenced from the landing page SHALL support the HTTP GET method. -==== \ No newline at end of file +==== diff --git a/core/requirements/core/REQ_api-definition-success.adoc b/core/requirements/core/REQ_api-definition-success.adoc index 3851a6aa..9b002268 100644 --- a/core/requirements/core/REQ_api-definition-success.adoc +++ b/core/requirements/core/REQ_api-definition-success.adoc @@ -1,4 +1,3 @@ - [[req_core_api-definition-success]] [requirement] ==== @@ -8,4 +7,4 @@ A successful execution of the operation to get the API definition document SHALL response with a HTTP status code `200`. The server SHALL return an API definition document. -==== \ No newline at end of file +==== diff --git a/core/requirements/core/REQ_conformance-op.adoc b/core/requirements/core/REQ_conformance-op.adoc index 87b876a1..6135b1fc 100644 --- a/core/requirements/core/REQ_conformance-op.adoc +++ b/core/requirements/core/REQ_conformance-op.adoc @@ -1,4 +1,3 @@ - [[req_core_conformance-op]] [requirement] ==== @@ -6,4 +5,4 @@ label:: /req/core/conformance-op The server SHALL support the HTTP GET operation at the path `/conformance`. -==== \ No newline at end of file +==== diff --git a/core/requirements/core/REQ_conformance-success.adoc b/core/requirements/core/REQ_conformance-success.adoc index 74a7d7c3..238dff13 100644 --- a/core/requirements/core/REQ_conformance-success.adoc +++ b/core/requirements/core/REQ_conformance-success.adoc @@ -1,4 +1,3 @@ - [[req_core_conformance-success]] [requirement] ==== @@ -10,4 +9,4 @@ HTTP status code `200`. The content of that response SHALL be based upon the OpenAPI 3.0 schema link:https://raw.githubusercontent.com/opengeospatial/ogcapi-processes/master/openapi/schemas/common-core/confClasses.yaml[req-classes.yaml] and list all OGC API - Processes requirements classes that the server conforms to. -==== \ No newline at end of file +==== diff --git a/core/requirements/core/REQ_http.adoc b/core/requirements/core/REQ_http.adoc index 0458d23b..5963ca46 100644 --- a/core/requirements/core/REQ_http.adoc +++ b/core/requirements/core/REQ_http.adoc @@ -1,4 +1,3 @@ - [[req_core_http]] [requirement] ==== @@ -9,4 +8,4 @@ The server SHALL conform to <>. If the server supports HTTPS, the server SHALL also conform to <>. -==== \ No newline at end of file +==== diff --git a/core/requirements/core/REQ_job-exception-no-such-job.adoc b/core/requirements/core/REQ_job-exception-no-such-job.adoc index 816468ab..3dfee9af 100644 --- a/core/requirements/core/REQ_job-exception-no-such-job.adoc +++ b/core/requirements/core/REQ_job-exception-no-such-job.adoc @@ -1,4 +1,3 @@ - [[req_core_job-exception-no-such-job]] [requirement] ==== diff --git a/core/requirements/core/REQ_job-results-param-outputs-empty.adoc b/core/requirements/core/REQ_job-results-param-outputs-empty.adoc new file mode 100644 index 00000000..70efd269 --- /dev/null +++ b/core/requirements/core/REQ_job-results-param-outputs-empty.adoc @@ -0,0 +1,10 @@ +[[req_core_job-results-param-outputs-empty]] +[requirement] +==== +[%metadata] +label:: /req/core/job-results-param-outputs-empty +[.component,class=part] +-- +If the `outputs` parameter is empty in an <>, this SHALL cause the server to respond with a HTTP status code 204 and an empty response body. +-- +==== diff --git a/core/requirements/core/REQ_process-execute-input-inline-bbox.adoc b/core/requirements/core/REQ_process-execute-input-inline-bbox.adoc index 12e85d30..4caeb7ed 100644 --- a/core/requirements/core/REQ_process-execute-input-inline-bbox.adoc +++ b/core/requirements/core/REQ_process-execute-input-inline-bbox.adoc @@ -1,4 +1,4 @@ -[[req-creation-input-inline-bbox]] +[[req_core_process-execute-input-inline-bbox]] [requirement] ==== [%metadata] diff --git a/core/requirements/core/REQ_process-execute-success-async.adoc b/core/requirements/core/REQ_process-execute-success-async.adoc index 5f8f5ebb..ba8dcabd 100644 --- a/core/requirements/core/REQ_process-execute-success-async.adoc +++ b/core/requirements/core/REQ_process-execute-success-async.adoc @@ -1,8 +1,8 @@ -[[req_core_process-execute-async]] +[[req_core_process-execute-success-async]] [requirement] ==== [%metadata] -label:: /req/core/process-execute-async +label:: /req/core/process-execute-success-async [.component,class=conditions] -- The <> is asynchronous. diff --git a/core/requirements/core/REQ_process-execute-success-sync-one-content.adoc b/core/requirements/core/REQ_process-execute-success-sync-one-default-content.adoc similarity index 88% rename from core/requirements/core/REQ_process-execute-success-sync-one-content.adoc rename to core/requirements/core/REQ_process-execute-success-sync-one-default-content.adoc index efb04031..6a5b40fe 100644 --- a/core/requirements/core/REQ_process-execute-success-sync-one-content.adoc +++ b/core/requirements/core/REQ_process-execute-success-sync-one-default-content.adoc @@ -1,8 +1,8 @@ -[[req_core_process-execute-sync-one-content]] +[[req_core_process-execute-sync-one-default-content]] [requirement] ==== [%metadata] -label:: /req/core/process-execute-sync-one-content +label:: /req/core/process-execute-sync-one-default-content [.component,class=conditions] -- . The <> is synchronous, @@ -11,6 +11,7 @@ label:: /req/core/process-execute-sync-one-content -- [.component,class=part] +-- The media type of the response SHALL be the default media type for the requested processes output as specified in the process description. -- diff --git a/core/requirements/core/REQ_links.adoc b/core/requirements/core/REQ_process-list-links.adoc similarity index 100% rename from core/requirements/core/REQ_links.adoc rename to core/requirements/core/REQ_process-list-links.adoc diff --git a/core/requirements/json/REQ_definition.adoc b/core/requirements/json/REQ_definition.adoc index 0d5453fa..460b779f 100644 --- a/core/requirements/json/REQ_definition.adoc +++ b/core/requirements/json/REQ_definition.adoc @@ -20,6 +20,5 @@ and for the following API endpoint: * <> -when the <> parameter is set to the value `document` and/or the <> is asynchronous. - +when the negotiated response format using the https://www.rfc-editor.org/rfc/rfc2616#section-14.1[HTTP Accept] header or the <> parameter is JSON, or the <> or the <> is asynchronous. ==== diff --git a/core/requirements/kvp-execute/REQ_binary-input-value-qualified.adoc b/core/requirements/kvp-execute/REQ_binary-input-value-qualified.adoc index 13a0e8f4..0e4069b4 100644 --- a/core/requirements/kvp-execute/REQ_binary-input-value-qualified.adoc +++ b/core/requirements/kvp-execute/REQ_binary-input-value-qualified.adoc @@ -6,8 +6,8 @@ label:: /req/kvp-execute/binary-input-value-qualified [.component,class=conditions] -- . The process input value is specified in-line in an execute request. -. A process input, with identifier `{input-name}`, is defined as <> type in the <>. -. The input value needs to qualified with a <> specification. +. A process input, with identifier `{input-name}`, is defined as <> type in the <>. +. The input value needs to <> with a <> specification. -- [.component,class=part] @@ -41,4 +41,5 @@ explode: true ---- where the token `{input-name}` represents the identifier of the input. +-- ==== diff --git a/core/requirements/kvp-execute/REQ_binary-input-value.adoc b/core/requirements/kvp-execute/REQ_binary-input-value.adoc index c8ade660..bdd657b1 100644 --- a/core/requirements/kvp-execute/REQ_binary-input-value.adoc +++ b/core/requirements/kvp-execute/REQ_binary-input-value.adoc @@ -6,8 +6,8 @@ label:: /req/kvp-execute/binary-input-value [.component,class=conditions] -- . The process input value is specified in-line in an execute request. -. A process input, with identifier `{input-name}`, is defined as <> type in the <>. -. The input value does not need to qualified with a <> specification. +. A process input, with identifier `{input-name}`, is defined as <> type in the <>. +. The input value does not need to be <> with a <> specification. -- [.component,class=part] @@ -27,4 +27,5 @@ explode: false ---- where the token `{input-name}` represents the identifier of the input. +-- ==== diff --git a/core/requirements/kvp-execute/REQ_output.adoc b/core/requirements/kvp-execute/REQ_output.adoc index 1dd25d03..d0944cde 100644 --- a/core/requirements/kvp-execute/REQ_output.adoc +++ b/core/requirements/kvp-execute/REQ_output.adoc @@ -38,4 +38,5 @@ explode: true ---- where the token `{output-name}` represents the identifier of the output. +-- ==== diff --git a/core/requirements/requirements_class_callback.adoc b/core/requirements/requirements_class_callback.adoc index be6fce76..189892ba 100644 --- a/core/requirements/requirements_class_callback.adoc +++ b/core/requirements/requirements_class_callback.adoc @@ -6,4 +6,4 @@ label:: http://www.opengis.net/spec/ogcapi-processes-1/1.0/req/callback obligation:: requirement subject:: Web API inherit:: <> -==== \ No newline at end of file +==== diff --git a/core/requirements/requirements_class_dismiss.adoc b/core/requirements/requirements_class_dismiss.adoc index 17fa02bd..27fb1fdb 100644 --- a/core/requirements/requirements_class_dismiss.adoc +++ b/core/requirements/requirements_class_dismiss.adoc @@ -6,4 +6,4 @@ label:: http://www.opengis.net/spec/ogcapi-processes-1/1.0/req/dismiss obligation:: requirement subject:: Web API inherit:: <> -==== \ No newline at end of file +==== diff --git a/core/requirements/requirements_class_job-list.adoc b/core/requirements/requirements_class_job-list.adoc index 5c29533e..801b871e 100644 --- a/core/requirements/requirements_class_job-list.adoc +++ b/core/requirements/requirements_class_job-list.adoc @@ -6,4 +6,4 @@ label:: http://www.opengis.net/spec/ogcapi-processes-1/1.0/req/job-list obligation:: requirement subject:: Web API inherit:: <> -==== \ No newline at end of file +==== diff --git a/core/requirements/requirements_class_oas30.adoc b/core/requirements/requirements_class_oas30.adoc index dc26da06..58599d10 100644 --- a/core/requirements/requirements_class_oas30.adoc +++ b/core/requirements/requirements_class_oas30.adoc @@ -8,4 +8,4 @@ subject:: Web API inherit:: <> inherit:: http://www.opengis.net/spec/ogcapi_common-1/1.0/req/oas30[API - Common OpenAPI 3.0] inherit:: <> -==== \ No newline at end of file +==== diff --git a/core/requirements/requirements_class_ogc-process-description.adoc b/core/requirements/requirements_class_ogc-process-description.adoc index f730fe53..23e84690 100644 --- a/core/requirements/requirements_class_ogc-process-description.adoc +++ b/core/requirements/requirements_class_ogc-process-description.adoc @@ -7,4 +7,4 @@ obligation:: requirement subject:: Web API inherit:: <> inherit:: <> -==== \ No newline at end of file +==== diff --git a/core/sections/clause_13_callback.adoc b/core/sections/clause_13_callback.adoc index 9cbdad14..efa3870b 100644 --- a/core/sections/clause_13_callback.adoc +++ b/core/sections/clause_13_callback.adoc @@ -6,7 +6,7 @@ The Callback conformance class specifies a callback mechanism for completed jobs include::../requirements/requirements_class_callback.adoc[] -include::../requirements/callback/REQ_job-creation-callback.adoc[] +include::../requirements/callback/REQ_process-execute-callback.adoc[] .A callback in the execute operation ==== diff --git a/core/sections/clause_15_kvp-execute.adoc b/core/sections/clause_15_kvp-execute.adoc index 3e176dd0..5a26bd35 100644 --- a/core/sections/clause_15_kvp-execute.adoc +++ b/core/sections/clause_15_kvp-execute.adoc @@ -6,7 +6,7 @@ include::../requirements/requirements_class_kvp-execute.adoc[] -The <> clause describes how to invoke a process by sending a <> to the <> of a server using the https://datatracker.ietf.org/doc/html/rfc7231#section-4.3.3[HTTP POST method]. This invocation pattern does not, however, allow dynamic execute requests to be embedded in other documents. This clause describes a process invocation method that encodes an execute request as a URL with query parameters. +The <> clause describes how to invoke a process by sending a <> to the <> of a server using the https://datatracker.ietf.org/doc/html/rfc7231#section-4.3.3[HTTP POST method]. This invocation pattern does not, however, allow dynamic execute requests to be embedded in other documents. This clause describes a process invocation method that encodes an execute request as a URL with query parameters. The following examples illustrate KVP-encoded process execution requests. @@ -205,7 +205,7 @@ include::../requirements/kvp-execute/REQ_array-input-value.adoc[] The elements of an array input value can be: -* a <>, +* a <>, * a <>, * a <>, * a <>, diff --git a/core/sections/clause_2_conformance.adoc b/core/sections/clause_2_conformance.adoc index 439ea4ae..3b307ff7 100644 --- a/core/sections/clause_2_conformance.adoc +++ b/core/sections/clause_2_conformance.adoc @@ -64,8 +64,8 @@ Conformance with this standard SHALL be checked using all the relevant tests spe |<> |http://www.opengis.net/spec/ogcapi-processes-1/1.0/conf/core |<> |http://www.opengis.net/spec/ogcapi-processes-1/1.0/conf/ogc-process-description -|<> |http://www.opengis.net/spec/ogcapi-processes-1/1.0/conf/json -|<> |http://www.opengis.net/spec/ogcapi-processes-1/1.0/conf/html +|<> |http://www.opengis.net/spec/ogcapi-processes-1/1.0/conf/json +|<> |http://www.opengis.net/spec/ogcapi-processes-1/1.0/conf/html |<> |http://www.opengis.net/spec/ogcapi-processes-1/1.0/conf/oas30 |<> |http://www.opengis.net/spec/ogcapi-processes-1/1.0/conf/job-list |<> |http://www.opengis.net/spec/ogcapi-processes-1/1.0/conf/callback diff --git a/core/sections/clause_5_conventions.adoc b/core/sections/clause_5_conventions.adoc index f6d2dbe8..5a4353e7 100644 --- a/core/sections/clause_5_conventions.adoc +++ b/core/sections/clause_5_conventions.adoc @@ -17,7 +17,7 @@ All requirements, permission, recommendations and conformance tests that appear To express relationships between resources, <> is used. -The following <> are used in this document. +The following https://www.iana.org/assignments/link-relations/link-relations.xhtml[link relation types] are used in this document. * **alternate**: Refers to a substitute for the link's context. diff --git a/core/sections/clause_7_core.adoc b/core/sections/clause_7_core.adoc index 7dd3e2ab..67f03837 100644 --- a/core/sections/clause_7_core.adoc +++ b/core/sections/clause_7_core.adoc @@ -389,7 +389,7 @@ The number of process summaries returned depends on the server and the parameter See the discussion about the `limit` parameter in the <> section. -include::../requirements/core/REQ_links.adoc[] +include::../requirements/core/REQ_process-list-links.adoc[] See the discussion about the `next` links in the <> section. @@ -455,7 +455,7 @@ See <> for general guidance. include::../requirements/core/REQ_process-exception-no-such-process.adoc[] -[[sc_create_job]] +[[sc_execute_process]] === Execute a process This section describes the requirements for executing a process. @@ -467,7 +467,6 @@ Depending on the description of the <> and the < include::../requirements/core/REQ_process-execute-op.adoc[] - ==== Request body ===== Content schema @@ -987,7 +986,7 @@ The manner in which a server responds to a process execution request is determin * the <> (synchronous or asynchronous), * the number of outputs requested, -* the negotiated content type for the response (via the HTTP Accept header), +* the negotiated content type for the response (via the https://www.rfc-editor.org/rfc/rfc2616#section-14.1[HTTP Accept] header), * and any negotiated client preferences (via the HTTP Prefer header). The following table maps the possible responses based on the combinations of these execute parameters. The column headers denote: @@ -1014,14 +1013,14 @@ The following table maps the possible responses based on the combinations of the |Response body |Req./Rec./Perm. -.4+|sync +.5+|sync |1 |_n/a_ |200 | |_as negotiated_ |requested process output -|See requirement: <> +|See requirement: <> 1.3+|N |_none_ .3+|200 @@ -1036,6 +1035,14 @@ The following table maps the possible responses based on the combinations of the |representation |See <>,<> +|_none_ +|_n/a_ +|204 +| +|_n/a_ +|_empty_ +|See requirement: <> + |async |_n/a_ |_n/a_ @@ -1043,13 +1050,13 @@ The following table maps the possible responses based on the combinations of the |_Location_ to newly created job |application/json |<> -|See requirement: <> +|See requirement: <> |=== [NOTE] ==== * The value *_n/a_* in a cell means that the corresponding parameter is not applicable, not specified, not required or can be ignored in this context. -* The value *_as negotiated_* means that the output content type is as negotiated between the client and the server based on the value of the HTTP Accept header. +* The value *_as negotiated_* means that the output content type is as negotiated between the client and the server based on the value of the https://www.rfc-editor.org/rfc/rfc2616#section-14.1[HTTP Accept] header. ==== [NOTE] @@ -1100,6 +1107,8 @@ When a process is executed synchronously and a single processing output is reque include::../requirements/core/REQ_process-execute-success-sync-one.adoc[] +include::../requirements/core/REQ_process-execute-success-sync-one-default-content.adoc[] + NOTE: The size of a response may be determined without actually transmitting the entire response by using the <> method to retrieve the <> header. ===== Response requesting multiple processing outputs @@ -1126,7 +1135,7 @@ For servers that implement this permission and do create a job as a result of sy include::../requirements/core/REQ_job-results-success-sync.adoc[] -The job reference in the header can then be used to <> of the original synchronous execution. +The job reference in the header can then be used to <> of the original synchronous execution. ===== Response for asynchronous processes execution @@ -1238,14 +1247,14 @@ include::../requirements/core/REQ_job-results-param-outputs-response.adoc[] include::../requirements/core/REQ_job-results-param-outputs-omit.adoc[] -==== Response +include::../requirements/core/REQ_job-results-param-outputs-empty.adoc[] ===== Overview The manner in which a server responds when retrieving job results depends on: * the number of outputs requested, -* the negotiated content type for the response (via the HTTP Accept header) or lack thereof, +* the negotiated content type for the response (via the https://www.rfc-editor.org/rfc/rfc2616#section-14.1[HTTP Accept] header) or lack thereof, * and any negotiated client preferences (via the HTTP Prefer header). The following table maps the possible responses based on the combinations of these execute parameters. @@ -1293,12 +1302,20 @@ The column headers in the following table denote: |representation |See <>,<> + +|none +|_n/a_ +|_n/a_ +|204 +|_n/a_ +|_n/a_ +|See requirement: <> |=== [NOTE] ==== * The value *_n/a_* in a cell means value of the corresponding parameter is not applicable, not specified, not required or can be ignored in this context. -* The value *_as negotiated_* means that the output content type is as negotiated between the client and the server based on the value of the HTTP Accept header. +* The value *_as negotiated_* means that the output content type is as negotiated between the client and the server based on the value of the https://www.rfc-editor.org/rfc/rfc2616#section-14.1[HTTP Accept] header. ==== [[async_note_2]] diff --git a/extensions/deploy_replace_undeploy/standard/requirements/ogcapppkg/REQ_process-description.adoc b/extensions/deploy_replace_undeploy/standard/requirements/ogcapppkg/REQ_process-description.adoc index 52ba7e27..b2ab05c3 100644 --- a/extensions/deploy_replace_undeploy/standard/requirements/ogcapppkg/REQ_process-description.adoc +++ b/extensions/deploy_replace_undeploy/standard/requirements/ogcapppkg/REQ_process-description.adoc @@ -3,5 +3,5 @@ ==== [%metadata] label:: /req/ogcapppkg/process-description -part:: The value of the processDescription property shall be based upon the OpenAPI 3.0 schema http://fix.me[process.yaml]. +part:: The value of the processDescription property shall be based upon the OpenAPI 3.0 schema https://github.com/opengeospatial/ogcapi-processes/blob/master/openapi/schemas/processes-core/process.yaml[process.yaml]. ==== From 9ea8c6aaffbb300f22d1c2e6cc3f75c6745093b7 Mon Sep 17 00:00:00 2001 From: Panagiotis Vretanos Date: Mon, 20 Feb 2023 05:20:27 -0500 Subject: [PATCH 03/15] Patch broken reference. --- core/recommendations/job-list/REC_access-control-job-list.adoc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/core/recommendations/job-list/REC_access-control-job-list.adoc b/core/recommendations/job-list/REC_access-control-job-list.adoc index 25c213b8..089df336 100644 --- a/core/recommendations/job-list/REC_access-control-job-list.adoc +++ b/core/recommendations/job-list/REC_access-control-job-list.adoc @@ -1,8 +1,7 @@ -[[rec_job-list_access-control-job-list]] [recommendation] ==== [%metadata] label:: /rec/job-list/access-control-job-list Servers implementing the conformance class 'Job List' SHOULD have an access control in place for the /jobs endpoint to prevent misuse of job-ids. -==== \ No newline at end of file +==== From 75c9193e61311c50044301db8a9818331f4e1087 Mon Sep 17 00:00:00 2001 From: Panagiotis Vretanos Date: Mon, 20 Feb 2023 06:11:29 -0500 Subject: [PATCH 04/15] Pathch brken references. --- .../core/ATS_job-results-exception-no-such-job.adoc | 3 ++- .../core/ATS_job-results-exception-results-not-ready.adoc | 3 ++- core/abstract_tests/core/ATS_job-results-failed.adoc | 3 ++- core/abstract_tests/job-list/ATS_success.adoc | 2 +- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/core/abstract_tests/core/ATS_job-results-exception-no-such-job.adoc b/core/abstract_tests/core/ATS_job-results-exception-no-such-job.adoc index 870fd0c0..853e4fa7 100644 --- a/core/abstract_tests/core/ATS_job-results-exception-no-such-job.adoc +++ b/core/abstract_tests/core/ATS_job-results-exception-no-such-job.adoc @@ -30,7 +30,6 @@ Validate the document for all supported media types using the resources and test ===== The job results page for a job may be retrieved in a number of different formats. The following table identifies the applicable schema document for each format and the test to be used to validate the job results for a non-existent job against that schema. All supported formats should be exercised. -==== [[job-results-exception-no-such-job]] .Schema and Tests for the Job Result for Non-existent Job @@ -40,3 +39,5 @@ The job results page for a job may be retrieved in a number of different formats |HTML |link:http://schemas.opengis.net/ogcapi/processes/part1/1.0/openapi/schemas/exception.yaml[exception.yaml] |<> |JSON |link:http://schemas.opengis.net/ogcapi/processes/part1/1.0/openapi/schemas/exception.yaml[exception.yaml] |<> |=== + +==== diff --git a/core/abstract_tests/core/ATS_job-results-exception-results-not-ready.adoc b/core/abstract_tests/core/ATS_job-results-exception-results-not-ready.adoc index daf3c2e7..f7799aa9 100644 --- a/core/abstract_tests/core/ATS_job-results-exception-results-not-ready.adoc +++ b/core/abstract_tests/core/ATS_job-results-exception-results-not-ready.adoc @@ -35,7 +35,6 @@ Validate the document for all supported media types using the resources and test ===== The job results page for a job may be retrieved in a number of different formats. The following table identifies the applicable schema document for each format and the test to be used to validate the job results for an incomplete job against that schema. All supported formats should be exercised. -==== [[job-results-exception-results-not-ready]] .Schema and Tests for the Job Result for an Incomplete Job @@ -45,3 +44,5 @@ The job results page for a job may be retrieved in a number of different formats |HTML |link:http://schemas.opengis.net/ogcapi/processes/part1/1.0/openapi/schemas/exception.yaml[exception.yaml] |<> |JSON |link:http://schemas.opengis.net/ogcapi/processes/part1/1.0/openapi/schemas/exception.yaml[exception.yaml] |<> |=== + +==== diff --git a/core/abstract_tests/core/ATS_job-results-failed.adoc b/core/abstract_tests/core/ATS_job-results-failed.adoc index 8f19d2c0..375371ab 100644 --- a/core/abstract_tests/core/ATS_job-results-failed.adoc +++ b/core/abstract_tests/core/ATS_job-results-failed.adoc @@ -40,7 +40,6 @@ Validate the document for all supported media types using the resources and test ===== The job results page for a job may be retrieved in a number of different formats. The following table identifies the applicable schema document for each format and the test to be used to validate the job results for a failed job against that schema. All supported formats should be exercised. -==== [[job-results-failed-schema]] .Schema and Tests for the Job Result for a Failed Job @@ -49,4 +48,6 @@ The job results page for a job may be retrieved in a number of different formats |Format |Schema Document |Test ID |HTML |link:http://schemas.opengis.net/ogcapi/processes/part1/1.0/openapi/schemas/exception.yaml[exception.yaml] |<> |JSON |link:http://schemas.opengis.net/ogcapi/processes/part1/1.0/openapi/schemas/exception.yaml[exception.yaml] |<> +==== + |=== diff --git a/core/abstract_tests/job-list/ATS_success.adoc b/core/abstract_tests/job-list/ATS_success.adoc index b8a57952..0883dce0 100644 --- a/core/abstract_tests/job-list/ATS_success.adoc +++ b/core/abstract_tests/job-list/ATS_success.adoc @@ -19,7 +19,6 @@ Validate the job list content for all supported media types using the resources ===== A job list may be retrieved in a number of different formats. The following table identifies the applicable schema document for each format and the test to be used to validate the against that schema. All supported formats should be exercised. -==== [[job-list-schema]] .Schema and Tests for Job List Content @@ -29,3 +28,4 @@ A job list may be retrieved in a number of different formats. The following tabl |HTML |link:http://schemas.opengis.net/ogcapi/processes/part1/1.0/openapi/schemas/jobList.yaml[jobList.yaml] |<> |JSON |link:http://schemas.opengis.net/ogcapi/processes/part1/1.0/openapi/schemas/jobList.yaml[jobList.yaml] |<> |=== +==== From 495b7f923eb3eb17d7e22d8f79939db54a1d18a2 Mon Sep 17 00:00:00 2001 From: Panagiotis Vretanos Date: Mon, 20 Feb 2023 11:30:15 -0500 Subject: [PATCH 05/15] Path metanorma warnings. --- core/abstract_tests/ATS_class_dismiss.adoc | 9 +++++++++ core/abstract_tests/ATS_class_job-list.adoc | 9 +++++++++ .../dismiss/ATS_job-dismiss-success.adoc | 14 ++++---------- core/abstract_tests/job-list/ATS_success.adoc | 11 ++--------- 4 files changed, 24 insertions(+), 19 deletions(-) diff --git a/core/abstract_tests/ATS_class_dismiss.adoc b/core/abstract_tests/ATS_class_dismiss.adoc index f6d0ece0..11a68ad1 100644 --- a/core/abstract_tests/ATS_class_dismiss.adoc +++ b/core/abstract_tests/ATS_class_dismiss.adoc @@ -9,3 +9,12 @@ classification:: Target Type:Web API include::dismiss/ATS_job-dismiss-op.adoc[] include::dismiss/ATS_job-dismiss-success.adoc[] + +[[job-dismiss-schema]] +.Schema and Tests for Dismissing a Job +[cols="3",options="header"] +|=== +|Format |Schema Document |Test ID +|HTML |link:http://schemas.opengis.net/ogcapi/processes/part1/1.0/openapi/schemas/statusInfo.yaml[statusInfo.yaml] |<> +|JSON |link:http://schemas.opengis.net/ogcapi/processes/part1/1.0/openapi/schemas/statusInfo.yaml[statusInfo.yaml] |<> +|=== diff --git a/core/abstract_tests/ATS_class_job-list.adoc b/core/abstract_tests/ATS_class_job-list.adoc index 487181d8..ab8de9be 100644 --- a/core/abstract_tests/ATS_class_job-list.adoc +++ b/core/abstract_tests/ATS_class_job-list.adoc @@ -36,4 +36,13 @@ include::job-list/ATS_jl-limit-response.adoc[] include::job-list/ATS_success.adoc[] +[[job-list-schema]] +.Schema and Tests for Job List Content +[cols="3",options="header"] +|=== +|Format |Schema Document |Test ID +|HTML |link:http://schemas.opengis.net/ogcapi/processes/part1/1.0/openapi/schemas/jobList.yaml[jobList.yaml] |<> +|JSON |link:http://schemas.opengis.net/ogcapi/processes/part1/1.0/openapi/schemas/jobList.yaml[jobList.yaml] |<> +|=== + include::job-list/ATS_jl-links.adoc[] diff --git a/core/abstract_tests/dismiss/ATS_job-dismiss-success.adoc b/core/abstract_tests/dismiss/ATS_job-dismiss-success.adoc index 05cec26a..5e1e1881 100644 --- a/core/abstract_tests/dismiss/ATS_job-dismiss-success.adoc +++ b/core/abstract_tests/dismiss/ATS_job-dismiss-success.adoc @@ -1,4 +1,5 @@ -[[ats_dismiss_job-dismiss-success]][abstract_test] +[[ats_dismiss_job-dismiss-success]] +[abstract_test] ==== [%metadata] label:: /conf/dismiss/job-dismiss-success @@ -20,17 +21,10 @@ Validate that the status is the response is set to "dismissed". [.component,class=step] -- -Validate the process list content for all supported media types using the resources and tests identified in <> +Validate the process list content for all supported media types using the resources and tests identified in <>. -- ===== NOTE: The response to dismissing a job can be presented in a number of different formats. The following table identifies the applicable schema document for each format and the test to be used to validate against that schema. All supported formats should be exercised. -[[job-dismiss-schema]] -.Schema and Tests for Dismissing a Job -[cols="3",options="header"] -|=== -|Format |Schema Document |Test ID -|HTML |link:http://schemas.opengis.net/ogcapi/processes/part1/1.0/openapi/schemas/statusInfo.yaml[statusInfo.yaml] |<> -|JSON |link:http://schemas.opengis.net/ogcapi/processes/part1/1.0/openapi/schemas/statusInfo.yaml[statusInfo.yaml] |<> -|=== +==== diff --git a/core/abstract_tests/job-list/ATS_success.adoc b/core/abstract_tests/job-list/ATS_success.adoc index 0883dce0..bb3abba3 100644 --- a/core/abstract_tests/job-list/ATS_success.adoc +++ b/core/abstract_tests/job-list/ATS_success.adoc @@ -1,4 +1,5 @@ -[[ats_job-list_job-list-success]][abstract_test] +[[ats_job-list_job-list-success]] +[abstract_test] ==== [%metadata] label:: /conf/job-list/job-list-success @@ -20,12 +21,4 @@ Validate the job list content for all supported media types using the resources A job list may be retrieved in a number of different formats. The following table identifies the applicable schema document for each format and the test to be used to validate the against that schema. All supported formats should be exercised. -[[job-list-schema]] -.Schema and Tests for Job List Content -[cols="3",options="header"] -|=== -|Format |Schema Document |Test ID -|HTML |link:http://schemas.opengis.net/ogcapi/processes/part1/1.0/openapi/schemas/jobList.yaml[jobList.yaml] |<> -|JSON |link:http://schemas.opengis.net/ogcapi/processes/part1/1.0/openapi/schemas/jobList.yaml[jobList.yaml] |<> -|=== ==== From 0d0fad93a5991dcbe59e6ca8e91e8c2158fd2f70 Mon Sep 17 00:00:00 2001 From: Panagiotis Vretanos Date: Mon, 20 Feb 2023 11:42:57 -0500 Subject: [PATCH 06/15] Patch metanorma warnings. --- core/abstract_tests/ATS_class_dismiss.adoc | 2 ++ core/abstract_tests/ATS_class_job-list.adoc | 2 ++ core/abstract_tests/dismiss/ATS_job-dismiss-success.adoc | 2 -- core/abstract_tests/job-list/ATS_success.adoc | 2 -- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/core/abstract_tests/ATS_class_dismiss.adoc b/core/abstract_tests/ATS_class_dismiss.adoc index 11a68ad1..cadaf1ba 100644 --- a/core/abstract_tests/ATS_class_dismiss.adoc +++ b/core/abstract_tests/ATS_class_dismiss.adoc @@ -10,6 +10,8 @@ include::dismiss/ATS_job-dismiss-op.adoc[] include::dismiss/ATS_job-dismiss-success.adoc[] +NOTE: The response to dismissing a job can be presented in a number of different formats. The following table identifies the applicable schema document for each format and the test to be used to validate against that schema. All supported formats should be exercised. + [[job-dismiss-schema]] .Schema and Tests for Dismissing a Job [cols="3",options="header"] diff --git a/core/abstract_tests/ATS_class_job-list.adoc b/core/abstract_tests/ATS_class_job-list.adoc index ab8de9be..7f79fa16 100644 --- a/core/abstract_tests/ATS_class_job-list.adoc +++ b/core/abstract_tests/ATS_class_job-list.adoc @@ -36,6 +36,8 @@ include::job-list/ATS_jl-limit-response.adoc[] include::job-list/ATS_success.adoc[] +NOTE: A job list may be retrieved in a number of different formats. The following table identifies the applicable schema document for each format and the test to be used to validate the against that schema. All supported formats should be exercised. + [[job-list-schema]] .Schema and Tests for Job List Content [cols="3",options="header"] diff --git a/core/abstract_tests/dismiss/ATS_job-dismiss-success.adoc b/core/abstract_tests/dismiss/ATS_job-dismiss-success.adoc index 5e1e1881..e5445f23 100644 --- a/core/abstract_tests/dismiss/ATS_job-dismiss-success.adoc +++ b/core/abstract_tests/dismiss/ATS_job-dismiss-success.adoc @@ -25,6 +25,4 @@ Validate the process list content for all supported media types using the resour -- ===== -NOTE: The response to dismissing a job can be presented in a number of different formats. The following table identifies the applicable schema document for each format and the test to be used to validate against that schema. All supported formats should be exercised. - ==== diff --git a/core/abstract_tests/job-list/ATS_success.adoc b/core/abstract_tests/job-list/ATS_success.adoc index bb3abba3..49e3b354 100644 --- a/core/abstract_tests/job-list/ATS_success.adoc +++ b/core/abstract_tests/job-list/ATS_success.adoc @@ -19,6 +19,4 @@ Validate the job list content for all supported media types using the resources -- ===== -A job list may be retrieved in a number of different formats. The following table identifies the applicable schema document for each format and the test to be used to validate the against that schema. All supported formats should be exercised. - ==== From 711f6483e7206eee1c8878b1d5527726f45a8ddb Mon Sep 17 00:00:00 2001 From: Jerome St-Louis Date: Thu, 3 Mar 2022 21:36:21 -0500 Subject: [PATCH 07/15] Abstract Tests; Requirements: Partial realignment of ATS - This fixes a number of broken links from ATS to requirements - Process execution abstract tests were still called "job creation" - Some re-alignment still needed as per remaining metanorma errors: Anchors: (XML Line 002775): Crossreference target async-fetch is undefined Anchors: (XML Line 000641): Crossreference target link-relations is undefined Anchors: (XML Line 006677): Crossreference target req_core_job-results-sync is undefined Anchors: (XML Line 006708): Crossreference target req_core_job-results-async-raw-value-one is undefined Anchors: (XML Line 006775): Crossreference target req_core_job-results-async-raw-value-multi is undefined Anchors: (XML Line 006821): Crossreference target req_core_job-results-async-raw-ref is undefined Anchors: (XML Line 006867): Crossreference target req_core_job-results-async-raw-mixed-multi is undefined Anchors: (XML Line 006919): Crossreference target req_core_job-results-async-document is undefined Anchors: (XML Line 002534): Crossreference target req_core_process-execute-async is undefined Anchors: (XML Line 006861): Crossreference target req_core_process-execute-async-raw-mixed-multi is undefined Anchors: (XML Line 006815): Crossreference target req_core_process-execute-async-raw-ref is undefined Anchors: (XML Line 006723): Crossreference target req_core_process-execute-async-raw-value-one is undefined Anchors: (XML Line 006769): Crossreference target req_core_process-execute-async-raw-value-multi is undefined Anchors: (XML Line 006913): Crossreference target req_core_process-execute-async-document is undefined Anchors: (XML Line 005970): Crossreference target req_core_process-execute-input-inline is undefined Anchors: (XML Line 005995): Crossreference target req_core_process-execute-input-ref is undefined Anchors: (XML Line 006132): Crossreference target req_core_process-execute-input-inline-bbox is undefined Anchors: (XML Line 006427): Crossreference target ats_core_process-execute-success-header-async is undefined Anchors: (XML Line 006934): Crossreference target req_core_process-execute-sync-document is undefined Anchors: (XML Line 002272): Crossreference target req_core_process-execute-sync-one-small is undefined Anchors: (XML Line 002280): Crossreference target rec_core_process-execute-sync-one-big is undefined Anchors: (XML Line 006888): Crossreference target req_core_process-execute-sync-raw-mixed-multi is undefined Anchors: (XML Line 006836): Crossreference target req_core_process-execute-sync-raw-ref is undefined Anchors: (XML Line 006744): Crossreference target req_core_process-execute-sync-raw-value-one is undefined Anchors: (XML Line 006790): Crossreference target req_core_process-execute-sync-raw-value-multi is undefined Anchors: (XML Line 004416): Crossreference target sc_response_parameter is undefined Requirements: (XML Line 004340): Requirement class rc_json has no corresponding Conformance class test Requirements: (XML Line 004418): Requirement class rc_html has no corresponding Conformance class test Requirements: (XML Line 004602): Requirement class rc_job-list has no corresponding Conformance class test Requirements: (XML Line 005061): Requirement class rc_callback has no corresponding Conformance class test Requirements: (XML Line 005109): Requirement class rc_dismiss has no corresponding Conformance class test --- core/abstract_tests/ATS_class_core.adoc | 31 +++++--- ...TS_job-results-success-async-document.adoc | 61 ++++++++++++++++ ...results-success-async-raw-mixed-multi.adoc | 73 +++++++++++++++++++ ...ATS_job-results-success-async-raw-ref.adoc | 62 ++++++++++++++++ ...results-success-async-raw-value-multi.adoc | 62 ++++++++++++++++ ...b-results-success-async-raw-value-one.adoc | 63 ++++++++++++++++ .../core/ATS_job-results-success-sync.adoc | 2 +- .../core/ATS_process-description-op.adoc | 9 ++- .../core/ATS_process-description-success.adoc | 7 +- ...S_process-execute-auto-execution-mode.adoc | 11 +-- ...rocess-execute-default-execution-mode.adoc | 7 +- .../ATS_process-execute-default-outputs.adoc | 11 +-- .../core/ATS_process-execute-input-array.adoc | 7 +- ...ATS_process-execute-input-inline-bbox.adoc | 7 +- ...S_process-execute-input-inline-binary.adoc | 7 +- ...TS_process-execute-input-inline-mixed.adoc | 7 +- ...S_process-execute-input-inline-object.adoc | 7 +- .../ATS_process-execute-input-inline.adoc | 27 +++++++ .../core/ATS_process-execute-input-ref.adoc | 26 +++++++ .../ATS_process-execute-input-validation.adoc | 9 ++- .../core/ATS_process-execute-inputs.adoc | 12 +-- .../core/ATS_process-execute-op.adoc | 7 +- .../core/ATS_process-execute-request.adoc | 5 +- .../ATS_process-execute-success-async.adoc | 10 +-- ...process-execute-success-sync-document.adoc | 31 ++++++++ ...-execute-success-sync-raw-mixed-multi.adoc | 41 +++++++++++ ..._process-execute-success-sync-raw-ref.adoc | 31 ++++++++ ...-execute-success-sync-raw-value-multi.adoc | 31 ++++++++ ...ss-execute-success-sync-raw-value-one.adoc | 31 ++++++++ .../core/ATS_process-execute-success.adoc | 43 +++++++++++ core/abstract_tests/json/ATS_definition.adoc | 3 +- .../ATS_input-mixed-type.adoc | 2 +- .../ATS_inputs-def.adoc | 2 +- .../ATS_json-encoding.adoc | 2 +- .../ATS_output-mixed-type.adoc | 2 +- .../ATS_outputs-def.adoc | 2 +- .../core/REQ_process-description-op.adoc | 4 +- .../core/REQ_process-description-success.adoc | 4 +- ...REQ_process-execute-input-inline-bbox.adoc | 2 +- 39 files changed, 677 insertions(+), 84 deletions(-) create mode 100644 core/abstract_tests/core/ATS_job-results-success-async-document.adoc create mode 100644 core/abstract_tests/core/ATS_job-results-success-async-raw-mixed-multi.adoc create mode 100644 core/abstract_tests/core/ATS_job-results-success-async-raw-ref.adoc create mode 100644 core/abstract_tests/core/ATS_job-results-success-async-raw-value-multi.adoc create mode 100644 core/abstract_tests/core/ATS_job-results-success-async-raw-value-one.adoc create mode 100644 core/abstract_tests/core/ATS_process-execute-input-inline.adoc create mode 100644 core/abstract_tests/core/ATS_process-execute-input-ref.adoc create mode 100644 core/abstract_tests/core/ATS_process-execute-success-sync-document.adoc create mode 100644 core/abstract_tests/core/ATS_process-execute-success-sync-raw-mixed-multi.adoc create mode 100644 core/abstract_tests/core/ATS_process-execute-success-sync-raw-ref.adoc create mode 100644 core/abstract_tests/core/ATS_process-execute-success-sync-raw-value-multi.adoc create mode 100644 core/abstract_tests/core/ATS_process-execute-success-sync-raw-value-one.adoc create mode 100644 core/abstract_tests/core/ATS_process-execute-success.adoc diff --git a/core/abstract_tests/ATS_class_core.adoc b/core/abstract_tests/ATS_class_core.adoc index a93abd2c..26f8deb4 100644 --- a/core/abstract_tests/ATS_class_core.adoc +++ b/core/abstract_tests/ATS_class_core.adoc @@ -6,7 +6,6 @@ subject:: <> classification:: Target Type:Web API ==== - === Retrieve the API landing page include::core/ATS_landingpage-op.adoc[] @@ -47,16 +46,24 @@ include::core/ATS_process-description-op.adoc[] include::core/ATS_process-description-success.adoc[] +===== Process exception + include::core/ATS_process-exception-no-such-process.adoc[] -=== Execute a process +==== Process execution /processes/{processID}/execution + +include::core/ATS_process-execute-auto-execution-mode.adoc[] -include::core/ATS_process-execute-op.adoc[] +include::core/ATS_process-execute-default-execution-mode.adoc[] include::core/ATS_process-execute-request.adoc[] include::core/ATS_process-execute-inputs.adoc[] +include::core/ATS_process-execute-input-inline.adoc[] + +include::core/ATS_process-execute-input-ref.adoc[] + include::core/ATS_process-execute-input-array.adoc[] include::core/ATS_process-execute-input-inline-object.adoc[] @@ -69,23 +76,23 @@ include::core/ATS_process-execute-input-inline-bbox.adoc[] include::core/ATS_process-execute-input-validation.adoc[] -include::core/ATS_process-execute-default-execution-mode.adoc[] +include::core/ATS_process-execute-success.adoc[] -include::core/ATS_process-execute-auto-execution-mode.adoc[] +include::core/ATS_process-execute-success-sync-raw-value-one.adoc[] -include::core/ATS_process-execute-default-outputs.adoc[] +include::core/ATS_process-execute-success-sync-raw-value-multi.adoc[] -include::core/ATS_process-execute-success-sync-one.adoc[] +include::core/ATS_process-execute-success-sync-raw-ref.adoc[] -include::core/ATS_process-execute-success-sync-one-default-content.adoc[] +include::core/ATS_process-execute-success-sync-raw-mixed-multi.adoc[] -include::core/ATS_process-execute-success-sync-many-json.adoc[] - -include::core/ATS_job-results-success-sync.adoc[] +include::core/ATS_process-execute-success-sync-document.adoc[] include::core/ATS_process-execute-success-async.adoc[] -=== Retrieve status information about a job +==== Jobs + +===== Job status /jobs/{jobID} include::core/ATS_job-op.adoc[] diff --git a/core/abstract_tests/core/ATS_job-results-success-async-document.adoc b/core/abstract_tests/core/ATS_job-results-success-async-document.adoc new file mode 100644 index 00000000..d81b694f --- /dev/null +++ b/core/abstract_tests/core/ATS_job-results-success-async-document.adoc @@ -0,0 +1,61 @@ +[[ats_core_job-results-async-document]] +[abstract_test] +==== +[%metadata] +label:: /conf/core/job-results-async-document +subject:: <> +test-purpose:: Validate that the server responds as expected when the asynchronous execution is <> and the response type is `document`. + +[.component,class=test method] +===== +[.component,class=step] +-- +Get a description of each process offered by the server using test <>. +-- + +[.component,class=step] +-- +Inspect the description of each process and identify the subset of processes that support the `async-execute` job control option. +-- + +[.component,class=step] +-- +For each identified process construct an execute request according to test <> ensuring that asynchronous execution is <> according to test <> and that the requested response type is `document` (i.e. `"response": "document"`) according to requirement <>. +-- + +[.component,class=step] +-- +If the server responds asynchronously periodically retrieve the status of the asynchronously execute job as per test <>. +-- + +[.component,class=step] +-- +When the job status is `successful`, get the results as per test <> and verify that they conform to requirement <>. +-- +===== + +NOTE: In the case where a process supports both `async-execute` and `sync-execute` job control options there is a possibility that the server responds synchronously even though the `Prefer` headers asserts a `respond-async` preference. In this case, the following additional test should be performed: + +[.component,class=test method] +===== +[.component,class=step] +-- +Inspect the headers of the synchronous response and see if a `Link` header is included with `rel=monitor`. +-- + +[.component,class=step] +-- +If the link exists, get the job status as per test <> and ensure that the job status is set to `successful`. +-- + +[.component,class=step] +-- +Get the results as per test <> and verify that they conform to the test <>. +-- + +[.component,class=step] +-- +If the link does not exist then verify that the synchronous response conforms to the requirement <>. +-- +===== +==== diff --git a/core/abstract_tests/core/ATS_job-results-success-async-raw-mixed-multi.adoc b/core/abstract_tests/core/ATS_job-results-success-async-raw-mixed-multi.adoc new file mode 100644 index 00000000..1930e440 --- /dev/null +++ b/core/abstract_tests/core/ATS_job-results-success-async-raw-mixed-multi.adoc @@ -0,0 +1,73 @@ +[[ats_core_job-results-async-raw-mixed-multi]] +[abstract_test] +==== +[%metadata] +label:: /conf/core/job-results-async-raw-mixed-multi +subject:: <> +test-purpose:: Validate that the server responds as expected when asynchronous execution is <>, more than one output is requested, the response type is `raw` and the output transmission is a mix of `value` and `reference`. + +[.component,class=test method] +===== + +[.component,class=step] +-- +Get a description of each process offered by the server using test <>. +-- + +[.component,class=step] +-- +Inspect the description of each process and identify the subset of processes that generate more than one output and that support the `async-execute` job control option. +-- + +[.component,class=step] +-- +For each identified process construct an execute request according to test <> ensuring that asynchronous execution is <> according to test <>, that the requested response type is `raw` (i.e. `"response": "raw"`) and that the output transmission is set to a mix of `value` (i.e. `"outputTransmission": "value"`) and `reference` (i.e. `"outputTransmission": "reference"`) according to requirement <>. +-- + +[.component,class=step] +-- +Periodically retrieve the status of the asynchronously execute job as per test <>. +-- + +[.component,class=step] +-- +When the job status is `successful`, get the results as per test <> and verify that they conform to requirement <>. +-- + +[.component,class=step] +-- +For each output requested with `"transmissionMode": "value"` verify that the body of the corresponding part contains the output value. +-- + +[.component,class=step] +-- +For each output requested with `"transmissionMode": "reference"` verify that the body of the corresponding part is empty and the `Content-Location` header is included that points to the output value. +-- +===== + +NOTE: In the case where a process supports both `async-execute` and `sync-execute` job control options there is a possibility that the server responds synchronously even though the `Prefer` headers asserts a `respond-async` preference. In this case, the following additional test should be performed. + +[.component,class=test method] +===== + +[.component,class=step] +-- +Inspect the headers of the synchronous response and see if a `Link` header is included with `rel=monitor`. +-- + +[.component,class=step] +-- +If the link exists, get the job status as per test <> and ensure that the job status is set to `successful`. +-- + +[.component,class=step] +-- +Get the results as per test <> and verify that they conform to the test <>. +-- + +[.component,class=step] +-- +If the link does not exist then verify that the synchronous response conforms to requirement <>. +-- +===== +==== diff --git a/core/abstract_tests/core/ATS_job-results-success-async-raw-ref.adoc b/core/abstract_tests/core/ATS_job-results-success-async-raw-ref.adoc new file mode 100644 index 00000000..e33aea17 --- /dev/null +++ b/core/abstract_tests/core/ATS_job-results-success-async-raw-ref.adoc @@ -0,0 +1,62 @@ +[[ats_core_job-results-async-raw-ref]] +[abstract_test] +==== +[%metadata] +label:: /conf/core/job-results-async-raw-ref +subject:: <> +test-purpose:: Validate that the server responds as expected when asynchronous execution is <>, the response type is `raw` and the output transmission is `reference`. + +[.component,class=test method] +===== +[.component,class=step] +-- +Get a description of each process offered by the server using test <>. +-- + +[.component,class=step] +-- +Inspect the description of each process and identify the subset of processes that support the `async-execute` job control option and the `reference` output transmission. +-- + +[.component,class=step] +-- +For each identified process construct an execute request according to test <> ensuring that synchronous execution is <> according to test <>, that the requested response type is `raw` (i.e. `"response": "raw"`) and that the output transmission is set to `reference` (i.e. `"outputTransmission": "reference"`) according to requirement <>. +-- + +[.component,class=step] +-- +If the server responds asynchronously, periodically retrieve the status of the asynchronously executed job as per test <>. +-- + +[.component,class=step] +-- +When the job status is `successful`, get the results as per test <> and verify that they conform to requirement <>. +-- +===== + +NOTE: In the case where a process supports both `async-execute` and `sync-execute` job control options there is a possibility that the server responds synchronously even though the `Prefer` headers asserts a `respond-async` preference. In this case, the following additional test should be performed. + +[.component,class=test method] +===== + +[.component,class=step] +-- +Inspect the headers of the synchronous response and see if a `Link` header is included with `rel=monitor`. +-- + +[.component,class=step] +-- +If the link exists, get the job status as per test <> and ensure that the job status is set to `successful`. +-- + +[.component,class=step] +-- +Get the results as per test <> and verify that they conform to the test <>. +-- + +[.component,class=step] +-- +If the link does not exist then verify that the synchronous response conforms to requirement <>. +-- +===== +==== diff --git a/core/abstract_tests/core/ATS_job-results-success-async-raw-value-multi.adoc b/core/abstract_tests/core/ATS_job-results-success-async-raw-value-multi.adoc new file mode 100644 index 00000000..e072f2f5 --- /dev/null +++ b/core/abstract_tests/core/ATS_job-results-success-async-raw-value-multi.adoc @@ -0,0 +1,62 @@ +[[ats_core_job-results-async-raw-value-multi]] +[abstract_test] +==== +[%metadata] +label:: /conf/core/job-results-async-raw-value-multi +subject:: <> +test-purpose:: Validate that the server responds as expected when asynchronous execution is <>, more than one output is requested, the response type is `raw` and the output transmission is `value`. + +[.component,class=test method] +===== +[.component,class=step] +-- +Get a description of each process offered by the server using test <>. +-- + +[.component,class=step] +-- +Inspect the description of each process and identify the subset of processes that generate more than one output and that support the `async-execute` job control option and the `value` output transmission. +-- + +[.component,class=step] +-- +For each identified process construct an execute request according to test <> ensuring that asynchronous execution is <> according to test <>, that the requested response type is `raw` (i.e. `"response": "raw"`) and that the output transmission is set to `value` (i.e. `"outputTransmission": "value"`) according to requirement <>. +-- + +[.component,class=step] +-- +Periodically retrieve the status of the asynchronously execute job as per test <>. +-- + +[.component,class=step] +-- +When the job status is `successful`, get the results as per test <> and verify that they conform to requirement <>. +-- +===== + +NOTE: In the case where a process supports both `async-execute` and `sync-execute` job control options there is a possibility that the server responds synchronously even though the `Prefer` headers asserts a `respond-async` preference. In this case, the following additional test should be performed. + +[.component,class=test method] +===== + +[.component,class=step] +-- +Inspect the headers of the synchronous response and see if a `Link` header is included with `rel=monitor`. +-- + +[.component,class=step] +-- +If the link exists, get the job status as per test <> and ensure that the job status is set to `successful`. +-- + +[.component,class=step] +-- +Get the results as per test <> and verify that they conform to the test <>. +-- + +[.component,class=step] +-- +If the link does not exist then verify that the synchronous response conforms to requirement <>. +-- +===== +==== diff --git a/core/abstract_tests/core/ATS_job-results-success-async-raw-value-one.adoc b/core/abstract_tests/core/ATS_job-results-success-async-raw-value-one.adoc new file mode 100644 index 00000000..feb1e1ad --- /dev/null +++ b/core/abstract_tests/core/ATS_job-results-success-async-raw-value-one.adoc @@ -0,0 +1,63 @@ +[[ats_core_job-results-async-raw-value-one]] +[abstract_test] +==== +[%metadata] +label:: /conf/core/job-results-async-raw-value-one +subject:: <> +test-purpose:: Validate that the server responds as expected when asynchronous execution is <>, one output is requested, the response type is `raw` and the output transmission is `value`. + +[.component,class=test method] +===== + +[.component,class=step] +-- +Get a description of each process offered by the server using test <>. +-- + +[.component,class=step] +-- +Inspect the description of each process and identify the subset of processes that generate at least one output and that support the `async-execute` job control option and the `value` output transmission. +-- + +[.component,class=step] +-- +For each identified process construct an execute request according to test <> ensuring that asynchronous execution is <> according to test <>, that the requested response type is `raw` (i.e. `"response": "raw"`) and that the output transmission is set to `value` (i.e. `"outputTransmission": "value"`) according to requirement <>. +-- + +[.component,class=step] +-- +If the server responds asynchronously, periodically retrieve the status of the asynchronously executed job as per test <>. +-- + +[.component,class=step] +-- +When the job status is `successful`, get the results as per test <> and verify that they conform to requirement <>. +-- +===== + +NOTE: In the case where a process supports both `async-execute` and `sync-execute` job control options there is a possibility that the server responds synchronously even though the `Prefer` headers asserts a `respond-async` preference. In this case, the following additional test should be performed. + +[.component,class=test method] +===== + +[.component,class=step] +-- +Inspect the headers of the synchronous response and see if a `Link` header is included with `rel=monitor`. +-- + +[.component,class=step] +-- +If the link exists, get the job status as per test <> and ensure that the job status is set to `successful`. +-- + +[.component,class=step] +-- +Get the results as per test <> and verify that they conform to the test <>. +-- + +[.component,class=step] +-- +If the link does not exist then verify that the synchronous response conforms to requirement <>. +-- +===== +==== diff --git a/core/abstract_tests/core/ATS_job-results-success-sync.adoc b/core/abstract_tests/core/ATS_job-results-success-sync.adoc index fd391a33..87f2d699 100644 --- a/core/abstract_tests/core/ATS_job-results-success-sync.adoc +++ b/core/abstract_tests/core/ATS_job-results-success-sync.adoc @@ -10,7 +10,7 @@ test-purpose:: Validate that the server responds as expected when getting result [.component,class=step] -- -Get a description of each process offered by the server using test <>. +Get a description of each process offered by the server using test <>. -- [.component,class=step] diff --git a/core/abstract_tests/core/ATS_process-description-op.adoc b/core/abstract_tests/core/ATS_process-description-op.adoc index 62ceefaf..ba0ca036 100644 --- a/core/abstract_tests/core/ATS_process-description-op.adoc +++ b/core/abstract_tests/core/ATS_process-description-op.adoc @@ -1,8 +1,9 @@ -[[ats_core_process]][abstract_test] +[[ats_core_process-description]] +[abstract_test] ==== [%metadata] -label:: /conf/core/process -subject:: <> +label:: /conf/core/process-description +subject:: <> test-purpose:: Validate that a process description can be retrieved from the expected location. [.component,class=test method] @@ -13,7 +14,7 @@ For every Process described in the process list content, issue an HTTP GET reque [.component,class=step] -- -Validate the response using the test <>. +Validate the response using the test <>. -- ====== ===== diff --git a/core/abstract_tests/core/ATS_process-description-success.adoc b/core/abstract_tests/core/ATS_process-description-success.adoc index 118d85bc..0d990b31 100644 --- a/core/abstract_tests/core/ATS_process-description-success.adoc +++ b/core/abstract_tests/core/ATS_process-description-success.adoc @@ -1,8 +1,9 @@ -[[ats_core_process-success]][abstract_test] +[[ats_core_process-description-success]] +[abstract_test] ==== [%metadata] -label:: /conf/core/process-success -subject:: <> +label:: /conf/core/process-description-success +subject:: <> test-purpose:: Validate that the content complies with the required structure and contents. [.component,class=test method] diff --git a/core/abstract_tests/core/ATS_process-execute-auto-execution-mode.adoc b/core/abstract_tests/core/ATS_process-execute-auto-execution-mode.adoc index cd1f5eea..178c0741 100644 --- a/core/abstract_tests/core/ATS_process-execute-auto-execution-mode.adoc +++ b/core/abstract_tests/core/ATS_process-execute-auto-execution-mode.adoc @@ -1,4 +1,5 @@ -[[ats_core_process-execute-auto-execution-mode]][abstract_test] +[[ats_core_process-execute-auto-execution-mode]] +[abstract_test] ==== [%metadata] label:: /conf/core/process-execute-auto-execution-mode @@ -9,7 +10,7 @@ test-purpose:: Validate that the server correctly handles the execution mode for ===== [.component,class=step] -- -Get a description of each process offered by the server using test <>. +Get a description of each process offered by the server using test <>. -- [.component,class=step] @@ -24,17 +25,17 @@ Setting the HTTP `Prefer` header to include the `respond-sync` preference, const [.component,class=step] -- -For processes that are supposed to execute asynchronously according to the <> requirement, verify the successful execution according to the test <>. +For processes that are supposed to execute asynchronously according to the <> requirement, verify the successful execution according to the <> test. -- [.component,class=step] -- -For processes that are supposed to execute synchronously according to the <> requirement, verify that the server successfully executes each identified process according to the tests <>, <> or <> based on the combination of execute parameters used in each case. +For processes that are supposed to execute synchronously according to the <> requirement, verify the successful execution according to the <> -- [.component,class=step] -- -For processes that may execute either synchronously or asynchronously according to the <> requirement, verify that the server successfully executes each identified process according to the tests <>, <>, <> or <> based on the combination of execute parameters used in each case. +For processes that may execute either synchronously or asynchronously according to the <> requirement, verify that successful execution according to the <> -- ===== ==== diff --git a/core/abstract_tests/core/ATS_process-execute-default-execution-mode.adoc b/core/abstract_tests/core/ATS_process-execute-default-execution-mode.adoc index ffb07fd6..312758b3 100644 --- a/core/abstract_tests/core/ATS_process-execute-default-execution-mode.adoc +++ b/core/abstract_tests/core/ATS_process-execute-default-execution-mode.adoc @@ -1,4 +1,5 @@ -[[ats_core_process-execute-default-execution-mode]][abstract_test] +[[ats_core_process-execute-default-execution-mode]] +[abstract_test] ==== [%metadata] label:: /conf/core/process-execute-default-execution-mode @@ -9,7 +10,7 @@ test-purpose:: Validate that the server correctly handles the default execution ===== [.component,class=step] -- -Get a description of each process offered by the server using test <>. +Get a description of each process offered by the server using test <>. -- [.component,class=step] @@ -29,7 +30,7 @@ For processes that are supposed to execute asynchronously according to the <> requirement, verify the successful synchronous execution according to the tests <>, <> or <> based on the combination of execute parameters used in each case. +For processes that are supposed to execute synchronously according to the <> requirement, verify the successful synchronous execution according to the <> -- ===== ==== diff --git a/core/abstract_tests/core/ATS_process-execute-default-outputs.adoc b/core/abstract_tests/core/ATS_process-execute-default-outputs.adoc index 72208bee..453c5093 100644 --- a/core/abstract_tests/core/ATS_process-execute-default-outputs.adoc +++ b/core/abstract_tests/core/ATS_process-execute-default-outputs.adoc @@ -1,15 +1,16 @@ -[[ats_core_process-execute-default-outputs]][abstract_test] +[[ats_core_process-execute-default-outputs]] +[abstract_test] ==== [%metadata] label:: /conf/core/process-execute-default-outputs -subject:: <> +subject:: <> test-purpose:: Validate that the server correctly handles the case where no `outputs` parameter is specified on an execute request. [.component,class=test method] ===== [.component,class=step] -- -Get a description of each process offered by the server using test <>. +Get a description of each process offered by the server using test <>. -- [.component,class=step] @@ -24,12 +25,12 @@ For each process construct an execute request according to test <>, <>, <> or <> based on the combination of execute parameters used in each case. +Verify that each processes executed successfully according to the <> -- [.component,class=step] -- -Verify that the server includes all outputs, as defined in the <>, in the response. +Verify that each process includes all the outputs, as defined in the <>, in the response. -- ===== ==== diff --git a/core/abstract_tests/core/ATS_process-execute-input-array.adoc b/core/abstract_tests/core/ATS_process-execute-input-array.adoc index 4daad657..3ced3266 100644 --- a/core/abstract_tests/core/ATS_process-execute-input-array.adoc +++ b/core/abstract_tests/core/ATS_process-execute-input-array.adoc @@ -1,4 +1,5 @@ -[[ats_core_process-execute-input-array]][abstract_test] +[[ats_core_process-execute-input-array]] +[abstract_test] ==== [%metadata] label:: /conf/core/process-execute-input-array @@ -9,7 +10,7 @@ test-purpose:: Verify that the server correctly recognizes the encoding of param ===== [.component,class=step] -- -Get a description of each process offered by the server using test <>. +Get a description of each process offered by the server using test <>. -- [.component,class=step] @@ -24,7 +25,7 @@ For each identified process construct an execute request according to test <>, <>, <> or <> based on the combination of execute parameters used in each case. +Verify that each process executes successfully according to the <> -- ===== ==== diff --git a/core/abstract_tests/core/ATS_process-execute-input-inline-bbox.adoc b/core/abstract_tests/core/ATS_process-execute-input-inline-bbox.adoc index 7045328d..ab41da69 100644 --- a/core/abstract_tests/core/ATS_process-execute-input-inline-bbox.adoc +++ b/core/abstract_tests/core/ATS_process-execute-input-inline-bbox.adoc @@ -1,4 +1,5 @@ -[[ats_core_process-execute-input-inline-bbox]][abstract_test] +[[ats_core_process-execute-input-inline-bbox]] +[abstract_test] ==== [%metadata] label:: /conf/core/process-execute-input-inline-bbox @@ -9,7 +10,7 @@ test-purpose:: Validate that inputs with a bounding box schema encoded in-line i ===== [.component,class=step] -- -Get a description of each process offered by the server using test <>. +Get a description of each process offered by the server using test <>. -- [.component,class=step] @@ -24,7 +25,7 @@ For each identified process construct an execute request according to test <>, <>, <> or <> based on the combination of execute parameters used in each case. +Verify that each process executes successfully according to the <>. -- ===== ==== diff --git a/core/abstract_tests/core/ATS_process-execute-input-inline-binary.adoc b/core/abstract_tests/core/ATS_process-execute-input-inline-binary.adoc index 7462685f..0ef8f039 100644 --- a/core/abstract_tests/core/ATS_process-execute-input-inline-binary.adoc +++ b/core/abstract_tests/core/ATS_process-execute-input-inline-binary.adoc @@ -1,4 +1,5 @@ -[[ats_core_process-execute-input-inline-binary]][abstract_test] +[[ats_core_process-execute-input-inline-binary]] +[abstract_test] ==== [%metadata] label:: /conf/core/process-execute-input-inline-binary @@ -9,7 +10,7 @@ test-purpose:: Validate that binary input values encoded as base-64 string in-li ===== [.component,class=step] -- -Get a description of each process offered by the server using test <>. +Get a description of each process offered by the server using test <>. -- [.component,class=step] @@ -24,7 +25,7 @@ For each identified process construct an execute request according to test <>, <>, <> or <> based on the combination of execute parameters used in each case. +Verify that each process executes successfully according to the <> -- ===== ==== diff --git a/core/abstract_tests/core/ATS_process-execute-input-inline-mixed.adoc b/core/abstract_tests/core/ATS_process-execute-input-inline-mixed.adoc index 01e616b6..8e40c76a 100644 --- a/core/abstract_tests/core/ATS_process-execute-input-inline-mixed.adoc +++ b/core/abstract_tests/core/ATS_process-execute-input-inline-mixed.adoc @@ -1,4 +1,5 @@ -[[ats_core_process-execute-input-inline-mixed]][abstract_test] +[[ats_core_process-execute-input-inline-mixed]] +[abstract_test] ==== [%metadata] label:: /conf/core/process-execute-input-inline-mixed @@ -9,7 +10,7 @@ test-purpose:: Validate that inputs of mixed content encoded in-line in an execu ===== [.component,class=step] -- -Get a description of each process offered by the server using test <>. +Get a description of each process offered by the server using test <>. -- [.component,class=step] @@ -24,7 +25,7 @@ For each identified process construct an execute request according to test <>, <>, <> or <> based on the combination of execute parameters used in each case. +Verify that each process executes successfully according to the <> -- ===== ==== diff --git a/core/abstract_tests/core/ATS_process-execute-input-inline-object.adoc b/core/abstract_tests/core/ATS_process-execute-input-inline-object.adoc index 6d702317..f0ede5fe 100644 --- a/core/abstract_tests/core/ATS_process-execute-input-inline-object.adoc +++ b/core/abstract_tests/core/ATS_process-execute-input-inline-object.adoc @@ -1,4 +1,5 @@ -[[ats_core_process-execute-input-inline-object]][abstract_test] +[[ats_core_process-execute-input-inline-object]] +[abstract_test] ==== [%metadata] label:: /conf/core/process-execute-input-inline-object @@ -9,7 +10,7 @@ test-purpose:: Validate that inputs with a complex object schema encoded in-line ===== [.component,class=step] -- -Get a description of each process offered by the server using test <>. +Get a description of each process offered by the server using test <>. -- [.component,class=step] @@ -24,7 +25,7 @@ For each identified process construct an execute request according to test <>, <>, <> or <> based on the combination of execute parameters used in each case. +Verify that each process executes successfully according to the <> -- ===== ==== diff --git a/core/abstract_tests/core/ATS_process-execute-input-inline.adoc b/core/abstract_tests/core/ATS_process-execute-input-inline.adoc new file mode 100644 index 00000000..6727828a --- /dev/null +++ b/core/abstract_tests/core/ATS_process-execute-input-inline.adoc @@ -0,0 +1,27 @@ +[[ats_core_process-execute-input-inline]] +[abstract_test] +==== +[%metadata] +label:: /conf/core/process-execute-input-inline +subject:: <> +test-purpose:: Validate in-line process input values are validated against the corresponding schema from the process description. + +[.component,class=test method] +===== + +[.component,class=step] +-- +Get a description of each process offered by the server using test <>. +-- + +[.component,class=step] +-- +For each process construct an execute request according to test <> taking care to encode process inputs in-line with the execute request according to the requirement <>. +-- + +[.component,class=step] +-- +Verify that each process executes successfully according to the <> +-- +===== +==== diff --git a/core/abstract_tests/core/ATS_process-execute-input-ref.adoc b/core/abstract_tests/core/ATS_process-execute-input-ref.adoc new file mode 100644 index 00000000..70a014b2 --- /dev/null +++ b/core/abstract_tests/core/ATS_process-execute-input-ref.adoc @@ -0,0 +1,26 @@ +[[ats_core_process-execute-input-ref]] +[abstract_test] +==== +[%metadata] +label:: /conf/core/process-execute-input-ref +subject:: <> +test-purpose:: Validate that input values specified by reference in an execute request are correctly processed. + +[.component,class=test method] +===== +[.component,class=step] +-- +Get a description of each process offered by the server using test <>. +-- + +[.component,class=step] +-- +For each identified process construct an execute request according to test <> taking care to encode input values by reference according to requirement <>. +-- + +[.component,class=step] +-- +Verify that each process executes successfully according to the <> +-- +===== +==== diff --git a/core/abstract_tests/core/ATS_process-execute-input-validation.adoc b/core/abstract_tests/core/ATS_process-execute-input-validation.adoc index b2414078..d2f36efe 100644 --- a/core/abstract_tests/core/ATS_process-execute-input-validation.adoc +++ b/core/abstract_tests/core/ATS_process-execute-input-validation.adoc @@ -1,4 +1,5 @@ -[[ats_core_process-execute-input-validation]][abstract_test] +[[ats_core_process-execute-input-validation]] +[abstract_test] ==== [%metadata] label:: /conf/core/process-execute-input-validation @@ -10,7 +11,7 @@ test-purpose:: Verify that the server correctly validates process input values a [.component,class=step] -- -Get a description of each process offered by the server using test <>. +Get a description of each process offered by the server using test <>. -- [.component,class=step] @@ -25,7 +26,7 @@ For each process construct an execute request according to test <>, <>, <> or <> based on the combination of execute parameters used in each case. +Verify that each process executes successfully according to the <> -- [.component,class=step] @@ -35,7 +36,7 @@ For each process construct an execute request according to test <> taking care to include process input values both in-line and by reference. --- - [.component,class=step] -- -Verify that the server successfully executes each process according to the tests <>, <>, <> or <> based on the combination of execute parameters used in each case. +Verify that the server passes tests <> and <> . -- ===== - ==== diff --git a/core/abstract_tests/core/ATS_process-execute-op.adoc b/core/abstract_tests/core/ATS_process-execute-op.adoc index 49a898a6..688fdcc9 100644 --- a/core/abstract_tests/core/ATS_process-execute-op.adoc +++ b/core/abstract_tests/core/ATS_process-execute-op.adoc @@ -1,9 +1,10 @@ -[[ats_core_process-execute-op]][abstract_test] +[[ats_core_process-execute-op]] +[abstract_test] ==== [%metadata] label:: /conf/core/process-execute-op subject:: <> -test-purpose:: Validate the creation of a new job. +test-purpose:: Validate the execution of a process. [.component,class=test method] ===== @@ -20,7 +21,7 @@ Validate the contents of the POST request using the test <>, <>. +Validate the execution of a process according to the requirements <>, <>. -- ===== ==== diff --git a/core/abstract_tests/core/ATS_process-execute-request.adoc b/core/abstract_tests/core/ATS_process-execute-request.adoc index 0087dea6..c8f43dd5 100644 --- a/core/abstract_tests/core/ATS_process-execute-request.adoc +++ b/core/abstract_tests/core/ATS_process-execute-request.adoc @@ -1,9 +1,10 @@ -[[ats_core_process-execute-request]][abstract_test] +[[ats_core_process-execute-request]] +[abstract_test] ==== [%metadata] label:: /conf/core/process-execute-request subject:: <> -test-purpose:: Validate that the body of a job creation operation complies with the required structure and contents. +test-purpose:: Validate that the body of a process execution operation complies with the required structure and contents. [.component,class=test method] ===== diff --git a/core/abstract_tests/core/ATS_process-execute-success-async.adoc b/core/abstract_tests/core/ATS_process-execute-success-async.adoc index 6c0493d9..ce924705 100644 --- a/core/abstract_tests/core/ATS_process-execute-success-async.adoc +++ b/core/abstract_tests/core/ATS_process-execute-success-async.adoc @@ -1,4 +1,5 @@ -[[ats_core_process-execute-success-async]][abstract_test] +[[ats_core_process-execute-success-async]] +[abstract_test] ==== [%metadata] label:: /conf/core/process-execute-success-async @@ -15,12 +16,7 @@ Validate that results of the job was returned with an HTTP status code 201. [.component,class=step] -- -Validate that the response header contains a `Location` header that contains a link to the newly created job. --- - -[.component,class=step] --- -Verify the contents of the response body against the OpenAPI 3.0 schema https://raw.githubusercontent.com/opengeospatial/ogcapi-processes/master/core/openapi/schemas/statusInfo.yaml[statusInfo.yaml]. +Validate the HTTP headers of the results using the test <>. -- ===== ==== diff --git a/core/abstract_tests/core/ATS_process-execute-success-sync-document.adoc b/core/abstract_tests/core/ATS_process-execute-success-sync-document.adoc new file mode 100644 index 00000000..b942c02b --- /dev/null +++ b/core/abstract_tests/core/ATS_process-execute-success-sync-document.adoc @@ -0,0 +1,31 @@ +[[ats_core_process-execute-sync-document]] +[abstract_test] +==== +[%metadata] +label:: /conf/core/process-execute-sync-document +subject:: <> +test-purpose:: Validate that the server responds as expected when synchronous execution is <> and the response type is `document`. + +[.component,class=test method] +===== +[.component,class=step] +-- +Get a description of each process offered by the server using test <>. +-- + +[.component,class=step] +-- +Inspect the description of each process and identify the subset of processes that support the `sync-execute` job control option. +-- + +[.component,class=step] +-- +For each identified process construct an execute request according to test <> ensuring that synchronous execution has been <> according to tests <> and the requested response type is `document` (i.e. `"response": "document"`) according to requirement <>. +-- + +[.component,class=step] +-- +Verify that each process executes successfully according to requirement <>. +-- +===== +==== diff --git a/core/abstract_tests/core/ATS_process-execute-success-sync-raw-mixed-multi.adoc b/core/abstract_tests/core/ATS_process-execute-success-sync-raw-mixed-multi.adoc new file mode 100644 index 00000000..de8d1a80 --- /dev/null +++ b/core/abstract_tests/core/ATS_process-execute-success-sync-raw-mixed-multi.adoc @@ -0,0 +1,41 @@ +[[ats_core_process-execute-sync-raw-mixed-multi]] +[abstract_test] +==== +[%metadata] +label:: /conf/core/process-execute-sync-raw-mixed-multi +subject:: <> +test-purpose:: Validate that the server responds as expected when synchronous execution is <>, the response type is `raw` and the output transmission is a mix of `value` and `reference`. + +[.component,class=test method] +===== +[.component,class=step] +-- +Get a description of each process offered by the server using test <>. +-- + +[.component,class=step] +-- +Inspect the description of each process and identify the subset of processes that generate more that one output and support the `sync-execute` job control option. +-- + +[.component,class=step] +-- +For each identified process construct an execute request according to test <> ensuring that synchronous execution is <> according to test <>, that more than one output is requested, that the requested response type is `raw` (i.e. `"response": "raw"`) and the the transmission mode is a mix of `value` (i.e. `"transmissionMode": "value"`) and reference (i.e. `"transmissionMode": "reference"`) according to requirement <>. +-- + +[.component,class=step] +-- +Verify that each process executes successfully according to requirement <>. +-- + +[.component,class=step] +-- +For each output requested with `"transmissionMode": "value"` verify that the body of the corresponding part contains the output value. +-- + +[.component,class=step] +-- +For each output requested with `"transmissionMode": "reference"` verify that the body of the corresponding part is empty and the `Content-Location` header is included that points to the output value. +-- +===== +==== diff --git a/core/abstract_tests/core/ATS_process-execute-success-sync-raw-ref.adoc b/core/abstract_tests/core/ATS_process-execute-success-sync-raw-ref.adoc new file mode 100644 index 00000000..96ec1799 --- /dev/null +++ b/core/abstract_tests/core/ATS_process-execute-success-sync-raw-ref.adoc @@ -0,0 +1,31 @@ +[[ats_core_process-execute-sync-raw-ref]] +[abstract_test] +==== +[%metadata] +label:: /conf/core/process-execute-sync-raw-ref +subject:: <> +test-purpose:: Validate that the server responds as expected when synchronous execution is <>, the response type is `raw` and the transmission mode is `ref`. + +[.component,class=test method] +===== +[.component,class=step] +-- +Get a description of each process offered by the server using test <>. +-- + +[.component,class=step] +-- +Inspect the description of each process and identify the subset of processes that support the `sync-execute` job control option and the `reference` output transmission. +-- + +[.component,class=step] +-- +For each identified process construct an execute request according to test <> ensuring that synchronous execution is <> according to test <>, that the requested response type is `raw` (i.e. `"response": "raw"`) and the transmission mode is set to `ref` (i.e. `"transmissionMode": "ref"`) according to requirement <>. +-- + +[.component,class=step] +-- +Verify that each process executes successfully according to requirement <>. +-- +===== +==== diff --git a/core/abstract_tests/core/ATS_process-execute-success-sync-raw-value-multi.adoc b/core/abstract_tests/core/ATS_process-execute-success-sync-raw-value-multi.adoc new file mode 100644 index 00000000..c5683064 --- /dev/null +++ b/core/abstract_tests/core/ATS_process-execute-success-sync-raw-value-multi.adoc @@ -0,0 +1,31 @@ +[[ats_core_process-execute-sync-raw-value-multi]] +[abstract_test] +==== +[%metadata] +label:: /conf/core/process-execute-sync-raw-value-multi +subject:: <> +test-purpose:: Validate that the server responds as expected when synchronous execution is <>, the response type is `raw` and the output transmission is `value`. + +[.component,class=test method] +===== +[.component,class=step] +-- +Get a description of each process offered by the server using test <>. +-- + +[.component,class=step] +-- +Inspect the description of each process and identify the subset of processes that generate more that one output, support the `sync-execute` job control option and the `value` output transmission. +-- + +[.component,class=step] +-- +For each identified process construct an execute request according to test <> ensuring that synchronous execution is <> according to test <>, that more than one output is requested, that the requested response type is `raw` (i.e. `"response": "raw"`) and the the transmission mode is set to `value` (i.e. `"transmissionMode": "value"`) according to requirement <>. +-- + +[.component,class=step] +-- +Verify that each process executes successfully according to requirement <>. +-- +===== +==== diff --git a/core/abstract_tests/core/ATS_process-execute-success-sync-raw-value-one.adoc b/core/abstract_tests/core/ATS_process-execute-success-sync-raw-value-one.adoc new file mode 100644 index 00000000..09cabf86 --- /dev/null +++ b/core/abstract_tests/core/ATS_process-execute-success-sync-raw-value-one.adoc @@ -0,0 +1,31 @@ +[[ats_core_process-execute-sync-raw-value-one]] +[abstract_test] +==== +[%metadata] +label:: /conf/core/process-execute-sync-raw-value-one +subject:: <> +test-purpose:: Validate that the server responds as expected when synchronous execution is <>, a single output value is requested, the response type is `raw` and the output transmission is `value`. + +[.component,class=test method] +===== +[.component,class=step] +-- +Get a description of each process offered by the server using test <>. +-- + +[.component,class=step] +-- +Inspect the description of each process and identify the subset of processes that generate at least one output and support the `sync-execute` job control option and the `value` output transmission. +-- + +[.component,class=step] +-- +For each identified process construct an execute request according to test <> ensuring that synchronous execution is <> according to test <>, that only one output is requested, that the requested response type is `raw` (i.e. `"response": "raw"`) and that the output transmission is set to `value` (i.e. `"transmissionMode": "value"`) according to requirement <>. +-- + +[.component,class=step] +-- +Verify that each process executes successfully according to requirement <>. +-- +===== +==== diff --git a/core/abstract_tests/core/ATS_process-execute-success.adoc b/core/abstract_tests/core/ATS_process-execute-success.adoc new file mode 100644 index 00000000..8401c595 --- /dev/null +++ b/core/abstract_tests/core/ATS_process-execute-success.adoc @@ -0,0 +1,43 @@ +[[ats-process-execute-success-sync]] +The response generated when executing a process depends on a number of parameters specified in the execute request. The following table enumerates the relevant requirement that needs to be satisfied based on the various execute parameter combinations. + +[%unnumbered] +[options="header"] +|=== +| mode | response | tx mode | # out | requirement + +.8+|sync +.4+|raw +.2+|value + +|1 +|<> + +|* +|<> + +.2+|ref +|1 +.2+|<> + +|* + +.4+|document +.2+|value +|1 +.4+|<> +|* + +.2+|ref +|1 +|* + +|async +|_any_ +|_any_ +|_any_ +|<> + +|=== + +NOTE: The value _any_ in a cell means _"for any valid value of the execute parameter represented by that cell"_. diff --git a/core/abstract_tests/json/ATS_definition.adoc b/core/abstract_tests/json/ATS_definition.adoc index b666e2cf..243c2382 100644 --- a/core/abstract_tests/json/ATS_definition.adoc +++ b/core/abstract_tests/json/ATS_definition.adoc @@ -1,4 +1,5 @@ -[[ats_json_content]][abstract_test] +[[ats_json_content]] +[abstract_test] ==== [%metadata] label:: /conf/json/definition diff --git a/core/abstract_tests/ogc-process-description/ATS_input-mixed-type.adoc b/core/abstract_tests/ogc-process-description/ATS_input-mixed-type.adoc index 9ca59bb5..f1cb8ea6 100644 --- a/core/abstract_tests/ogc-process-description/ATS_input-mixed-type.adoc +++ b/core/abstract_tests/ogc-process-description/ATS_input-mixed-type.adoc @@ -10,7 +10,7 @@ test-purpose:: Validate that each input of mixed type complies with the required [.component,class=step] -- -Retrieve a description of each process according to test <>. +Retrieve a description of each process according to test <>. -- [.component,class=step] diff --git a/core/abstract_tests/ogc-process-description/ATS_inputs-def.adoc b/core/abstract_tests/ogc-process-description/ATS_inputs-def.adoc index 57278026..6c402718 100644 --- a/core/abstract_tests/ogc-process-description/ATS_inputs-def.adoc +++ b/core/abstract_tests/ogc-process-description/ATS_inputs-def.adoc @@ -10,7 +10,7 @@ test-purpose:: Verify that the definition of `inputs` for each process complies [.component,class=step] -- -Retrieve a description of each process according to test <>. +Retrieve a description of each process according to test <>. -- [.component,class=step] diff --git a/core/abstract_tests/ogc-process-description/ATS_json-encoding.adoc b/core/abstract_tests/ogc-process-description/ATS_json-encoding.adoc index 01b8ed17..4650aa6f 100644 --- a/core/abstract_tests/ogc-process-description/ATS_json-encoding.adoc +++ b/core/abstract_tests/ogc-process-description/ATS_json-encoding.adoc @@ -10,7 +10,7 @@ test-purpose:: Verify that a JSON-encoded OGC Process Description complies with [.component,class=step] -- -Retrieve a description of each process according to test <>. +Retrieve a description of each process according to test <>. -- [.component,class=step] diff --git a/core/abstract_tests/ogc-process-description/ATS_output-mixed-type.adoc b/core/abstract_tests/ogc-process-description/ATS_output-mixed-type.adoc index 164a93e0..04b12edd 100644 --- a/core/abstract_tests/ogc-process-description/ATS_output-mixed-type.adoc +++ b/core/abstract_tests/ogc-process-description/ATS_output-mixed-type.adoc @@ -10,7 +10,7 @@ test-purpose:: Validate that each output of mixed type complies with the require [.component,class=step] -- -Retrieve a description of each process according to test <>. +Retrieve a description of each process according to test <>. -- [.component,class=step] diff --git a/core/abstract_tests/ogc-process-description/ATS_outputs-def.adoc b/core/abstract_tests/ogc-process-description/ATS_outputs-def.adoc index 4b7d9dcd..cf113b8f 100644 --- a/core/abstract_tests/ogc-process-description/ATS_outputs-def.adoc +++ b/core/abstract_tests/ogc-process-description/ATS_outputs-def.adoc @@ -10,7 +10,7 @@ test-purpose:: Verify that the definition of `outputs` for each process complies [.component,class=step] -- -Retrieve a description of each process according to test <>. +Retrieve a description of each process according to test <>. -- [.component,class=step] diff --git a/core/requirements/core/REQ_process-description-op.adoc b/core/requirements/core/REQ_process-description-op.adoc index 3b2b5a5f..e8f1c36a 100644 --- a/core/requirements/core/REQ_process-description-op.adoc +++ b/core/requirements/core/REQ_process-description-op.adoc @@ -1,8 +1,8 @@ -[[req_core_process]] +[[req_core_process-description]] [requirement] ==== [%metadata] -label:: /req/core/process +label:: /req/core/process-description The server SHALL support the HTTP GET operation at the path `/processes/{processID}`. ==== diff --git a/core/requirements/core/REQ_process-description-success.adoc b/core/requirements/core/REQ_process-description-success.adoc index 9355bbef..60a1b168 100644 --- a/core/requirements/core/REQ_process-description-success.adoc +++ b/core/requirements/core/REQ_process-description-success.adoc @@ -1,8 +1,8 @@ -[[req_core_process-success]] +[[req_core_process-description-success]] [requirement] ==== [%metadata] -label:: /req/core/process-success +label:: /req/core/process-description-success part:: A successful execution of the operation SHALL be reported as a response with a HTTP status code 200. part:: The content of the response SHALL be a process description. ==== diff --git a/core/requirements/core/REQ_process-execute-input-inline-bbox.adoc b/core/requirements/core/REQ_process-execute-input-inline-bbox.adoc index 4caeb7ed..e1967413 100644 --- a/core/requirements/core/REQ_process-execute-input-inline-bbox.adoc +++ b/core/requirements/core/REQ_process-execute-input-inline-bbox.adoc @@ -1,4 +1,4 @@ -[[req_core_process-execute-input-inline-bbox]] +[[req_core-process-execute-input-inline-bbox]] [requirement] ==== [%metadata] From cd23f6052004484b4631ed3445dce9896866b080 Mon Sep 17 00:00:00 2001 From: Jerome St-Louis Date: Thu, 3 Mar 2022 21:51:07 -0500 Subject: [PATCH 08/15] (#283) Requirement 17; Abstract Tests 16,19 - Rephrased to reflect that the server is the target --- core/abstract_tests/core/ATS_process-execute-op.adoc | 2 +- core/abstract_tests/core/ATS_process-execute-request.adoc | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/core/abstract_tests/core/ATS_process-execute-op.adoc b/core/abstract_tests/core/ATS_process-execute-op.adoc index 688fdcc9..00807d7a 100644 --- a/core/abstract_tests/core/ATS_process-execute-op.adoc +++ b/core/abstract_tests/core/ATS_process-execute-op.adoc @@ -16,7 +16,7 @@ Issue an HTTP POST request to the URL '/processes/{processID}/execution' for eac [.component,class=step] -- -Validate the contents of the POST request using the test <>. +Validate that the server supports a POST request for that operation according to the test <>. -- [.component,class=step] diff --git a/core/abstract_tests/core/ATS_process-execute-request.adoc b/core/abstract_tests/core/ATS_process-execute-request.adoc index c8f43dd5..7b1b1aca 100644 --- a/core/abstract_tests/core/ATS_process-execute-request.adoc +++ b/core/abstract_tests/core/ATS_process-execute-request.adoc @@ -4,13 +4,13 @@ [%metadata] label:: /conf/core/process-execute-request subject:: <> -test-purpose:: Validate that the body of a process execution operation complies with the required structure and contents. +test-purpose:: Validate that the server supports a process execution operation complying with the required structure and contents. [.component,class=test method] ===== [.component,class=step] -- -Verify the contents of the request body against the OpenAPI 3.0 schema https://raw.githubusercontent.com/opengeospatial/ogcapi-processes/master/core/openapi/schemas/execute.yaml[execute.yaml]. +Verify that the server supports a process execution request whose body conforms to the OpenAPI 3.0 schema https://raw.githubusercontent.com/opengeospatial/ogcapi-processes/master/core/openapi/schemas/execute.yaml[execute.yaml]. -- ===== ==== From 4075668aac6becef655706cc6472fa0b33443883 Mon Sep 17 00:00:00 2001 From: Jerome St-Louis Date: Mon, 1 May 2023 08:56:00 -0400 Subject: [PATCH 09/15] bbox schema: Allowing arbitrary CRS URI - Fixes #317 --- openapi/ogcapi-processes.bundled.json | 22 +++++++++++++++------- openapi/schemas/processes-core/bbox.yaml | 13 ++++++++----- 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/openapi/ogcapi-processes.bundled.json b/openapi/ogcapi-processes.bundled.json index 06398d12..d6d2aa5f 100644 --- a/openapi/ogcapi-processes.bundled.json +++ b/openapi/ogcapi-processes.bundled.json @@ -1369,13 +1369,21 @@ } }, "crs": { - "type": "string", - "format": "uri", - "default": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", - "enum": [ - "http://www.opengis.net/def/crs/OGC/1.3/CRS84", - "http://www.opengis.net/def/crs/OGC/0/CRS84h" - ] + "anyOf": [ + { + "type": "string", + "format": "uri", + "enum": [ + "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "http://www.opengis.net/def/crs/OGC/0/CRS84h" + ] + }, + { + "type": "string", + "format": "uri" + } + ], + "default": "http://www.opengis.net/def/crs/OGC/1.3/CRS84" } } }, diff --git a/openapi/schemas/processes-core/bbox.yaml b/openapi/schemas/processes-core/bbox.yaml index 52f351e9..1bdad455 100644 --- a/openapi/schemas/processes-core/bbox.yaml +++ b/openapi/schemas/processes-core/bbox.yaml @@ -12,9 +12,12 @@ properties: items: type: number crs: - type: string - format: uri + anyOf: + - type: string + format: uri + enum: + - "http://www.opengis.net/def/crs/OGC/1.3/CRS84" + - "http://www.opengis.net/def/crs/OGC/0/CRS84h" + - type: string + format: uri default: "http://www.opengis.net/def/crs/OGC/1.3/CRS84" - enum: - - "http://www.opengis.net/def/crs/OGC/1.3/CRS84" - - "http://www.opengis.net/def/crs/OGC/0/CRS84h" From 79749b5e2dd3c08a8f60794204d4e6d8f84f10b4 Mon Sep 17 00:00:00 2001 From: Jerome St-Louis Date: Mon, 1 May 2023 08:57:01 -0400 Subject: [PATCH 10/15] OpenAPI: Example Server #1 - TODO: add more implementations (ZOO project...) --- openapi/ogcapi-processes.bundled.json | 6 +++--- openapi/ogcapi-processes.yaml | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/openapi/ogcapi-processes.bundled.json b/openapi/ogcapi-processes.bundled.json index d6d2aa5f..15bcec29 100644 --- a/openapi/ogcapi-processes.bundled.json +++ b/openapi/ogcapi-processes.bundled.json @@ -2,8 +2,8 @@ "openapi": "3.0.0", "info": { "version": "0.1", - "title": "OGC API - Processes - Part 3: Workflows & Chaining", - "description": "Example API Definition for OGC API - Part 3: Workflows & Chaining", + "title": "OGC API - Processes", + "description": "Example API Definition for OGC API - Processes", "contact": { "name": "Open Geospatial Consortium", "email": "info@ogc.org" @@ -15,7 +15,7 @@ }, "servers": [ { - "description": "Example Processes - Workflows server", + "description": "Example Server 1 (GNOSIS, supporting Part 1: Core /Sync and Part 3: Workflows)", "url": "https://maps.gnosis.earth/ogcapi" } ], diff --git a/openapi/ogcapi-processes.yaml b/openapi/ogcapi-processes.yaml index a866f4df..b5cb2fe9 100644 --- a/openapi/ogcapi-processes.yaml +++ b/openapi/ogcapi-processes.yaml @@ -11,7 +11,8 @@ info: name: OGC License url: http://www.opengeospatial.org/legal/ servers: - - description: Example Server 1 (GNOSIS, supporting Part 1: Core /Sync and Part 3: Workflows) + - description: |- + Example Server 1 (GNOSIS, supporting Part 1: Core /Sync and Part 3: Workflows) url: https://maps.gnosis.earth/ogcapi paths: # OGC API - Common - Part 1: Core From ff672aba51453e4c983a59a9241e97c54b1718f4 Mon Sep 17 00:00:00 2001 From: Jerome St-Louis Date: Mon, 1 May 2023 09:02:06 -0400 Subject: [PATCH 11/15] README.md: Added quick links at the top to published standard and draft Part 1, 2, 3 --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 2463136f..8974e622 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,14 @@ This GitHub repository contains the OGC API - Processes for processing geospatial information on the web. It focuses on a simple RESTful core specified as reusable [OpenAPI](http://openapis.org) components with responses in JSON and HTML. +The latest published version of _OGC API - Processes - Part 1: Core_ is found here in [HTML](https://docs.ogc.org/is/18-062r2/18-062r2.html) or [PDF](https://docs.ogc.org/is/18-062r2/18-062r2.pdf). + +The latest Editor's Draft version of _OGC API - Processes - Part 1: Core_ (1.1 or 2.0) is found here in [HTML](https://opengeospatial.github.io/ogcna-auto-review) or [PDF](https://opengeospatial.github.io/ogcna-auto-review). + +The latest Draft of _OGC API - Processes - Part 2: Deploy, Replace, Update_ is found here in [HTML](http://docs.ogc.org/DRAFTS/20-044.html) or [PDF](http://docs.ogc.org/DRAFTS/20-044.pdf). + +The latest Draft of _OGC API - Processes - Part 3: Workflows and Chaining_ is found here in [HTML](https://opengeospatial.github.io/ogcna-auto-review/21-009.html) or [PDF](https://opengeospatial.github.io/ogcna-auto-review/21-009.pdf). + [OGC API standards](https://ogcapi.ogc.org) define modular API building blocks to spatially enable Web APIs in a consistent way. [OpenAPI](http://openapis.org) is used to define the reusable API building blocks. From e12b4341c36c3d080a98901c7e5aa0deb3c4a8ec Mon Sep 17 00:00:00 2001 From: Jerome St-Louis Date: Mon, 1 May 2023 10:01:27 -0400 Subject: [PATCH 12/15] 7-core: Added note explaining the use of `oneOf` for bbox schema --- core/sections/clause_7_core.adoc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/sections/clause_7_core.adoc b/core/sections/clause_7_core.adoc index 67f03837..8ccc4f60 100644 --- a/core/sections/clause_7_core.adoc +++ b/core/sections/clause_7_core.adoc @@ -842,6 +842,8 @@ This schema is meant to be a template for defining bounding box process inputs. include::../recommendations/core/PER_process-execute-input-inline-bbox.adoc[] +NOTE: The `crs` property has been defined using a `oneOf` of either an enumeration or a generic URI string to allow execution requests making use of a CRS other than CRS84 and CRS84h that may be supported by the server to validate with the canonical OGC schema. + *_Input validation_* Process inputs in an execute request and the corresponding process input definition in the <> have a validation relationship. That is to say, that the schema of a process input definition from the <> can be used to validate the component of the corresponding process input value in an execute request that is an instance of <>. From d3c318825157c9e327ad42f9f07dcf407d61d3ac Mon Sep 17 00:00:00 2001 From: Jerome St-Louis Date: Mon, 1 May 2023 10:08:00 -0400 Subject: [PATCH 13/15] inline-bbox permission: Fixed are/as required typo --- .../core/PER_process-execute-input-inline-bbox.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/recommendations/core/PER_process-execute-input-inline-bbox.adoc b/core/recommendations/core/PER_process-execute-input-inline-bbox.adoc index bd1bd340..6838689a 100644 --- a/core/recommendations/core/PER_process-execute-input-inline-bbox.adoc +++ b/core/recommendations/core/PER_process-execute-input-inline-bbox.adoc @@ -4,5 +4,5 @@ [%metadata] label:: /per/core/process-execute-input-inline-bbox -Servers MAY copy the contents of <> into another file and adjust the `default` and `enum` values are required. -==== \ No newline at end of file +Servers MAY copy the contents of <> into another file and adjust the `default` and `enum` values as required. +==== From e7b82b9d5ee116498748d31cf4fd988046d44e06 Mon Sep 17 00:00:00 2001 From: Jerome St-Louis Date: Mon, 1 May 2023 10:12:43 -0400 Subject: [PATCH 14/15] 7-core: Fixed mention of oneOf -> anyOf --- core/sections/clause_7_core.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/sections/clause_7_core.adoc b/core/sections/clause_7_core.adoc index 8ccc4f60..019c7d3f 100644 --- a/core/sections/clause_7_core.adoc +++ b/core/sections/clause_7_core.adoc @@ -842,7 +842,7 @@ This schema is meant to be a template for defining bounding box process inputs. include::../recommendations/core/PER_process-execute-input-inline-bbox.adoc[] -NOTE: The `crs` property has been defined using a `oneOf` of either an enumeration or a generic URI string to allow execution requests making use of a CRS other than CRS84 and CRS84h that may be supported by the server to validate with the canonical OGC schema. +NOTE: The `crs` property has been defined using an `anyOf` of either an enumeration or a generic URI string to allow execution requests making use of a CRS other than CRS84 and CRS84h that may be supported by the server to validate with the canonical OGC schema. *_Input validation_* From a341528039d556e8ab12e539a57f0b8dd948b675 Mon Sep 17 00:00:00 2001 From: Alex G Rice Date: Thu, 13 Jul 2023 12:41:44 -0600 Subject: [PATCH 15/15] Fix successUrl -> successUri. --- openapi/ogcapi-processes.bundled.json | 2 +- openapi/schemas/processes-core/subscriber.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/openapi/ogcapi-processes.bundled.json b/openapi/ogcapi-processes.bundled.json index 15bcec29..bc92d8e7 100644 --- a/openapi/ogcapi-processes.bundled.json +++ b/openapi/ogcapi-processes.bundled.json @@ -1845,7 +1845,7 @@ "description": "Optional URIs for callbacks for this job.\n\nSupport for this parameter is not required and the parameter may be\nremoved from the API definition, if conformance class **'callback'**\nis not listed in the conformance declaration under `/conformance`.", "type": "object", "required": [ - "successUrl" + "successUri" ], "properties": { "successUri": { diff --git a/openapi/schemas/processes-core/subscriber.yaml b/openapi/schemas/processes-core/subscriber.yaml index 8ed3bb3a..716b6f91 100644 --- a/openapi/schemas/processes-core/subscriber.yaml +++ b/openapi/schemas/processes-core/subscriber.yaml @@ -6,7 +6,7 @@ description: |- is not listed in the conformance declaration under `/conformance`. type: object required: - - successUrl + - successUri properties: successUri: type: string