Python doctest file to simulate a WPS GetCapabilities 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

Initialize WPS client

    >>> wps = WebProcessingService('http://geoprocessing.demo.52north.org:8080/52n-wps-webapp-3.3.1/WebProcessingService', skip_caps=True)

Execute fake invocation of GetCapabilities operation by parsing cached response from 52North service

    >>> xml = open(resource_file('wps_52nCapabilities.xml'), 'rb').read()
    >>> wps.getcapabilities(xml=xml)

Check WPS description

    >>> wps.identification.type
    'WPS'

Check available operations
    >>> for operation in wps.operations:
    ...     print(operation.name)
    ... 
    GetCapabilities
    DescribeProcess
    Execute
    

Check high level process descriptions
    >>> for process in wps.processes:
    ...     process.identifier, process.title
    ... 
    ('org.n52.wps.server.algorithm.test.MultiReferenceInputAlgorithm', 'for testing multiple inputs by reference')
    ('org.n52.wps.server.algorithm.test.EchoProcess', 'Echo process')
    ('org.n52.wps.server.algorithm.test.MultiReferenceBinaryInputAlgorithm', 'for testing multiple binary inputs by reference')
    ('org.n52.wps.server.algorithm.test.LongRunningDummyTestClass', 'org.n52.wps.server.algorithm.test.LongRunningDummyTestClass')
    ('org.n52.wps.server.algorithm.JTSConvexHullAlgorithm', 'org.n52.wps.server.algorithm.JTSConvexHullAlgorithm')
    ('org.n52.wps.server.algorithm.test.MultipleComplexInAndOutputsDummyTestClass', 'org.n52.wps.server.algorithm.test.MultipleComplexInAndOutputsDummyTestClass')
    ('org.n52.wps.server.algorithm.test.DummyTestClass', 'org.n52.wps.server.algorithm.test.DummyTestClass')
