| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #!/usr/bin/env python
- # coding=utf-8
- import os
- from test_ows import TestOWS
- import wfs
- import unittest
- import urllib
- import urlparse
- import mapscript
- from lxml import objectify
- class TestWFS(TestOWS):
- service = "WFS"
- def test_getmapobj(self):
- self.assertTrue(isinstance(self.service, wfs.WFS))
-
- mapObj = self.service.makeMap()
- self.assertTrue(isinstance(mapObj, mapscript.mapObj))
- self.assertEquals(mapObj.numlayers,1)
-
- layer = mapObj.getLayer(0)
- self.assertEquals(layer.type,mapscript.MS_LAYER_LINE)
- # download the WMS Capabilities
- url = self._getURLWithMap(self.service.mapfilename)
- url = urlparse.urlparse(url)
- params = urlparse.parse_qs(url[4])
- params["REQUEST"] = "GetCapabilities"
- params["SERVICE"] = "WMS"
- params = urllib.unquote(urllib.urlencode(params,True))
- attrs = (url[0],url[1],url[2],url[3],params,url[5])
- resp = objectify.parse(urllib.urlopen(urlparse.urlunparse(attrs)))
- capabilities = resp.getroot()
- # test the wms capabilities document
- self.assertEquals(capabilities.Capability.tag,"{http://www.opengis.net/wms}Capability")
- self.assertEquals(capabilities.Capability.Layer.Layer.Name.text, "line")
- if __name__ == "__main__":
- unittest.main()
|