
Imports

    >>> from owslib.wms import WebMapService
    
Fake a request to a WMS Server using saved doc from telascience.org.
http://wms.telascience.org/cgi-bin/ngBM_wms?

    >>> xml = open('Telascience.xml', 'r').read() 
    >>> wms = WebMapService('url', version='1.1.1', xml=xml)
    
Test capabilities

    >>> wms.capabilities.service
    'OGC:WMS'
    >>> wms.capabilities.title
    'BM'
    
Test available content layers

    >>> [layer.name for layer in wms.capabilities.contents]
    ['world.topo.bathy.200409', 'USGS_1ft_San_Diego']
    >>> [layer.title for layer in wms.capabilities.contents]
    ['world.topo.bathy.200409', 'USGS 1ft San Diego']
    
Test single item accessor

    >>> wms.capabilities.getContentByName('world.topo.bathy.200409').title
    'world.topo.bathy.200409'
    >>> wms.capabilities.getContentByName('world.topo.bathy.200409').boundingBox
    (-180.0, -90.0, 180.0, 90.0, 'EPSG:4326')
    >>> wms.capabilities.getContentByName('world.topo.bathy.200409').boundingBoxWGS84
    (-180.0, -90.0, 180.0, 90.0)
    >>> wms.capabilities.getContentByName('world.topo.bathy.200409').crsOptions
    ['EPSG:4326']
    >>> wms.capabilities.getContentByName('world.topo.bathy.200409').styles
    {}
    
Expect a KeyError for invalid names

    >>> wms.capabilities.getContentByName('utterly bogus').title
    Traceback (most recent call last):
    ...
    KeyError: 'No content named utterly bogus'

Test operations

    >>> [op.name for op in wms.capabilities.operations]
    ['GetCapabilities', 'GetMap', 'GetFeatureInfo', 'DescribeLayer', 'GetLegendGraphic']
    >>> wms.capabilities.getOperationByName('GetMap').methods
    {'Post': {'url': 'http://wms.telascience.org/cgi-bin/ngBM_wms?'}, 'Get': {'url': 'http://wms.telascience.org/cgi-bin/ngBM_wms?'}}
    >>> wms.capabilities.getOperationByName('GetMap').formatOptions
    ['image/gif', 'image/png', 'image/jpeg', 'image/wbmp', 'image/tiff', 'image/png; mode=24bit']

Test exceptions

    >>> wms.capabilities.exceptions
    ['application/vnd.ogc.se_xml', 'application/vnd.ogc.se_inimage', 'application/vnd.ogc.se_blank']

Lastly, test the getcapabilities method

    >>> wms = WebMapService('http://wms.telascience.org/cgi-bin/ngBM_wms?', version='1.1.1')
    >>> xml = wms.getcapabilities().read()
    >>> xml.find('<WMT_MS_Capabilities version="1.1.1">') > 0
    True

