Skip to content

Commit

Permalink
Merge pull request #366 from EOxServer/wps_async_0.4
Browse files Browse the repository at this point in the history
Asynchnrous WPS
  • Loading branch information
pacesm committed Feb 24, 2017
2 parents aaf0063 + 5f53204 commit 24aa42c
Show file tree
Hide file tree
Showing 88 changed files with 24,617 additions and 1,405 deletions.
4 changes: 3 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,11 @@ install:
- cd autotest
- sed -e 's/#binary_raster_comparison_enabled=false/binary_raster_comparison_enabled=false/'
-i autotest/conf/eoxserver.conf
- echo "disabled_tests=WCS20GetCoverageSubsetEPSG4326ResolutionInvalidAxisDatasetFaultTestCase,WCS20GetCoverageReferenceableDatasetGeogCRSSubsetTestCase,WCS20GetCoverageReferenceableDatasetGeogCRSSubsetExceedsExtentTestCase,WCS20GetCoverageOutputCRSotherUoMDatasetTestCase,WCS20GetCoverageJPEG2000TestCase,WCS20DescribeEOCoverageSetIncorrectSpatialSubsetFaultTestCase,WCS10DescribeCoverageMosaicTestCase,WCS10DescribeCoverageDatasetTestCase,WPS10ExecuteComplexDataTIFBase64InMemTestCase,WPS10GetCapabilitiesValidTestCase,WPS10PostGetCapabilitiesValidTestCase,WCS11GetCoverageBBoxFaultTestCase"
- echo "disabled_tests=WCS20GetCoverageSubsetEPSG4326ResolutionInvalidAxisDatasetFaultTestCase,WCS20GetCoverageReferenceableDatasetGeogCRSSubsetTestCase,WCS20GetCoverageReferenceableDatasetGeogCRSSubsetExceedsExtentTestCase,WCS20GetCoverageOutputCRSotherUoMDatasetTestCase,WCS20GetCoverageJPEG2000TestCase,WCS20DescribeEOCoverageSetIncorrectSpatialSubsetFaultTestCase,WCS10DescribeCoverageMosaicTestCase,WCS10DescribeCoverageDatasetTestCase,WPS10ExecuteComplexDataTIFBase64InMemTestCase,WCS11GetCoverageBBoxFaultTestCase"
>> autotest/conf/eoxserver.conf
script:
- python -m eoxserver.services.ows.wps.test_data_types -v
- python -m eoxserver.services.ows.wps.test_allowed_values -v
- python manage.py test --pythonpath=../eoxserver/ core -v2
- python manage.py test --pythonpath=../eoxserver/ backends -v2
- python manage.py test --pythonpath=../eoxserver/ services -v2
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version='1.0' encoding='UTF-8'?>
<wps:ProcessDescriptions xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xml:lang="en-US" service="WPS" xsi:schemaLocation="wps http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">
<ProcessDescription wps:processVersion="1.0.0">
<ows:Identifier>Test06MinimalAllowedProcess</ows:Identifier>
<ows:Title>Test06MinimalAllowedProcess</ows:Title>
<DataInputs/>
<ProcessOutputs/>
</ProcessDescription>
</wps:ProcessDescriptions>
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<?xml version='1.0' encoding='UTF-8'?>
<wps:ProcessDescriptions xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xml:lang="en-US" service="WPS" xsi:schemaLocation="wps http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">
<ProcessDescription wps:processVersion="1.0.0">
<ows:Identifier>Test06MinimalValidProcess</ows:Identifier>
<ows:Title>Test06MinimalValidProcess</ows:Title>
<DataInputs>
<Input minOccurs="1" maxOccurs="1">
<ows:Identifier>input</ows:Identifier>
<ows:Title>input</ows:Title>
<LiteralData>
<ows:DataType ows:reference="http://www.w3.org/TR/xmlschema-2/#string">string</ows:DataType>
<ows:AnyValue/>
</LiteralData>
</Input>
</DataInputs>
<ProcessOutputs>
<Output>
<ows:Identifier>output</ows:Identifier>
<ows:Title>output</ows:Title>
<LiteralOutput>
<ows:DataType ows:reference="http://www.w3.org/TR/xmlschema-2/#string">string</ows:DataType>
</LiteralOutput>
</Output>
</ProcessOutputs>
</ProcessDescription>
</wps:ProcessDescriptions>
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,8 @@
<ProcessDescription wps:processVersion="1.0.0">
<ows:Identifier>TC01:identity:bbox</ows:Identifier>
<ows:Title>Test Case 01: Bounding box data identity.</ows:Title>
<ows:Abstract> Test identity process (the ouptuts are copies of the inputs)
demonstrating various features of the bounding box data inputs
and outputs.
<ows:Abstract> Test identity process (the output is a copy of the input)
demonstrating various features of the bounding box data inputs and outputs.
</ows:Abstract>
<ows:Metadata xlink:href="http://www.metadata.com/test-metadata" xlink:title="test-metadata"/>
<wps:Profile>test_profile</wps:Profile>
Expand Down Expand Up @@ -163,4 +162,3 @@
</ProcessOutputs>
</ProcessDescription>
</wps:ProcessDescriptions>

Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
<?xml version='1.0' encoding='UTF-8'?>
<wps:ProcessDescriptions xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xml:lang="en-US" service="WPS" xsi:schemaLocation="wps http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">
<ProcessDescription wps:processVersion="1.0.0">
<ows:Identifier>TC02:identity:complex</ows:Identifier>
<ows:Title>Test Case 02: Complex data identity.</ows:Title>
<ows:Abstract> Test identity process (the ouptuts are copies of the inputs)
demonstrating various features of the complex data inputs
and outputs.
<ows:Abstract> Test identity process (the outputs are copies of the inputs)
demonstrating various features of the complex data inputs and outputs.
</ows:Abstract>
<ows:Metadata xlink:href="http://www.metadata.com/test-metadata" xlink:title="test-metadata"/>
<wps:Profile>test_profile</wps:Profile>
<DataInputs>
<Input minOccurs="1" maxOccurs="1">
<ows:Identifier>TC02:input00</ows:Identifier>
<ows:Title>Test case #02: Complex input #00</ows:Title>
<ows:Abstract>Demonstrating use of the text-based complex input.</ows:Abstract>
<ows:Abstract>Text-based complex data input.</ows:Abstract>
<ComplexData>
<Default>
<Format>
Expand All @@ -37,7 +37,7 @@
<Output>
<ows:Identifier>TC02:output00</ows:Identifier>
<ows:Title>Test case #02: Complex output #00</ows:Title>
<ows:Abstract>Copy of the input00. Output format must be the same as the input format.</ows:Abstract>
<ows:Abstract>Text based complex data output (copy of the input). Note that the output format must be the same as the input format.</ows:Abstract>
<ComplexOutput>
<Default>
<Format>
Expand All @@ -60,7 +60,7 @@
<Output>
<ows:Identifier>TC02:output01</ows:Identifier>
<ows:Title>Test case #02: Complex output #01</ows:Title>
<ows:Abstract>String representation of the input00.</ows:Abstract>
<ows:Abstract>Plain text data output (copy of the input).</ows:Abstract>
<ComplexOutput>
<Default>
<Format>
Expand All @@ -77,4 +77,3 @@
</ProcessOutputs>
</ProcessDescription>
</wps:ProcessDescriptions>

Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,15 @@
<wps:ProcessDescriptions xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xml:lang="en-US" service="WPS" xsi:schemaLocation="wps http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">
<ProcessDescription wps:processVersion="1.0.0">
<ows:Identifier>TC03:image_generator:complex</ows:Identifier>
<ows:Title>Test Case 03: Complex data binary data with format selection.</ows:Title>
<ows:Abstract> Test process generating complext data binary output (image) with
fomat selection.
implements(ProcessInterface)
</ows:Abstract>
<ows:Title>Test Case 03: Complex data binary output with format selection.</ows:Title>
<ows:Abstract>Test process generating binary complex data output (an image).</ows:Abstract>
<ows:Metadata xlink:href="http://www.metadata.com/test-metadata" xlink:title="test-metadata"/>
<wps:Profile>test_profile</wps:Profile>
<DataInputs>
<Input minOccurs="0" maxOccurs="1">
<ows:Identifier>TC03:method</ows:Identifier>
<ows:Title>Complex data passing method.</ows:Title>
<ows:Abstract>Select method how the complex data output is passed.</ows:Abstract>
<ows:Title>Complex data output passing method.</ows:Title>
<ows:Abstract>This option controls the method how the complex data output payload is passed from process code.</ows:Abstract>
<LiteralData>
<ows:DataType ows:reference="http://www.w3.org/TR/xmlschema-2/#string">string</ows:DataType>
<ows:AllowedValues>
Expand All @@ -26,7 +23,7 @@
<Input minOccurs="0" maxOccurs="1">
<ows:Identifier>TC03:seed</ows:Identifier>
<ows:Title>Random generator seed.</ows:Title>
<ows:Abstract>Random generator seed that can be used to obtain reproduceable results</ows:Abstract>
<ows:Abstract>Optional random generator seed that can be used to obtain reproducible random-generated result.</ows:Abstract>
<LiteralData>
<ows:DataType ows:reference="http://www.w3.org/TR/xmlschema-2/#integer">integer</ows:DataType>
<ows:AllowedValues>
Expand All @@ -41,7 +38,7 @@
<Output>
<ows:Identifier>TC03:output00</ows:Identifier>
<ows:Title>Test case #02: Complex output #00</ows:Title>
<ows:Abstract>Copy of the input00.</ows:Abstract>
<ows:Abstract>Binary complex data output (random-generated image).</ows:Abstract>
<ComplexOutput>
<Default>
<Format>
Expand Down Expand Up @@ -76,4 +73,3 @@
</ProcessOutputs>
</ProcessDescription>
</wps:ProcessDescriptions>

