Beispiel #1
0
    def deleteUser(self, userName):
        """ Delete user
        """    
        logging.debug("[UserPrefs][deleteUser] %s"% userName)

        gsx = GsXml(self.config)
        (code, message) = gsx.deleteUser(userName)
        return (code, message)
Beispiel #2
0
    def updateUser(self, userJsonStr):
        """ Update user 
        userJson: {screenName: "user", roles: [{roleTitle, roleName}, {roleTitle, roleName}]}
        if the user does not exist yet, create it.
        """                        
        logging.debug("[UserPrefs][updateUser] %s"% userJsonStr)

        userJson = json.loads(userJsonStr)
        user = userJson["screenName"]
        grouplist = []
        for g in userJson["roles"]:
            grouplist.append(g["roleName"])

        gsx = GsXml(self.config)
        (code, message) = gsx.updateUserWithGroups(user, grouplist)
        return (code, message)
Beispiel #3
0
    def createUser(self, userJsonStr):
        """ Create user and assign group membership
        userJsonStr: '{screenName: "user", roles: [{roleTitle, roleName}, {roleTitle, roleName}]}'
        return 409 Conflict if the user already exists
        """            
        logging.debug("[UserPrefs][createUser] %s"% userJsonStr)
        
        userJson = json.loads(userJsonStr)
        user = userJson["screenName"]
        grouplist = []
        for g in userJson["roles"]:
            grouplist.append(g["roleName"])

        gsx = GsXml(self.config)
        (code, message) = gsx.createUserWithGroups(user, grouplist)
        return (code, message)
Beispiel #4
0
 def setUp(self):
     cfg = ConfigParser.SafeConfigParser()
     cfg.read((os.path.join(TEST_DIR,"tests.cfg")))
     self.gsx = GsXml(cfg)
     
     self.config = cfg
     self.gsdir = self.gsx.config.get("GeoServer", "gsdir")
Beispiel #5
0
    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")
Beispiel #6
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 #7
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")