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://cida.usgs.gov/gdp/process/WebProcessingService', skip_caps=True)

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

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

Check WPS description
    >>> wps.updateSequence is not None
    True
    >>> wps.identification.type
    'WPS'
    >>> wps.identification.title
    'Geo Data Portal WPS Implementation'
    >>> wps.identification.abstract
    'A Geo Data Portal Service based on the 52north implementation of WPS 1.0.0'

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
    ...
    ('gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles', 'gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles')
    ('gov.usgs.cida.gdp.wps.algorithm.discovery.CalculateWCSCoverageInfo', 'gov.usgs.cida.gdp.wps.algorithm.discovery.CalculateWCSCoverageInfo')
    ('gov.usgs.cida.gdp.wps.algorithm.communication.EmailWhenFinishedAlgorithm', 'gov.usgs.cida.gdp.wps.algorithm.communication.EmailWhenFinishedAlgorithm')
    ('gov.usgs.cida.gdp.wps.algorithm.communication.GeoserverManagementAlgorithm', 'gov.usgs.cida.gdp.wps.algorithm.communication.GeoserverManagementAlgorithm')
    ('gov.usgs.cida.gdp.wps.algorithm.discovery.GetWcsCoverages', 'gov.usgs.cida.gdp.wps.algorithm.discovery.GetWcsCoverages')
    ('gov.usgs.cida.gdp.wps.algorithm.filemanagement.GetWatersGeom', 'gov.usgs.cida.gdp.wps.algorithm.filemanagement.GetWatersGeom')
    ('gov.usgs.cida.gdp.wps.algorithm.discovery.ListOpendapGrids', 'gov.usgs.cida.gdp.wps.algorithm.discovery.ListOpendapGrids')
    ('gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore', 'gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore')
    ('gov.usgs.cida.gdp.wps.algorithm.discovery.GetGridTimeRange', 'gov.usgs.cida.gdp.wps.algorithm.discovery.GetGridTimeRange')