25 changes: 12 additions & 13 deletions autotest/autotest/expected/WPS10DescribeProcessValidTestCase.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,8 @@
<ProcessDescription wps:processVersion="1.0.0">
<ows:Identifier>TC00:identity:literal</ows:Identifier>
<ows:Title>Test Case 00: Literal data identity.</ows:Title>
<ows:Abstract> Test identity process (the ouptuts are copies of the inputs)
demonstrating various features of the literal data inputs
and outputs.
<ows:Abstract> Test identity process (the outputs are copies of the inputs)
demonstrating various features of the literal data inputs and outputs.
</ows:Abstract>
<ows:Metadata xlink:href="http://www.metadata.com/test-metadata" xlink:title="test-metadata"/>
<wps:Profile>test_profile</wps:Profile>
Expand All @@ -21,7 +20,7 @@
<Input minOccurs="0" maxOccurs="1">
<ows:Identifier>TC00:input01</ows:Identifier>
<ows:Title>TC00:input01</ows:Title>
<ows:Abstract>Simple string input.</ows:Abstract>
<ows:Abstract>Optional simple string input.</ows:Abstract>
<LiteralData>
<ows:DataType ows:reference="http://www.w3.org/TR/xmlschema-2/#string">string</ows:DataType>
<ows:AnyValue/>
Expand All @@ -30,21 +29,21 @@
<Input minOccurs="0" maxOccurs="1">
<ows:Identifier>TC00:input02</ows:Identifier>
<ows:Title>TC00:input02</ows:Title>
<ows:Abstract>Enumerated string input. Optional with the default.</ows:Abstract>
<ows:Abstract>Optional enumerated string input with default value.</ows:Abstract>
<LiteralData>
<ows:DataType ows:reference="http://www.w3.org/TR/xmlschema-2/#string">string</ows:DataType>
<ows:AllowedValues>
<ows:Value>high</ows:Value>
<ows:Value>medium</ows:Value>
<ows:Value>low</ows:Value>
<ows:Value>medium</ows:Value>
<ows:Value>high</ows:Value>
</ows:AllowedValues>
<DefaultValue>medium</DefaultValue>
</LiteralData>
</Input>
<Input minOccurs="0" maxOccurs="1">
<ows:Identifier>TC00:input03</ows:Identifier>
<ows:Title>Distance</ows:Title>
<ows:Abstract>Restricted float input. Optional with default. UOM conversion.</ows:Abstract>
<ows:Abstract>Optional restricted float input with default value and simple UOM conversion.</ows:Abstract>
<LiteralData>
<ows:DataType ows:reference="http://www.w3.org/TR/xmlschema-2/#double">double</ows:DataType>
<UOMs>
Expand Down Expand Up @@ -75,8 +74,8 @@
</Input>
<Input minOccurs="0" maxOccurs="1">
<ows:Identifier>TC00:input04</ows:Identifier>
<ows:Title>Distance</ows:Title>
<ows:Abstract>Restricted float input. Optional with default. Advanced UOM conversion.</ows:Abstract>
<ows:Title>Temperature</ows:Title>
<ows:Abstract>Optional restricted float input with default value and advanced UOM conversion.</ows:Abstract>
<LiteralData>
<ows:DataType ows:reference="http://www.w3.org/TR/xmlschema-2/#double">double</ows:DataType>
<UOMs>
Expand Down Expand Up @@ -125,7 +124,7 @@
<Output>
<ows:Identifier>TC00:output03</ows:Identifier>
<ows:Title>Distance</ows:Title>
<ows:Abstract>Restricted float input. UOM conversion.</ows:Abstract>
<ows:Abstract>Restricted float output with UOM conversion.</ows:Abstract>
<LiteralOutput>
<ows:DataType ows:reference="http://www.w3.org/TR/xmlschema-2/#double">double</ows:DataType>
<UOMs>
Expand All @@ -149,8 +148,8 @@
</Output>
<Output>
<ows:Identifier>TC00:output04</ows:Identifier>
<ows:Title>Distance</ows:Title>
<ows:Abstract>Restricted float input. Optional with default. Advanced UOM conversion.</ows:Abstract>
<ows:Title>Temperature</ows:Title>
<ows:Abstract>Restricted float output advanced UOM conversion.</ows:Abstract>
<LiteralOutput>
<ows:DataType ows:reference="http://www.w3.org/TR/xmlschema-2/#double">double</ows:DataType>
<UOMs>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,14 @@
<wps:Process wps:processVersion="1.0.0">
<ows:Identifier>TC01:identity:bbox</ows:Identifier>
<ows:Title>Test Case 01: Bounding box data identity.</ows:Title>
<ows:Abstract> Test identity process (the ouptuts are copies of the inputs)
demonstrating various features of the bounding box data inputs
and outputs.
<ows:Abstract> Test identity process (the output is a copy of the input)
demonstrating various features of the bounding box data inputs and outputs.
</ows:Abstract>
<ows:Metadata xlink:href="http://www.metadata.com/test-metadata" xlink:title="test-metadata"/>
<wps:Profile>test_profile</wps:Profile>
</wps:Process>
<wps:Status creationTime="2000-01-01T00:00:00.000000Z">
<wps:ProcessSucceeded/>
<wps:ProcessSucceeded>The processes execution completed successfully.</wps:ProcessSucceeded>
</wps:Status>
<wps:DataInputs>
<wps:Input>
Expand All @@ -38,4 +37,3 @@
</wps:Output>
</wps:ProcessOutputs>
</wps:ExecuteResponse>

Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,14 @@
<wps:Process wps:processVersion="1.0.0">
<ows:Identifier>TC01:identity:bbox</ows:Identifier>
<ows:Title>Test Case 01: Bounding box data identity.</ows:Title>
<ows:Abstract> Test identity process (the ouptuts are copies of the inputs)
demonstrating various features of the bounding box data inputs
and outputs.
<ows:Abstract> Test identity process (the output is a copy of the input)
demonstrating various features of the bounding box data inputs and outputs.
</ows:Abstract>
<ows:Metadata xlink:href="http://www.metadata.com/test-metadata" xlink:title="test-metadata"/>
<wps:Profile>test_profile</wps:Profile>
</wps:Process>
<wps:Status creationTime="2000-01-01T00:00:00.000000Z">
<wps:ProcessSucceeded/>
<wps:ProcessSucceeded>The processes execution completed successfully.</wps:ProcessSucceeded>
</wps:Status>
<wps:DataInputs>
<wps:Input>
Expand All @@ -38,4 +37,3 @@
</wps:Output>
</wps:ProcessOutputs>
</wps:ExecuteResponse>

Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,13 @@
<wps:ExecuteResponse xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xml:lang="en-US" service="WPS" serviceInstance="http://localhost:8000/ows?service=WPS&amp;version=1.0.0&amp;request=GetCapabilities" xsi:schemaLocation="wps http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">
<wps:Process wps:processVersion="1.0.0">
<ows:Identifier>TC03:image_generator:complex</ows:Identifier>
<ows:Title>Test Case 03: Complex data binary data with format selection.</ows:Title>
<ows:Abstract> Test process generating complext data binary output (image) with
fomat selection.
implements(ProcessInterface)
</ows:Abstract>
<ows:Title>Test Case 03: Complex data binary output with format selection.</ows:Title>
<ows:Abstract>Test process generating binary complex data output (an image).</ows:Abstract>
<ows:Metadata xlink:href="http://www.metadata.com/test-metadata" xlink:title="test-metadata"/>
<wps:Profile>test_profile</wps:Profile>
</wps:Process>
<wps:Status creationTime="2000-01-01T00:00:00.000000Z">
<wps:ProcessSucceeded/>
<wps:ProcessSucceeded>The processes execution completed successfully.</wps:ProcessSucceeded>
</wps:Status>
<wps:DataInputs>
<wps:Input>
Expand All @@ -22,15 +19,15 @@
</wps:Input>
</wps:DataInputs>
<wps:OutputDefinitions>
<wps:Output mimeType="image/jpeg" asReference="false" encoding="base64">
<wps:Output mimeType="image/jpeg" encoding="base64">
<ows:Identifier>TC03:output00</ows:Identifier>
</wps:Output>
</wps:OutputDefinitions>
<wps:ProcessOutputs>
<wps:Output>
<ows:Identifier>TC03:output00</ows:Identifier>
<ows:Title>Test case #02: Complex output #00</ows:Title>
<ows:Abstract>Copy of the input00.</ows:Abstract>
<ows:Abstract>Binary complex data output (random-generated image).</ows:Abstract>
<wps:Data>
<wps:ComplexData mimeType="image/jpeg" encoding="base64">/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy
Expand Down Expand Up @@ -4192,4 +4189,3 @@ IW969779mtG9+ml32/J4de2V5f5de3Ra6b2ltdH/2Q==</wps:ComplexData>
</wps:Output>
</wps:ProcessOutputs>
</wps:ExecuteResponse>

Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,14 @@
<wps:Process wps:processVersion="1.0.0">
<ows:Identifier>TC02:identity:complex</ows:Identifier>
<ows:Title>Test Case 02: Complex data identity.</ows:Title>
<ows:Abstract> Test identity process (the ouptuts are copies of the inputs)
demonstrating various features of the complex data inputs
and outputs.
<ows:Abstract> Test identity process (the outputs are copies of the inputs)
demonstrating various features of the complex data inputs and outputs.
</ows:Abstract>
<ows:Metadata xlink:href="http://www.metadata.com/test-metadata" xlink:title="test-metadata"/>
<wps:Profile>test_profile</wps:Profile>
</wps:Process>
<wps:Status creationTime="2000-01-01T00:00:00.000000Z">
<wps:ProcessSucceeded/>
<wps:ProcessSucceeded>The processes execution completed successfully.</wps:ProcessSucceeded>
</wps:Status>
<wps:DataInputs>
<wps:Input>
Expand All @@ -22,23 +21,23 @@
</wps:Input>
</wps:DataInputs>
<wps:OutputDefinitions>
<wps:Output mimeType="application/json" asReference="false">
<wps:Output mimeType="application/json">
<ows:Identifier>TC02:output00</ows:Identifier>
</wps:Output>
</wps:OutputDefinitions>
<wps:ProcessOutputs>
<wps:Output>
<ows:Identifier>TC02:output00</ows:Identifier>
<ows:Title>Test case #02: Complex output #00</ows:Title>
<ows:Abstract>Copy of the input00. Output format must be the same as the input format.</ows:Abstract>
<ows:Abstract>Text based complex data output (copy of the input). Note that the output format must be the same as the input format.</ows:Abstract>
<wps:Data>
<wps:ComplexData mimeType="application/json">{"text": "Příliš žluťoučký kůň úpěl ďábelské ódy."}</wps:ComplexData>
</wps:Data>
</wps:Output>
<wps:Output>
<ows:Identifier>TC02:output01</ows:Identifier>
<ows:Title>Test case #02: Complex output #01</ows:Title>
<ows:Abstract>String representation of the input00.</ows:Abstract>
<ows:Abstract>Plain text data output (copy of the input).</ows:Abstract>
<wps:Data>
<wps:ComplexData mimeType="text/plain">{
"text": "Příliš žluťoučký kůň úpěl ďábelské ódy."
Expand All @@ -47,4 +46,3 @@
</wps:Output>
</wps:ProcessOutputs>
</wps:ExecuteResponse>

0 comments on commit 24aa42c

Please sign in to comment.