Class Jobs
java.lang.Object
org.opengis.cite.ogcapiprocesses10.CommonFixture
org.opengis.cite.ogcapiprocesses10.jobs.Jobs
A.2.6. JobList {root}/jobs
- Author:
- Benjamin Pross
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.opengis.cite.ogcapiprocesses10.CommonFixture
CommonFixture.Input, CommonFixture.Output, CommonFixture.Type
-
Field Summary
Fields inherited from class org.opengis.cite.ogcapiprocesses10.CommonFixture
CONTENT_ENCODING_PROPERTY_KEY, CONTENT_MEDIA_TYPE_PROPERTY_KEY, CONTENT_SCHEMA_PROPERTY_KEY, CONTENT_TYPE, limit, reqEntity, requestLoggingFilter, responseLoggingFilter, rootUri, rspEntity, specURL, testAllProcesses
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
setup
(org.testng.ITestContext testContext) setup.void
Abstract Test 17: /conf/core/job-creation-auto-execution-mode Test Purpose: Validate that the server correctly handles the execution mode for a process.void
Abstract Test 18: /conf/core/job-creation-default-execution-mode Test Purpose: Validate that the server correctly handles the default execution mode for a process.void
Abstract Test 27: /conf/core/job-creation-default-outputs Test Purpose: Validate that the server correctly handles the case where no `outputs` parameter is specified on an execute request.void
Abstract Test 23: /conf/core/job-creation-input-array Test Purpose: Verify that the server correctly recognizes the encoding of parameter values for input parameters with a maximum cardinality greater than one.void
Abstract Test 21: /conf/core/job-creation-input-inline Test Purpose: Validate in-line process input values are validated against the corresponding schema from the process description.void
Abstract Test 27: /conf/core/job-creation-input-inline-bbox Test Purpose: Validate that inputs with a bounding box schema encoded in-line in an execute request are correctly processed.void
Abstract Test 26: /conf/core/job-creation-input-inline-binary Test Purpose: Validate that binary input values encoded as base-64 string in-line in an execute request are correctly processes.void
Abstract Test 25: /conf/core/job-creation-input-inline-mixed Test Purpose: Validate that inputs of mixed content encoded in-line in an execute request are correctly processed.void
Abstract Test 23: /conf/core/job-creation-input-inline-object Test Purpose: Validate that inputs with a complex object schema encoded in-line in an execute request are correctly processed.void
Abstract Test 22: /conf/core/job-creation-input-ref Test Purpose: Validate that input values specified by reference in an execute request are correctly processed.void
Abstract Test 20: /conf/core/job-creation-inputs Test Purpose: Validate that servers can accept input values both inline and by reference.void
Abstract Test null: /conf/core/job-creation-input-validation Test Purpose: Verify that the server correctly validates process input values according to the definition obtained from the sc_process_description,process description.void
Abstract Test 16: /conf/core/job-creation-op Test Purpose: Validate the creation of a new job.void
Abstract Test 19: /conf/core/job-creation-request Test Purpose: Validate that the body of a job creation operation complies with the required structure and contents.void
Abstract Test 34: /conf/core/job-creation-success-async Test Purpose: Validate the results of a job that has been created using the `async` execution mode.void
Abstract Test 33: /conf/core/job-creation-sync-document Test Purpose: Validate that the server responds as expected when synchronous execution is sc_execution_code,negotiated and the response type is `document`.void
Abstract Test 32: /conf/core/job-creation-sync-raw-mixed-multi Test Purpose: Validate that the server responds as expected when synchronous execution is sc_execution_mode,negotiated, the response type is `raw` and the output transmission is a mix of `value` and `reference`.void
Abstract Test 31: /conf/core/job-creation-sync-raw-ref Test Purpose: Validate that the server responds as expected when synchronous execution is sc_execution_mode,negotiated, the response type is `raw` and the transmission mode is `ref`.void
Abstract Test 30: /conf/core/job-creation-sync-raw-value-multi Test Purpose: Validate that the server responds as expected when synchronous execution is sc_execution_mode,negotiated, the response type is `raw` and the output transmission is `value`.void
Abstract Test 28: /conf/core/job-creation-sync-raw-value-one Test Purpose: Validate that the server responds as expected when synchronous execution is sc_execution_mode,negotiated, a single output value is requested, the response type is `raw` and the output transmission is `value`.void
Abstract Test 37: /conf/core/job-exception-no-such-job Test Purpose: Validate that an invalid job identifier is handled correctly.void
Abstract Test 35: /conf/core/job-op Test Purpose: Validate that the status info of a job can be retrieved.void
Abstract Test 38: /conf/core/job-results Test Purpose: Validate that the results of a job can be retrieved.void
Abstract Test 44: /conf/core/job-results-async-document Test Purpose: Validate that the server responds as expected when the asynchronous execution is sc_execution_mode,negotiated and the response type is `document`.void
Abstract Test 43: /conf/core/job-results-async-raw-mixed-multi Test Purpose: Validate that the server responds as expected when asynchronous execution is sc_execution_mode,negotiated, more than one output is requested, the response type is `raw` and the output transmission is a mix of `value` and `reference`.void
Abstract Test 42: /conf/core/job-results-async-raw-ref Test Purpose: Validate that the server responds as expected when asynchronous execution is ,sc_execution_mode,negotiated, the response type is `raw` and the output transmission is `reference`.void
Abstract Test 41: /conf/core/job-results-async-raw-value-multi Test Purpose: Validate that the server responds as expected when asynchronous execution is sc_execution_mode,negotiated, more than one output is requested, the response type is `raw` and the output transmission is `value`.void
Abstract Test 40: /conf/core/job-results-async-raw-value-one Test Purpose: Validate that the server responds as expected when asynchronous execution is sc_execution_mode,negotiated, one output is requested, the response type is `raw` and the output transmission is `value`.void
Abstract Test 46: /conf/core/job-results-exception-results-not-ready Test Purpose: Validate that the job results retrieved for an incomplete job complies with the require structure and contents.void
Abstract Test 47: /conf/core/job-results-failed Test Purpose: Validate that the job results for a failed job complies with the require structure and contents.void
Abstract Test null: /conf/core/job-results-no-such-job Test Purpose: Validate that the job results retrieved using an invalid job identifier complies with the require structure and contents.void
Abstract Test 39: /conf/core/job-results-sync Test Purpose: Validate that the server responds as expected when getting results from a job for a process that has been executed synchronously.void
Abstract Test 36: /conf/core/job-success Test Purpose: Validate that the job status info complies with the require structure and contents.Methods inherited from class org.opengis.cite.ogcapiprocesses10.CommonFixture
addAttributesOnTestFailure, addServerUnderTest, checkHtmlConfClass, clearMessages, createInput, createOutput, getRequest, getResponse, init, initCommonFixture, printResults, validateResponseAgainstSchema
-
Constructor Details
-
Jobs
public Jobs()
-
-
Method Details
-
setup
@BeforeClass public void setup(org.testng.ITestContext testContext) setup.
- Parameters:
testContext
- aITestContext
object
-
testJobCreationAutoExecutionMode
public void testJobCreationAutoExecutionMode()Abstract Test 17: /conf/core/job-creation-auto-execution-mode Test Purpose: Validate that the server correctly handles the execution mode for a process. Requirement: /req/core/job-creation-op Test Method: 1. Setting the HTTP `Prefer` header to include the `respond-sync` preference, construct an execute request according to test ats_core_job-creation-request,/conf/core/job-creation-request 2. For processes that are supposed to execute asynchronously according to the req_core_job-creation-auto-execution-mode,/req/core/job-creation-auto-execution-mode requirement, verify the successful execution according to the ats_core_job-creation-success-async,/conf/core/job-creation-success-async test 3. For processes that are supposed to execute synchronously according to the req_core_job-creation-auto-execution-mode,/req/core/job-creation-auto-execution-mode requirement, verify the successful execution according to the ats-job-creation-success-sync,relevant requirement based on the combination of execute parameters 4. For processes that may execute either synchronously or asynchronously according to the req_core_job-creation-auto-execution-mode,/req/core/job-creation-auto-execution-mode requirement, verify that successful execution according to the ats-job-creation-success-sync,relevant requirement based on the combination of execute parameters |=== TODO: Check additional content
-
testJobCreationDefaultExecutionMode
public void testJobCreationDefaultExecutionMode()Abstract Test 18: /conf/core/job-creation-default-execution-mode Test Purpose: Validate that the server correctly handles the default execution mode for a process. Requirement: /req/core/job-creation-op Test Method: 1. Without setting the HTTP `Prefer` header, construct an execute request according to test ats_core_job-creation-request,/conf/core/job-creation-request 2. For processes that are supposed to execute asynchronously according to the req_core_job-creation-default-execution-mode,/req/core/job-creation-default-execution-mode requirement, verify the successful execution according to the ats_core_job-creation-success-async,/conf/core/job-creation-success-async test 3. For processes that are supposed to execute synchronously according to the req_core_job-creation-auto-execution-mode,/req/core/job-creation-auto-execution-mode requirement, verify the successful synchronous execution according to the ats-job-creation-success-sync,relevant requirement based on the combination of execute parameters |=== TODO: Check additional content
-
testJobCreationDefaultOutputs
public void testJobCreationDefaultOutputs()Abstract Test 27: /conf/core/job-creation-default-outputs Test Purpose: Validate that the server correctly handles the case where no `outputs` parameter is specified on an execute request. Requirement: /req/core/job-creation-op Test Method: 1. For each process construct an execute request according to test ats_core_job-creation-request,/conf/core/job-creation-request taking care to omit the `outputs` parameter 2. Verify that each processes executed successfully according to the ats-job-creation-success-sync,relevant requirement based on the combination of execute parameters 3. Verify that each process includes all the outputs, as defined in the sc_process_description,process description, in the response |=== TODO: Check additional content
-
testJobCreationInputArray
public void testJobCreationInputArray()Abstract Test 23: /conf/core/job-creation-input-array Test Purpose: Verify that the server correctly recognizes the encoding of parameter values for input parameters with a maximum cardinality greater than one. Requirement: /req/core/job-creation-input-array Test Method: 1. Get a description of each process offered by the server using test /conf/core/process. 2. Inspect the description of each process and identify the list of processes that have inputs with a maximum cardinality greater that one. 3. For each identified process construct an execute request according to test ats_core_job-creation-request,/conf/core/job-creation-request taking care to encode the inputs with maximum cardinality 1 according to the requirement req_core_job-creation-input-array,/req/core/job-creation-input-array 4. Verify that each process executes successfully according to the ats-job-creation-success-sync,relevant requirement based on the combination of execute parameters |=== TODO: Check additional content
-
testJobCreationInputInlineBbox
public void testJobCreationInputInlineBbox()Abstract Test 27: /conf/core/job-creation-input-inline-bbox Test Purpose: Validate that inputs with a bounding box schema encoded in-line in an execute request are correctly processed. Requirement: /req/core/job-creation-input-inline-bbox Test Method: 1. For each identified process construct an execute request according to test ats_core_job-creation-request,/conf/core/job-creation-request taking care to encode values for the identified bounding box inputs in-line in the execute request 2. Verify that each process executes successfully according to the ats_job-creation-success,relevant requirement based on the combination of execute parameters
-
testJobCreationInputInlineBinary
public void testJobCreationInputInlineBinary()Abstract Test 26: /conf/core/job-creation-input-inline-binary Test Purpose: Validate that binary input values encoded as base-64 string in-line in an execute request are correctly processes. Requirement: /req/core/job-creation-input-binary Test Method: 1. For each identified process construct an execute request according to test ats_core_job-creation-request,/conf/core/job-creation-request taking care to encode binary input values in-line in the execute request according to requirement req_core_job-creation-input-inline-binary,/req/core/job-creation-input-inline-binary 2. Verify that each process executes successfully according to the ats-job-creation-success-sync,relevant requirement based on the combination of execute parameters |=== TODO: Check additional content
-
testJobCreationInputInlineMixed
public void testJobCreationInputInlineMixed()Abstract Test 25: /conf/core/job-creation-input-inline-mixed Test Purpose: Validate that inputs of mixed content encoded in-line in an execute request are correctly processed. Requirement: /req/core/job-creation-input-inline-mixed Test Method: 1. For each identified process construct an execute request according to test ats_core_job-creation-request,/conf/core/job-creation-request taking care to encode the identified mix-content inputs in-line in the execute request according to requirement req_core_job-creation-input-inline-mixed,/req/core/job-creation-input-inline-mixed 2. Verify that each process executes successfully according to the ats-job-creation-success-sync,relevant requirement based on the combination of execute parameters |=== TODO: Check additional content
-
testJobCreationInputInlineObject
public void testJobCreationInputInlineObject()Abstract Test 23: /conf/core/job-creation-input-inline-object Test Purpose: Validate that inputs with a complex object schema encoded in-line in an execute request are correctly processed. Requirement: /req/core/job-creation-input-inline-object Test Method: 1. For each identified process construct an execute request according to test ats_core_job-creation-request,/conf/core/job-creation-request taking care to encode the identified object inputs in-line in the execute request according to requirement req_core_job-creation-input-inline-object,/req/core/job-creation-input-inline-object 2. Verify that each process executes successfully according to the ats-job-creation-success-sync,relevant requirement based on the combination of execute parameters |=== TODO: Check additional content
-
testJobCreationInputInline
public void testJobCreationInputInline()Abstract Test 21: /conf/core/job-creation-input-inline Test Purpose: Validate in-line process input values are validated against the corresponding schema from the process description. Requirement: /req/core/job-creation-input-inline Test Method: 1. Verify that each process executes successfully according to the ats-job-creation-success-sync,relevant requirement based on the combination of execute parameters |=== TODO: Check additional content
-
testJobCreationInputRef
public void testJobCreationInputRef()Abstract Test 22: /conf/core/job-creation-input-ref Test Purpose: Validate that input values specified by reference in an execute request are correctly processed. Requirement: /req/core/job-creation-input-ref Test Method: 1. Verify that each process executes successfully according to the ats-job-creation-success-sync,relevant requirement based on the combination of execute parameters |=== TODO: Check additional content
-
testJobCreationInputValidation
public void testJobCreationInputValidation()Abstract Test null: /conf/core/job-creation-input-validation Test Purpose: Verify that the server correctly validates process input values according to the definition obtained from the sc_process_description,process description. Requirement: /req/core/job-creation-input-validation Test Method: 1. For each process construct an execute request according to test ats_core_job-creation-request,/conf/core/job-creation-request taking care to encode the input values according to the schema from the definition of each input 2. Verify that each process executes successfully according to the ats-job-creation-success-sync,relevant requirement based on the combination of execute parameters 3. For each process construct an execute request according to test ats_core_job-creation-request,/conf/core/job-creation-request taking care to encode some of the input values in violation of the schema from the definition of the selected input 4. Verify that each process generates an exception report that identifies the improperly specified input value(s) |=== TODO: Check additional content
-
testJobCreationInputs
public void testJobCreationInputs()Abstract Test 20: /conf/core/job-creation-inputs Test Purpose: Validate that servers can accept input values both inline and by reference. Requirement: /req/core/job-creation-inputs Test Method:
-
testJobCreationOp
public void testJobCreationOp()Abstract Test 16: /conf/core/job-creation-op Test Purpose: Validate the creation of a new job. Requirement: /req/core/job-creation-op Test Method: 1. Validate the creation of the job according the requirements req_core_job-creation-default-execution-mode, /req/core/job-creation-default-execution-mode, req_core_job-creation-auto-execution-mode,/req/core/job-creation-auto-execution-mode
-
testJobCreationRequest
public void testJobCreationRequest()Abstract Test 19: /conf/core/job-creation-request Test Purpose: Validate that the body of a job creation operation complies with the required structure and contents. Requirement: /req/core/job-creation-request Test Method:
-
testJobCreationSuccessAsync
public void testJobCreationSuccessAsync()Abstract Test 34: /conf/core/job-creation-success-async Test Purpose: Validate the results of a job that has been created using the `async` execution mode. Requirement: /req/core/job-creation-success-async Test Method: |=== TODO: Check additional content
-
testJobCreationSyncDocument
public void testJobCreationSyncDocument()Abstract Test 33: /conf/core/job-creation-sync-document Test Purpose: Validate that the server responds as expected when synchronous execution is sc_execution_code,negotiated and the response type is `document`. Requirement: /req/core/job-creation-sync-document Test Method: 1. For each identified process construct an execute request according to test ats_core_job-creation-request,/conf/core/job-creation-request ensuring that synchronous execution has been sc_execution_mode,negotiated according to tests ats_core_job-creation-default-execution-mode,/conf/core/job-creation-default-execution-mode and the requested response type is `document` (ie `"response": "document"`) according to requirement req_core_job-creation-sync-document,/req /core/job-creation-sync-document 2. Verify that each process executes successfully according to requirement req_core_job-creation-sync-document,/req/core/job-creation-sync-document |===
-
testJobCreationSyncRawMixedMulti
public void testJobCreationSyncRawMixedMulti()Abstract Test 32: /conf/core/job-creation-sync-raw-mixed-multi Test Purpose: Validate that the server responds as expected when synchronous execution is sc_execution_mode,negotiated, the response type is `raw` and the output transmission is a mix of `value` and `reference`. Requirement: /req/core/job-creation-sync-raw-mixed-multi Test Method: 1. For each identified process construct an execute request according to test ats_core_job-creation-request,/conf/core/job-creation-request ensuring that synchronous execution is sc_execution_mode,negotiated according to test ats_core_job-creation-default-execution-mode,/conf/core/job-creation-default-execution-mode, that more than one output is requested, that the requested response type is `raw` (ie `"response": "raw"`) and the the transmission mode is a mix of `value` (ie `"transmissionMode": "value"`) and reference (ie `"transmissionMode": "reference"`) according to requirement req_core_job-creation-sync-raw-mixed-multi,/req/core/job-creation-sync-raw-mixed-multi 2. Verify that each process executes successfully according to requirement req_core_job-creation-sync-raw-mixed-multi,/req/core/job-creation-sync-raw-mixed-multi 3. For each output requested with `"transmissionMode": "value"` verify that the body of the corresponding part contains the output value 4. 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 |=== TODO: Check additional content
-
testJobCreationSyncRawRef
public void testJobCreationSyncRawRef()Abstract Test 31: /conf/core/job-creation-sync-raw-ref Test Purpose: Validate that the server responds as expected when synchronous execution is sc_execution_mode,negotiated, the response type is `raw` and the transmission mode is `ref`. Requirement: /req/core/job-creation-sync-raw-ref Test Method: 1. For each identified process construct an execute request according to test ats_core_job-creation-request,/conf/core/job-creation-request ensuring that synchronous execution is sc_execution_mode,negotiated according to test ats_core_job-creation-default-execution-mode,/conf/core/job-creation-default-execution-mode, that the requested response type is `raw` (ie `"response": "raw"`) and the transmission mode is set to `ref` (ie `"transmissionMode": "ref"`) according to requirement req_core_job-creation-sync-raw-ref,/req/core/job-creation-sync-raw-ref 2. Verify that each process executes successfully according to requirement req_core_job-creation-sync-raw-ref,/req/core/job-creation-sync-raw-ref |=== TODO: Check additional content
-
testJobCreationSyncRawValueMulti
public void testJobCreationSyncRawValueMulti()Abstract Test 30: /conf/core/job-creation-sync-raw-value-multi Test Purpose: Validate that the server responds as expected when synchronous execution is sc_execution_mode,negotiated, the response type is `raw` and the output transmission is `value`. Requirement: /req/core/job-creation-sync-raw-value-multi Test Method: 1. For each identified process construct an execute request according to test ats_core_job-creation-request,/conf/core/job-creation-request ensuring that synchronous execution is sc_execution_mode,negotiated according to test ats_core_job-creation-default-execution-mode,/conf/core/job-creation-default-execution-mode, that more than one output is requested, that the requested response type is `raw` (ie `"response": "raw"`) and the the transmission mode is set to `value` (ie `"transmissionMode": "value"`) according to requirement req_core_job-creation-sync-raw-value-multi,/req/core/job-creation-sync-raw-value-multi 2. Verify that each process executes successfully according to requirement req_core_job-creation-sync-raw-value-multi,/req/core/job-creation-sync-raw-value-multi |=== TODO: Check additional content
-
testJobCreationSyncRawValueOne
public void testJobCreationSyncRawValueOne()Abstract Test 28: /conf/core/job-creation-sync-raw-value-one Test Purpose: Validate that the server responds as expected when synchronous execution is sc_execution_mode,negotiated, a single output value is requested, the response type is `raw` and the output transmission is `value`. Requirement: /req/core/job-creation-sync-raw-value-one Test Method: 1. For each identified process construct an execute request according to test ats_core_job-creation-request,/conf/core/job-creation-request ensuring that synchronous execution is sc_execution_mode,negotiated according to test ats_core_job-creation-default-execution-mode,/conf/core/job-creation-default-execution-mode, that only one output is requested, that the requested response type is `raw` (ie `"response": "raw"`) and that the output transmission is set to `value` (ie `"transmissionMode": "value"`) according to requirement req_core_job-creation-sync-raw-value-one,/req/core/job-creation-sync-raw-value-one 2. Verify that each process executes successfully according to requirement req_core_job-creation-sync-raw-value-one,/req/core/job-creation-sync-raw-value-one |=== TODO: Check additional content
-
testJobExceptionNoSuchJob
public void testJobExceptionNoSuchJob()Abstract Test 37: /conf/core/job-exception-no-such-job Test Purpose: Validate that an invalid job identifier is handled correctly. Requirement: /req/core/job-exception-no-such-job Test Method: 1. Validate that the document contains the exception type "http://wwwopengisnet/def/exceptions/ogcapi-processes-1/10/no-such-job" 2. Validate the document for all supported media types using the resources and tests identified in job-exception-no-such-job |=== An exception response caused by the use of an invalid job identifier 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 response. All supported formats should be exercised. [[job-exception-no-such-job]] 3. Schema and Tests for the Job Result for Non-existent Job [width="90%",cols="3",options="header"] |=== |Format |Schema Document |Test ID |HTML |link:http://schemas.opengis.net/ogcapi/processes/part1/1.0/openapi/schemas/exception.yaml[exception.yaml] |ats_html_content,/conf/html/content |JSON |link:http://schemas.opengis.net/ogcapi/processes/part1/1.0/openapi/schemas/exception.yaml[exception.yaml] |ats_json_content,/conf/json/content |=== TODO: Check additional content
-
testJobOp
public void testJobOp()Abstract Test 35: /conf/core/job-op Test Purpose: Validate that the status info of a job can be retrieved. Requirement: /req/core/job Test Method: 1. Validate the contents of the returned document using the test ats_core_job-success,/conf/core/job-success |=== TODO: Check additional content
-
testJobResultsNoSuchJob
public void testJobResultsNoSuchJob()Abstract Test null: /conf/core/job-results-no-such-job Test Purpose: Validate that the job results retrieved using an invalid job identifier complies with the require structure and contents. Requirement: /req/core/job-results-exception-no-such-job Test Method: 1. Validate that the document contains the exception type "http://wwwopengisnet/def/exceptions/ogcapi-processes-1/10/no-such-job" 2. Validate the document for all supported media types using the resources and tests identified in job-results-exception-no-such-job |=== 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]] 3. Schema and Tests for the Job Result for Non-existent Job [width="90%",cols="3",options="header"] |=== |Format |Schema Document |Test ID |HTML |link:http://schemas.opengis.net/ogcapi/processes/part1/1.0/openapi/schemas/exception.yaml[exception.yaml] |ats_html_content,/conf/html/content |JSON |link:http://schemas.opengis.net/ogcapi/processes/part1/1.0/openapi/schemas/exception.yaml[exception.yaml] |ats_json_content,/conf/json/content |=== TODO: Check additional content
-
testJobResultsExceptionResultsNotReady
public void testJobResultsExceptionResultsNotReady()Abstract Test 46: /conf/core/job-results-exception-results-not-ready Test Purpose: Validate that the job results retrieved for an incomplete job complies with the require structure and contents. Requirement: /req/core/job-results-exception-results-not-ready Test Method: 1. Validate that the document was returned with a 404 2. Validate that the document contains the exception `type` "http://wwwopengisnet/def/exceptions/ogcapi-processes-1/10/result-not-ready" 3. Validate the document for all supported media types using the resources and tests identified in job-results-exception-results-not-ready |=== 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]] 4. Schema and Tests for the Job Result for an Incomplete Job [width="90%",cols="3",options="header"] |=== |Format |Schema Document |Test ID |HTML |link:http://schemas.opengis.net/ogcapi/processes/part1/1.0/openapi/schemas/exception.yaml[exception.yaml] |ats_html_content,/conf/html/content |JSON |link:http://schemas.opengis.net/ogcapi/processes/part1/1.0/openapi/schemas/exception.yaml[exception.yaml] |ats_json_content,/conf/json/content |=== TODO: Check additional content
-
testJobResultsFailed
public void testJobResultsFailed()Abstract Test 47: /conf/core/job-results-failed Test Purpose: Validate that the job results for a failed job complies with the require structure and contents. Requirement: /req/core/job-results-failed Test Method: 1. Issue an HTTP GET request to the URL '/jobs/{jobID}/results' 2. Validate that the document was returned with a HTTP error code (4XX or 5XX) 3. Validate that the document contains an exception `type` that corresponds to the reason the job failed (eg InvalidParameterValue for invalid input data) 4. Validate the document for all supported media types using the resources and tests identified in job-results-failed-schema |=== 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]] 5. Schema and Tests for the Job Result for a Failed Job [width="90%",cols="3",options="header"] |=== |Format |Schema Document |Test ID |HTML |link:http://schemas.opengis.net/ogcapi/processes/part1/1.0/openapi/schemas/exception.yaml[exception.yaml] |ats_html_content,/conf/html/content |JSON |link:http://schemas.opengis.net/ogcapi/processes/part1/1.0/openapi/schemas/exception.yaml[exception.yaml] |ats_json_content,/conf/json/content |=== TODO: Check additional content
-
testJobResults
public void testJobResults()Abstract Test 38: /conf/core/job-results Test Purpose: Validate that the results of a job can be retrieved. Requirement: /req/core/job-results Test Method: 1. Validate that the document was returned with a status code 200 2. Validate the contents of the returned document using the test ats_job-results-success,/conf/core/job-results-success |=== TODO: Check additional content
-
testJobResultsAsyncDocument
public void testJobResultsAsyncDocument()Abstract Test 44: /conf/core/job-results-async-document Test Purpose: Validate that the server responds as expected when the asynchronous execution is sc_execution_mode,negotiated and the response type is `document`. Requirement: /req/core/job-results-async-document Test Method: 1. For each identified process construct an execute request according to test ats_core_job-creation-request,/conf/core/job-creation-request ensuring that asynchronous execution is sc_execution_mode,negotiated according to test ats_core_job-creation-auto-execution-mode,/conf/core/job-creation-auto-execution-mode and that the requested response type is `document` (ie `"response": "document"`) according to requirement req_core_job-creation-async-document,/req/core/job-creation-async-document 2. If the server responds asynchronously periodically retrieve the status of the asynchronously execute job as per test ats_core_job-op,/conf/core/job-op 3. When the job status is `successful`, get the results as per test ats_core_job-results-op,/conf/core/job-results and verify that they conform to requirement req_core_job-results-async-document,/req/core/job-results-async-document |==== 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: [width="90%",cols="2,6a"] |==== ^|Test Method |. Inspect the headers of the synchronous response and see if a `Link` header is included with `rel=monitor`. 4. If the link exists, get the job status as per test ats_core_job-op,/conf/cor e/job-op and ensure that the job status is set to `successful` 5. Get the results as per test ats_core_job-results-op,/conf/core/job-results and verify that they conform to the test ats_core_job-results-async-document,/conf/core/job-results-async-document 6. If the link does not exist then verify that the synchronous response conforms to the requirement req_core_job-creation-sync-document,/req/core/job-creation-sync-documen |==== TODO: Check additional content
-
testJobResultsAsyncRawMixedMulti
public void testJobResultsAsyncRawMixedMulti()Abstract Test 43: /conf/core/job-results-async-raw-mixed-multi Test Purpose: Validate that the server responds as expected when asynchronous execution is sc_execution_mode,negotiated, more than one output is requested, the response type is `raw` and the output transmission is a mix of `value` and `reference`. Requirement: /req/core/job-results-async-raw-mixed-multi Test Method: 1. For each identified process construct an execute request according to test ats_core_job-creation-request,/conf/core/job-creation-request ensuring that asynchronous execution is sc_execution_mode,negotiated according to test ats_core_job-creation-auto-execution-mode,/conf/core/job-creation-auto-execution-mode, that the requested response type is `raw` (ie `"response": "raw"`) and that the output transmission is set to a mix of `value` (ie `"outputTransmission": "value"`) and `reference` (ie `"outputTransmission": "reference"`) according to requirement req_core_job-creation-async-raw-mixed-multi,/req/core/job-creation-async-raw-mixed-multi 2. Periodically retrieve the status of the asynchronously execute job as per test ats_core_job-op,/conf/core/job-op 3. When the job status is `successful`, get the results as per test ats_core_job-results-op,/conf/core/job-results and verify that they conform to requirement req_core_job-results-async-raw-mixed-multi,/conf/core/job-results-async-raw-mixed-multi 4. For each output requested with `"transmissionMode": "value"` verify that the body of the corresponding part contains the output value 5. 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. [width="90%",cols="2,6a"] |==== ^|Test Method |. Inspect the headers of the synchronous response and see if a `Link` header is included with `rel=monitor`. 6. If the link exists, get the job status as per test ats_core_job-op,/conf/cor e/job-op and ensure that the job status is set to `successful` 7. Get the results as per test ats_core_job-results-op,/conf/core/job-results and verify that they conform to the test ats_core_job-results-async-raw-mixed-multi,/conf/core/job-results-async-raw-mixed-multi 8. If the link does not exist then verify that the synchronous response conforms to requirement req_core_job-creation-sync-raw-mixed-multi,/req/core/job-creation-sync-raw-mixed-multi |==== TODO: Check additional content
-
testJobResultsAsyncRawRef
public void testJobResultsAsyncRawRef()Abstract Test 42: /conf/core/job-results-async-raw-ref Test Purpose: Validate that the server responds as expected when asynchronous execution is ,sc_execution_mode,negotiated, the response type is `raw` and the output transmission is `reference`. Requirement: /req/core/job-results-async-raw-ref Test Method: 1. For each identified process construct an execute request according to test ats_core_job-creation-request,/conf/core/job-creation-request ensuring that synchronous execution is sc_execution_mode,negotiated according to test ats_core_job-creation-auto-execution-mode,/conf/core/job-creation-auto-execution-mode, that the requested response type is `raw` (ie `"response": "raw"`) and that the output transmission is set to `reference` (ie `"outputTransmission": "reference"`) according to requirement req_core_job-creation-async-raw-ref,/req/core/job-creation-async-raw-ref 2. If the server responds asynchronously, periodically retrieve the status of the asynchronously executed job as per test ats_core_job-op,/conf/core/job-op 3. When the job status is `successful`, get the results as per test ats_core_job-results-op,/conf/core/job-results and verify that they conform to requirement req_core_job-results-async-raw-ref,/req/core/job-results-async-ref |==== 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. [width="90%",cols="2,6a"] |==== ^|Test Method |. Inspect the headers of the synchronous response and see if a `Link` header is included with `rel=monitor`. 4. If the link exists, get the job status as per test ats_core_job-op,/conf/core/job-op and ensure that the job status is set to `successful` 5. Get the results as per test ats_core_job-results-op,/conf/core/job-results and verify that they conform to the test ats_core_job-results-async-document,/conf/core/job-results-async-document 6. If the link does not exist then verify that the synchronous response conforms to requirement req_core_job-creation-sync-raw-ref,/req/core/job-creation-sync-raw-ref |==== TODO: Check additional content
-
testJobResultsAsyncRawValueMulti
public void testJobResultsAsyncRawValueMulti()Abstract Test 41: /conf/core/job-results-async-raw-value-multi Test Purpose: Validate that the server responds as expected when asynchronous execution is sc_execution_mode,negotiated, more than one output is requested, the response type is `raw` and the output transmission is `value`. Requirement: /req/core/job-results-async-raw-value-multi Test Method: 1. For each identified process construct an execute request according to test ats_core_job-creation-request,/conf/core/job-creation-request ensuring that asynchronous execution is sc_execution_mode,negotiated according to test ats_core_job-creation-auto-execution-mode,/conf/core/job-creation-auto-execution-mode, that the requested response type is `raw` (ie `"response": "raw"`) and that the output transmission is set to `value` (ie `"outputTransmission": "value"`) according to requirement req_core_job-creation-async-raw-value-multi,/req/core/job-creation-async-raw-value-multi 2. Periodically retrieve the status of the asynchronously execute job as per test ats_core_job-op,/conf/core/job-op 3. When the job status is `successful`, get the results as per test ats_core_job-results-op,/conf/core/job-results and verify that they conform to requirement req_core_job-results-async-raw-value-multi,/conf/core/job-results-async-raw-value-multi |==== 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. [width="90%",cols="2,6a"] |==== ^|Test Method |. Inspect the headers of the synchronous response and see if a `Link` header is included with `rel=monitor`. 4. If the link exists, get the job status as per test ats_core_job-op,/conf/cor e/job-op and ensure that the job status is set to `successful` 5. Get the results as per test ats_core_job-results-op,/conf/core/job-results and verify that they conform to the test ats_core_job-results-async-raw-value-multi,/conf/core/job-results-async-raw-value-multi 6. If the link does not exist then verify that the synchronous response conforms to requirement req_core_job-creation-sync-raw-value-multi,/req/core/job-creation-sync-raw-value-multi |==== TODO: Check additional content
-
testJobResultsAsyncRawValueOne
public void testJobResultsAsyncRawValueOne()Abstract Test 40: /conf/core/job-results-async-raw-value-one Test Purpose: Validate that the server responds as expected when asynchronous execution is sc_execution_mode,negotiated, one output is requested, the response type is `raw` and the output transmission is `value`. Requirement: /req/core/job-results-async-raw-value-one Test Method: 1. For each identified process construct an execute request according to test ats_core_job-creation-request,/conf/core/job-creation-request ensuring that asynchronous execution is sc_execution_mode,negotiated according to test ats_core_job-creation-auto-execution-mode,/conf/core/job-creation-auto-execution-mode, that the requested response type is `raw` (ie `"response": "raw"`) and that the output transmission is set to `value` (ie `"outputTransmission": "value"`) according to requirement req_core_job-creation-async-raw-value-one,/req/core/job-creation-async-raw-value-one 2. If the server responds asynchronously, periodically retrieve the status of the asynchronously executed job as per test ats_core_job-op,/conf/core/job-op 3. When the job status is `successful`, get the results as per test ats_core_job-results-op,/conf/core/job-results and verify that they conform to requirement req_core_job-results-async-raw-value-one,/req/core/job-results-async-raw-value-one |==== 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. [width="90%",cols="2,6a"] |==== ^|Test Method |. Inspect the headers of the synchronous response and see if a `Link` header is included with `rel=monitor`. 4. If the link exists, get the job status as per test ats_core_job-op,/conf/core/job-op and ensure that the job status is set to `successful` 5. Get the results as per test ats_core_job-results-op,/conf/core/job-results and verify that they conform to the test ats_core_job-results-async-raw-value-multi,/conf/core/job-results-async-raw-value-multi 6. If the link does not exist then verify that the synchronous response conforms to requirement req_core_job-creation-sync-raw-value-one/req/core/job-creation-sync-raw-value-one |==== TODO: Check additional content
-
testJobResultsSync
public void testJobResultsSync()Abstract Test 39: /conf/core/job-results-sync Test Purpose: Validate that the server responds as expected when getting results from a job for a process that has been executed synchronously. Requirement: /req/core/job-results-sync Test Method: 1. For each identified process construct an execute request according to test ats_core_job-creation-request,/conf/core/job-creation-request ensuring that synchronous execution is sc_execution_mode,negotiated according to test ats_core_job-creation-default-execution-mode,/conf/core/job-creation-default-execution-mode 2. Inspect the headers of the response and see if a `Link` header is included with `rel=monitor` 3. If the link exists, get the job status as per test ats_core_job-op,/conf/core/job-op and ensure that the job status is set to `successful` |==== TODO: Check additional content
-
testJobSuccess
public void testJobSuccess()Abstract Test 36: /conf/core/job-success Test Purpose: Validate that the job status info complies with the require structure and contents. Requirement: /req/core/job-success Test Method: |=== The status info 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 status info against that schema. All supported formats should be exercised. [[job-status-info-schema]] 1. Schema and Tests for the Job Status Info [width="90%",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] |ats_html,/conf/html/content |JSON |link:http://schemas.opengis.net/ogcapi/processes/part1/1.0/openapi/schemas/statusInfo.yaml[statusInfo.yaml] |ats_json_content,/conf/json/content |=== TODO: Check additional content
-