#!/usr/bin/env python # coding=utf-8 import os from test_ows import * import wfs import unittest import urllib import urlparse import mapscript from lxml import objectify from osgeo import ogr 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) self.capabilities = self._getWMSCapabilities() # test the wms capabilities document self.assertEquals(self.capabilities.Capability.tag,"{http://www.opengis.net/wms}Capability") self.assertEquals(self.capabilities.Capability.Layer.Layer.Name.text, "line") self.assertEquals(self.capabilities.Capability.Layer.Layer.Abstract.text, "My abstract") # test the wfs extent ds = ogr.Open(self.service.layerDefFile) lineLayer = ds.GetLayer() self.service.capabilities.attrib["version"] = "1.1.0" self.assertEquals((48.152419, 12.735342, 51.431833, 18.612816),self.service.getLayerExtent(lineLayer)) self.service.capabilities.attrib["version"] = "1.0.0" self.assertEquals((12.735342,48.152419,18.612816,51.431833),self.service.getLayerExtent(lineLayer)) self.service.capabilities.attrib["version"] = "1.1.0" if __name__ == "__main__": unittest.main()