Python doctest file to simulate a WPS DescribeProcess invocation.
This test does not execute any live HTTP request, rather it parses XML files containing pre-made HTTP responses.

Imports

    >>> from __future__ import (absolute_import, division, print_function)
    >>> from tests.utils import resource_file
    >>> from owslib.wps import WebProcessingService, printInputOutput

Initialize WPS client

    >>> wps = WebProcessingService('http://ceda-wps2.badc.rl.ac.uk/wps',skip_caps=True)

Execute fake invocation of DescribeProcess operation by parsing cached response from USGS service

    >>> xml = open(resource_file('wps_CEDADescribeProcess.xml'), 'rb').read()
    >>> process = wps.describeprocess('Doubleit', xml=xml)

Check process description

    >>> process.identifier
    'DoubleIt'
    >>> process.title
    'Doubles the input number and returns value'
    >>> process.abstract
    'This is test process used to demonstrate how the WPS and the WPS User Interface work. The process accepts an integer or floating point number and returns some XML containing the input number double.'

Check process inputs

    >>> for input in process.dataInputs:
    ...     print('Process input:')
    ...     printInputOutput(input)
    ... 
    Process input:
     identifier=NumberToDouble, title=NumberToDouble, abstract=NumberToDouble, data type=LiteralData
     Any value allowed
     Default Value: None 
     minOccurs=1, maxOccurs=-1


Check process outputs

    >>> for output in process.processOutputs:
    ...     print('Process output:')
    ...     printInputOutput(output)
    ... 
    Process output:
     identifier=OutputXML, title=OutputXML, abstract=OutputXML, data type=ComplexData
     Supported Value: mimeType=text/XML, encoding=UTF-8, schema=NONE
     Default Value: None 
     reference=None, mimeType=None
