-
Notifications
You must be signed in to change notification settings - Fork 12
Echo process and OGC API Processes validation #30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
3162338 to
bcc1dec
Compare
bcc1dec to
ef8987b
Compare
|
@ChristianBeilschmidt I pushed some fixes, hope you don't mind. Some types/schemas were wrong. I think there are more mistakes; some originate from before the official release of the standard. |
Thank you very much! We are currently at 36 passed tests, 12 failed and 6 skipped. From what I see, most errors come from two parts:
How would you put this into the library's design? For 1., I saw let exeption = Exception::new_from_status(status.as_u16())
.detail("Multiple raw outputs as multipart/related not implemented yet!");in the code. But I'm not sure this is it. For 2., I guess we have to listen to header values request.setHeader("Prefer", "respond-async ");. The job lists are there, but are currently not filled. |
For 1., we probably have to compose a (streaming) body conforming to For 2., extracting the |
|
I for now removed Luckily, there is a certified compliant instance out there with https://maps.gnosis.earth/ogcapi/processes/echo. This helps in understanding what went wrong. However, I cannot get my head around the error on test Job Creation Op, yet.
Test Request {
"inputs" : {
"stringInput" : "teststring"
},
"outputs" : {
"stringOutput" : {
"transmissionMode" : "value"
}
}
}Test Outputs <cnt:rest>teststring</cnt:rest>Reason of Failure java.lang.AssertionError: Unrecognized token 'teststring': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 11] |
|
Well, CITE has its limits. Reason of Failure: Content type 'text/plain' is not allowed for body content. (code: 203) . I guess we can ignore this for now. |
|
Ok, I cleaned the CI up and added an option to ignore failed tests (and not fail the CI). I guess I will try to use the API as is and, in parallel to this, think about adding some async stuff. |
|
@b4l I guess it now works and has a decent structure. Maybe you can review it. |
b4l
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ChristianBeilschmidt Thank you! I think this is a big step forward. Just some general remarks and nits. Nothing blocking, rather like to land this and address things in follow-ups. A changelog entry would be nice, though.
|
@b4l I addressed your review comments |
b4l
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just some questions about artifacts, the rest looks good.
CHANGES.mdorCHANGELOG.mdThe goal is to have the echo process for OGC API Processes that is described here:
https://docs.ogc.org/is/18-062r2/18-062r2.html#_443805da-dfcc-84bd-1820-4a41a69f629a
Moreover, I added a CI test that uses the OGC CITE validator for OGC API Processes.
It fails currently, obviously, but the validation job itself works.
Here are the Java implementations of the tests: https://github.com/opengeospatial/ets-ogcapi-processes10/blob/75abd1f37fc3aad95163fdce2e33e393b1ba5a88/src/main/java/org/opengis/cite/ogcapiprocesses10/jobs/Jobs.java#L1296