Beispiel #1
0
class GsXmlTestCase(unittest.TestCase):

    gsx = None
    gsdir = None

    def setUp(self):
        cfg = ConfigParser.SafeConfigParser()
        cfg.read((os.path.join(TEST_DIR,"tests.cfg")))
        self.gsx = GsXml(cfg)

        self.gsdir = self.gsx.config.get("GeoServer", "gsdir")

    def test_setLayerStyle(self):
        
        ### Check ###
        # Armenia roads layer has a no-workspace style 'simple_roads'
        
        # Layer
        layerPath = self.gsx.getLayerPath(layerWorkspace="Armenia", dataStoreName="arm", layerName="ARM_roads")
        layerTree = Xml.parse(layerPath)
        layerRoot = layerTree.getroot()
        layerOrigStyleId = layerRoot.find("./defaultStyle/id").text

        # Original style
        origStylePath = self.gsx.getStyleXmlPath(styleWorkspace=None, styleName="simple_roads")
        origStyleTree = Xml.parse(origStylePath)
        origStyleRoot = origStyleTree.getroot()
        origStyleId   = origStyleRoot.find("./id").text

        # Check
        self.assertEquals(layerOrigStyleId, origStyleId, "The <id> of the default style of the layer doesn't match the id of the expected style")

        ### Change ###
        # Set layer style to 'pprd:railroad'

        self.gsx.setLayerStyle(layerWorkspace="Armenia", dataStoreName="arm", layerName="ARM_roads", styleWorkspace="pprd", styleName="railroad")

        ### Test ###

        # Re-load the layer
        layerPath = self.gsx.getLayerPath(layerWorkspace="Armenia", dataStoreName="arm", layerName="ARM_roads")
        layerTree = Xml.parse(layerPath)
        layerRoot = layerTree.getroot()
        layerNewStyleId = layerRoot.find("./defaultStyle/id").text
        
        # New style
        newStylePath = self.gsx.getStyleXmlPath(styleWorkspace="pprd", styleName="railroad")
        newStyleTree = Xml.parse(newStylePath)
        newStyleRoot = newStyleTree.getroot()
        newStyleId   = newStyleRoot.find("./id").text
    
        # Check
        self.assertEquals(layerNewStyleId, newStyleId, "Layer has wrong style assigned")

        ### Change back ###
        self.gsx.setLayerStyle(layerWorkspace="Armenia", dataStoreName="arm", layerName="ARM_roads", styleWorkspace=None, styleName="simple_roads")

        ### Test again ###
        
        # Re-load the layer
        layerPath = self.gsx.getLayerPath(layerWorkspace="Armenia", dataStoreName="arm", layerName="ARM_roads")
        layerTree = Xml.parse(layerPath)
        layerRoot = layerTree.getroot()
        layerStyleBackId = layerRoot.find("./defaultStyle/id").text
        
        # Check
        self.assertEquals(layerStyleBackId, origStyleId, "The second style changed failed")
Beispiel #2
0
class GsXmlTestCase(unittest.TestCase):

    gsx = None
    gsdir = None

    def setUp(self):
        cfg = ConfigParser.SafeConfigParser()
        cfg.read((os.path.join(TEST_DIR, "tests.cfg")))
        self.gsx = GsXml(cfg)

        self.gsdir = self.gsx.config.get("GeoServer", "gsdir")

    def test_setLayerStyle(self):

        ### Check ###
        # Armenia roads layer has a no-workspace style 'simple_roads'

        # Layer
        layerPath = self.gsx.getLayerPath(layerWorkspace="Armenia",
                                          dataStoreName="arm",
                                          layerName="ARM_roads")
        layerTree = Xml.parse(layerPath)
        layerRoot = layerTree.getroot()
        layerOrigStyleId = layerRoot.find("./defaultStyle/id").text

        # Original style
        origStylePath = self.gsx.getStyleXmlPath(styleWorkspace=None,
                                                 styleName="simple_roads")
        origStyleTree = Xml.parse(origStylePath)
        origStyleRoot = origStyleTree.getroot()
        origStyleId = origStyleRoot.find("./id").text

        # Check
        self.assertEquals(
            layerOrigStyleId, origStyleId,
            "The <id> of the default style of the layer doesn't match the id of the expected style"
        )

        ### Change ###
        # Set layer style to 'pprd:railroad'

        self.gsx.setLayerStyle(layerWorkspace="Armenia",
                               dataStoreName="arm",
                               layerName="ARM_roads",
                               styleWorkspace="pprd",
                               styleName="railroad")

        ### Test ###

        # Re-load the layer
        layerPath = self.gsx.getLayerPath(layerWorkspace="Armenia",
                                          dataStoreName="arm",
                                          layerName="ARM_roads")
        layerTree = Xml.parse(layerPath)
        layerRoot = layerTree.getroot()
        layerNewStyleId = layerRoot.find("./defaultStyle/id").text

        # New style
        newStylePath = self.gsx.getStyleXmlPath(styleWorkspace="pprd",
                                                styleName="railroad")
        newStyleTree = Xml.parse(newStylePath)
        newStyleRoot = newStyleTree.getroot()
        newStyleId = newStyleRoot.find("./id").text

        # Check
        self.assertEquals(layerNewStyleId, newStyleId,
                          "Layer has wrong style assigned")

        ### Change back ###
        self.gsx.setLayerStyle(layerWorkspace="Armenia",
                               dataStoreName="arm",
                               layerName="ARM_roads",
                               styleWorkspace=None,
                               styleName="simple_roads")

        ### Test again ###

        # Re-load the layer
        layerPath = self.gsx.getLayerPath(layerWorkspace="Armenia",
                                          dataStoreName="arm",
                                          layerName="ARM_roads")
        layerTree = Xml.parse(layerPath)
        layerRoot = layerTree.getroot()
        layerStyleBackId = layerRoot.find("./defaultStyle/id").text

        # Check
        self.assertEquals(layerStyleBackId, origStyleId,
                          "The second style changed failed")