def setUp(self): cfg = ConfigParser.SafeConfigParser() cfg.read((os.path.join(TEST_DIR,"tests.cfg"))) self.le = LayEd(cfg) self.config = cfg self.workdir = os.path.abspath(os.path.join(TEST_DIR,"workdir","data"))
def setUp(self): cfg = ConfigParser.SafeConfigParser() cfg.read((os.path.join(TEST_DIR, "tests.cfg"))) cfg.set("FileMan", "testdir", TEST_DIR) self.le = LayEd(cfg) self.dbm = DbMan(cfg) self.config = cfg
class LayEdTestCase(unittest.TestCase): """Test of the auth module""" le = None # LayEd dbm = None # DbMan config = None def setUp(self): cfg = ConfigParser.SafeConfigParser() cfg.read((os.path.join(TEST_DIR,"tests.cfg"))) cfg.set("FileMan","testdir",TEST_DIR) self.le = LayEd(cfg) self.dbm = DbMan(cfg) self.config = cfg def test_getData(self): roles = [ { "roleName": "hasici", "roleTitle": "FireMen" }, { "roleName": "aagroup", "roleTitle": "AA Group" } ] print "*** roles ***" print roles print "*** getData() ... ***" head, cont = self.le.getData(roles, userName='******') print "headers" print head print "response" print cont #head, cont = self.le.getDataDirect(roles) #print "*** getDataDirect() ***" #print "headers" #print head #print "response" #print cont print "*** syncing ... ***" head, cont = self.le.syncDataPad(roles) print "headers" print head print "response" print cont print "*** getData() ... ***" head, cont = self.le.getData(roles, userName='******') print "headers" print head print "response" print cont
class LayEdTestCase(unittest.TestCase): """Test of the auth module""" le = None # LayEd dbm = None # DbMan config = None def setUp(self): cfg = ConfigParser.SafeConfigParser() cfg.read((os.path.join(TEST_DIR, "tests.cfg"))) cfg.set("FileMan", "testdir", TEST_DIR) self.le = LayEd(cfg) self.dbm = DbMan(cfg) self.config = cfg def test_getData(self): roles = [{ "roleName": "hasici", "roleTitle": "FireMen" }, { "roleName": "aagroup", "roleTitle": "AA Group" }] print "*** roles ***" print roles print "*** getData() ... ***" head, cont = self.le.getData(roles, userName='******') print "headers" print head print "response" print cont #head, cont = self.le.getDataDirect(roles) #print "*** getDataDirect() ***" #print "headers" #print head #print "response" #print cont print "*** syncing ... ***" head, cont = self.le.syncDataPad(roles) print "headers" print head print "response" print cont print "*** getData() ... ***" head, cont = self.le.getData(roles, userName='******') print "headers" print head print "response" print cont
class LayEdTestCase(unittest.TestCase): """Test of the Layer Editor""" le = None # LayEd workdir = None config = None def setUp(self): cfg = ConfigParser.SafeConfigParser() cfg.read((os.path.join(TEST_DIR, "tests.cfg"))) self.le = LayEd(cfg) self.config = cfg self.workdir = os.path.abspath( os.path.join(TEST_DIR, "workdir", "data")) # TODO: add tests for POST /layed?myLayer def test_wsDsCreate(self): self.le.createWorkspaceIfNotExists("DeltaDunaje") self.le.createWorkspaceIfNotExists("DeltaDunaje") self.le.createDataStoreIfNotExists("hasici", "DeltaDunaje") def test_getLayers(self): r1 = {} r1["roleName"] = "hasici" r1["roleTitle"] = "Hasici Markvarec" r2 = {} r2["roleName"] = "policajti" r2["roleTitle"] = "Svestky" roles = [r1, r2] headers, response = self.le.getLayers(roles) #print "*** TEST *** getLayers() ***" #print headers #print response responseJson = json.loads(response) self.assertEquals(True, responseJson[0]["featureType"]["enabled"], "FeatureType check failed") self.assertEquals("VECTOR", responseJson[0]["layer"]["type"], "Layer check failed") self.assertEquals(True, responseJson[0]["ws"] in ["hasici", "pprd"], "Workspace check failed") self.assertEquals( True, responseJson[0]["roleTitle"] in ["Hasici Markvarec", "Svestky"], "roleTitle check failed")
class LayEdTestCase(unittest.TestCase): """Test of the auth module""" le = None # LayEd gsr = None # GsRest workdir = None config = None def setUp(self): cfg = ConfigParser.SafeConfigParser() cfg.read((os.path.join(TEST_DIR,"tests.cfg"))) cfg.set("FileMan","testdir",TEST_DIR) self.le = LayEd(cfg) self.gsr = GsRest(cfg) self.config = cfg self.workdir = os.path.abspath(os.path.join(TEST_DIR,"workdir","data")) def test_01_publish(self): ws = "mis" ds = "erraPublic" ll = "line_crs" head, cont = self.le.createFtFromDb(ws, ds, ll) print "*** test publish ***" print "headers" print head print "response" print cont
def setUp(self): cfg = ConfigParser.SafeConfigParser() cfg.read((os.path.join(TEST_DIR,"tests.cfg"))) cfg.set("FileMan","testdir",TEST_DIR) self.le = LayEd(cfg) self.dbm = DbMan(cfg) self.config = cfg
class LayEdTestCase(unittest.TestCase): """Test of the auth module""" le = None # LayEd gsr = None # GsRest workdir = None config = None def setUp(self): cfg = ConfigParser.SafeConfigParser() cfg.read((os.path.join(TEST_DIR, "tests.cfg"))) cfg.set("FileMan", "testdir", TEST_DIR) self.le = LayEd(cfg) self.gsr = GsRest(cfg) self.config = cfg self.workdir = os.path.abspath( os.path.join(TEST_DIR, "workdir", "data")) def test_01_publish(self): ws = "mis" ds = "erraPublic" ll = "line_crs" head, cont = self.le.createFtFromDb(ws, ds, ll) print "*** test publish ***" print "headers" print head print "response" print cont
class LayEdTestCase(unittest.TestCase): """Test of the Layer Editor""" le = None # LayEd workdir = None config = None def setUp(self): cfg = ConfigParser.SafeConfigParser() cfg.read((os.path.join(TEST_DIR,"tests.cfg"))) self.le = LayEd(cfg) self.config = cfg self.workdir = os.path.abspath(os.path.join(TEST_DIR,"workdir","data")) # TODO: add tests for POST /layed?myLayer def test_wsDsCreate(self): self.le.createWorkspaceIfNotExists("DeltaDunaje") self.le.createWorkspaceIfNotExists("DeltaDunaje") self.le.createDataStoreIfNotExists("hasici", "DeltaDunaje") def test_getLayers(self): r1 = {} r1["roleName"] = "hasici" r1["roleTitle"] = "Hasici Markvarec" r2 = {} r2["roleName"] = "policajti" r2["roleTitle"] = "Svestky" roles = [r1,r2] headers, response = self.le.getLayers(roles) #print "*** TEST *** getLayers() ***" #print headers #print response responseJson = json.loads(response) self.assertEquals(True, responseJson[0]["featureType"]["enabled"], "FeatureType check failed") self.assertEquals("VECTOR", responseJson[0]["layer"]["type"], "Layer check failed") self.assertEquals(True, responseJson[0]["ws"] in ["hasici","pprd"], "Workspace check failed") self.assertEquals(True, responseJson[0]["roleTitle"] in ["Hasici Markvarec","Svestky"], "roleTitle check failed")
def test_AccessControl(self): # Test SECURE LAYER from LayEd le = LayEd(self.config) le = LayEd(self.config) #roleFer = le.secureLayer("hasici", "Ferrovie") roleFer = "READ_hasici_Ferrovie" # TODO add tests # Make sure that: # - Role READ_HASICI_FERROVIE exists // roles # - and is assigned to "hasici" group // roles # - hasici.Ferrovie.r = READ_HASICI_FERROVIE // layer.properties - require the role to read the layer # etc for other layers. # Test ACCESS GRANTING from LayEd le.grantAccess(roleFer, ["premek"], ["hasici"]) # TODO add tests # Make sure that: # - the corresponding roles are assigned to the appropriate users and groups #rolePest = le.secureLayer("hasici", "Pest") rolePest = "READ_hasici_Pest" le.grantAccess(rolePest, [], ["hasici"]) #roleAzov = le.secureLayer("policajti", "Azov") roleAzov = "READ_policajti_Azov" le.grantAccess(roleAzov, ["hubert","honza"], ["policajti"])
class LayEdCkanTestCase(unittest.TestCase): le = None # LayEd workdir = None cfg = None def setUp(self): cfg = ConfigParser.SafeConfigParser() cfg.read((os.path.join(TEST_DIR,"tests.cfg"))) cfg.set("FileMan","testdir",TEST_DIR) self.le = LayEd(cfg) self.ckan = CkanApi(cfg) self.config = cfg self.workdir = os.path.abspath(os.path.join(TEST_DIR,"workdir","data")) def test_01_ckan(self): # Get CKAN packages (==datasets) strCkanPackages = self.le.getCkanPackages(roles=[], userName="", limit="10", offset="0") print strCkanPackages
class LayEdTestCase(unittest.TestCase): """Test of the auth module""" le = None # LayEd workdir = None cfg = None def setUp(self): cfg = ConfigParser.SafeConfigParser() cfg.read((os.path.join(TEST_DIR,"tests.cfg"))) cfg.set("FileMan","testdir",TEST_DIR) self.le = LayEd(cfg) self.gsr = GsRest(cfg) self.config = cfg self.workdir = os.path.abspath(os.path.join(TEST_DIR,"workdir","data")) # TODO: add tests for POST /layed?myLayer def test_01_publish(self): # ff = "world_cities_point.shp" # file # ll = "world_cities_point" # layer # st = "world_cities_point" # style # ff = "pest.shp" # file # ll = "pest" # layer # st = "pest" # style ff = "line_crs.shp" # file ll = "line_crs" # layer st = "line_crs" # style ws = "mis" # workspace ds = "testschema" # datastore sch = "testschema" # schema # Check # # Check if the layer is not already there (head, cont) = self.gsr.getLayer(ws, ll) self.assertNotEquals("200", head["status"], "The layer already exists. Please, remove it manually." ) # Check if the style is not already there (head, cont) = self.gsr.getStyle(ws, st) self.assertNotEquals("200", head["status"], "The style already exists. Please, remove it manually." ) # Publish # self.le.publish(fsUserDir=self.workdir, fsGroupDir="", dbSchema=ds, gsWorkspace=ws, fileName=ff) # Test # # Check if the layer is there (head, cont) = self.gsr.getLayer(ws, ll) self.assertEquals("200", head["status"], "The layer is not there. Was it created under another name?") # Check the style of the layer layerJson = json.loads(cont) styleName = layerJson["layer"]["defaultStyle"]["name"] self.assertEquals(st, styleName, "The layer is there, but it has wrong style assinged.") # Check if the style is there (head, cont) = self.gsr.getStyle(ws, st) self.assertEquals("200", head["status"], "The style is not there." )
class LayEdTestCase(unittest.TestCase): """Test of the Layer Editor""" le = None # LayEd workdir = None config = None def setUp(self): cfg = ConfigParser.SafeConfigParser() cfg.read((os.path.join(TEST_DIR,"tests.cfg"))) self.le = LayEd(cfg) self.config = cfg self.workdir = os.path.abspath(os.path.join(TEST_DIR,"workdir","data")) # TODO: add tests for POST /layed?myLayer def test_getLayers(self): r1 = {} r1["roleName"] = "hasici" r1["roleTitle"] = "Hasici Markvarec" r2 = {} r2["roleName"] = "pprd" r2["roleTitle"] = "PRD" roles = [r1,r2] headers, response = self.le.getLayers(roles) #print "*** TEST *** getLayers() ***" #print headers #print response responseJson = json.loads(response) self.assertEquals(True, responseJson[0]["featureType"]["enabled"], "FeatureType check failed") self.assertEquals("VECTOR", responseJson[0]["layer"]["type"], "Layer check failed") self.assertEquals(True, responseJson[0]["ws"] in ["hasici","pprd"], "Workspace check failed") self.assertEquals(True, responseJson[0]["roleTitle"] in ["Hasici Markvarec","PRD"], "roleTitle check failed") def test_cloneStyle(self): self.le.cloneStyle(fromStyleUrl="http://erra.ccss.cz/geoserver/rest/styles/polygon.json", toWorkspace="pprd", toStyle="MyNewPoly") gsr = GsRest(self.config) (head, cont) = gsr.getStyleSld(workspace="pprd", styleName="MyNewPoly") print " *** TEST *** clone style 1 ***" print head print cont self.le.cloneStyle(fromWorkspace="pprd", fromStyle="MyNewPoly", toWorkspace=None, toStyle="YourNewPoly") (head, cont) = gsr.getStyleSld(workspace=None, styleName="YourNewPoly") print " *** TEST *** clone style 2 ***" print head print cont def test_getLayerConfig(self): retval = self.le.getLayerConfig("TestWS","line_crs") retval = json.loads(retval) self.assertEquals( "VECTOR", retval["layer"]["type"], "Layer is wrong" ) self.assertEquals( "TestWS", retval["featureType"]["namespace"]["name"], "Feature Type is wrong" ) def test_putLayerConfig(self): ''' Get Layer and Feature Type Layer -> Change 'Enabled' to 'False' Feature Type -> Change 'Abstract' Test and change it back. ''' # Prepare layer = self.le.getLayerConfig("TestWS","line_crs") # GET Layer & Feature Type #print "*** TEST *** received: ***" #print layer layer = json.loads(layer) # string -> json self.assertNotEquals( False, layer["layer"]["enabled"], "Please enable the layer" ) # layer: enabled self.assertNotEquals( "Abstract has changed", layer["featureType"]["abstract"], "Please change the abstract" ) # feature type: abstract # Change layer["layer"]["enabled"] = False # layer: enabled layer["featureType"]["abstract"] = "Abstract has changed" # feature type: abstract layer = json.dumps(layer) # json -> string #print "*** TEST *** sending: ***" #print layer self.le.putLayerConfig("TestWS","line_crs",layer) # PUT Layer & Feature Type # Test layer = self.le.getLayerConfig("TestWS","line_crs") # GET Layer & Feature Type layer = json.loads(layer) # string -> json #print 'layer["layer"]["enabled"]' #print layer["layer"]["enabled"] self.assertEquals( False, layer["layer"]["enabled"], "Layer change failed" ) # layer: enabled self.assertEquals( "Abstract has changed", layer["featureType"]["abstract"], "Feature Type change failed" ) # feature type: abstract # Change it back layer["layer"]["enabled"] = True layer["featureType"]["abstract"] = "Hello Dolly!" layer = json.dumps(layer) self.le.putLayerConfig("TestWS","line_crs",layer)
class LayEdTestCase(unittest.TestCase): """Test of the auth module""" le = None # LayEd workdir = None cfg = None def setUp(self): cfg = ConfigParser.SafeConfigParser() cfg.read((os.path.join(TEST_DIR, "tests.cfg"))) cfg.set("FileMan", "testdir", TEST_DIR) self.le = LayEd(cfg) self.gsr = GsRest(cfg) self.config = cfg self.workdir = os.path.abspath( os.path.join(TEST_DIR, "workdir", "data")) # TODO: add tests for POST /layed?myLayer def test_01_publish(self): # ff = "world_cities_point.shp" # file # ll = "world_cities_point" # layer # st = "world_cities_point" # style # ff = "pest.shp" # file # ll = "pest" # layer # st = "pest" # style ff = "line_crs.shp" # file ll = "line_crs" # layer st = "line_crs" # style ws = "mis" # workspace ds = "testschema" # datastore sch = "testschema" # schema # Check # # Check if the layer is not already there (head, cont) = self.gsr.getLayer(ws, ll) self.assertNotEquals( "200", head["status"], "The layer already exists. Please, remove it manually.") # Check if the style is not already there (head, cont) = self.gsr.getStyle(ws, st) self.assertNotEquals( "200", head["status"], "The style already exists. Please, remove it manually.") # Publish # self.le.publish(fsUserDir=self.workdir, fsGroupDir="", dbSchema=ds, gsWorkspace=ws, fileName=ff) # Test # # Check if the layer is there (head, cont) = self.gsr.getLayer(ws, ll) self.assertEquals( "200", head["status"], "The layer is not there. Was it created under another name?") # Check the style of the layer layerJson = json.loads(cont) styleName = layerJson["layer"]["defaultStyle"]["name"] self.assertEquals( st, styleName, "The layer is there, but it has wrong style assinged.") # Check if the style is there (head, cont) = self.gsr.getStyle(ws, st) self.assertEquals("200", head["status"], "The style is not there.")