def setup_method(self, _): from c2cgeoportal.models import User, Role, LayerWMS, RestrictionArea, \ Interface, DBSession ogc_server_internal, _ = create_default_ogcserver() user1 = User(username="******", password="******") role1 = Role(name="__test_role1", description="__test_role1") user1.role_name = role1.name user1.email = "Tarenpion" main = Interface(name="main") layer1 = LayerWMS("testpoint_group_name", public=False) layer1.layer = "testpoint_group" layer1.ogc_server = ogc_server_internal layer1.interfaces = [main] layer2 = LayerWMS("testpoint_protected_2_name", public=False) layer2.layer = "testpoint_protected_2" layer2.ogc_server = ogc_server_internal layer2.interfaces = [main] area = "POLYGON((-100 30, -100 50, 100 50, 100 30, -100 30))" area = WKTElement(area, srid=21781) restricted_area1 = RestrictionArea("__test_ra1", "", [layer1, layer2], [role1], area) DBSession.add_all([user1, role1, layer1, layer2, restricted_area1]) DBSession.flush() transaction.commit()
def setUp(self): # noqa from c2cgeoportal.models import User, Role, LayerV1, RestrictionArea, Interface, DBSession user1 = User(username=u"__test_user1", password=u"__test_user1") role1 = Role(name=u"__test_role1", description=u"__test_role1") user1.role_name = role1.name user1.email = u"Tarenpion" user2 = User(username=u"__test_user2", password=u"__test_user2") role2 = Role(name=u"__test_role2", description=u"__test_role2") user2.role_name = role2.name user2.email = u"Tarenpion" main = Interface(name=u"main") layer1 = LayerV1(u"layer_1", public=False) layer1.interfaces = [main] layer2 = LayerV1(u"layer_2", public=False) layer2.interfaces = [main] layer3 = LayerV1(u"layer_3", public=False) layer3.interfaces = [main] area = "POLYGON((-100 30, -100 50, 100 50, 100 30, -100 30))" area = WKTElement(area, srid=21781) restricted_area1 = RestrictionArea(u"__test_ra1", u"", [layer1, layer2], [role1], area, readwrite=True) area = "POLYGON((-100 0, -100 20, 100 20, 100 0, -100 0))" area = WKTElement(area, srid=21781) restricted_area2 = RestrictionArea(u"__test_ra2", u"", [layer1, layer2, layer3], [role2], area) DBSession.add_all([user1, user2, role1, role2, restricted_area1, restricted_area2]) DBSession.flush() transaction.commit()
def setUp(self): # noqa from c2cgeoportal.models import User, Role, LayerV1, RestrictionArea, \ Interface, DBSession create_default_ogcserver() user1 = User(username=u"__test_user1", password=u"__test_user1") role1 = Role(name=u"__test_role1", description=u"__test_role1") user1.role_name = role1.name user1.email = u"Tarenpion" main = Interface(name=u"main") layer1 = LayerV1(u"testpoint_group", public=False) layer1.interfaces = [main] layer2 = LayerV1(u"testpoint_protected_2", public=False) layer2.interfaces = [main] area = "POLYGON((-100 30, -100 50, 100 50, 100 30, -100 30))" area = WKTElement(area, srid=21781) restricted_area1 = RestrictionArea(u"__test_ra1", u"", [layer1, layer2], [role1], area) DBSession.add_all([user1, role1, layer1, layer2, restricted_area1]) DBSession.flush() transaction.commit()
def loginchange(self): set_common_headers(self.request, "loginchange", NO_CACHE) new_password = self.request.params.get("newPassword", None) new_password_confirm = self.request.params.get("confirmNewPassword", None) if new_password is None or new_password_confirm is None: raise HTTPBadRequest( "'newPassword' and 'confirmNewPassword' should be " "available in request params" ) # check if loggedin if not self.request.user: raise HTTPUnauthorized("bad credentials") if new_password != new_password_confirm: raise HTTPBadRequest( "The new password and the new password " "confirmation don't match" ) u = self.request.user u._set_password(new_password) u.is_password_changed = True DBSession.flush() log.info("Password changed for user: %s" % self.request.user.username) return { "success": "true" }
def setUp(self): from c2cgeoportal.models import User, Role, Layer, RestrictionArea, \ Functionality, DBSession TestPoint.__table__.create(bind=DBSession.bind, checkfirst=True) geom = WKTSpatialElement("MULTIPOINT((-90 -45))", srid=21781) p1 = TestPoint(the_geom=geom, name=u'foo', city=u'Lausanne', country=u'Swiss') geom = WKTSpatialElement("MULTIPOINT((-90 45))", srid=21781) p2 = TestPoint(the_geom=geom, name=u'bar', city=u'Chambéry', country=u'France') geom = WKTSpatialElement("MULTIPOINT((90 45))", srid=21781) p3 = TestPoint(the_geom=geom, name=u'éàè', city="Paris", country=u'France') geom = WKTSpatialElement("MULTIPOINT((90 -45))", srid=21781) p4 = TestPoint(the_geom=geom, name=u'123', city='Londre', country=u'UK') pt1 = Functionality(name=u'print_template', value=u'1 Wohlen A4 portrait') pt2 = Functionality(name=u'print_template', value=u'2 Wohlen A3 landscape') user1 = User(username=u'__test_user1', password=u'__test_user1') role1 = Role(name=u'__test_role1', description=u'__test_role1', functionalities=[pt1, pt2]) user1.role = role1 user1.email = u'Tarenpion' user2 = User(username=u'__test_user2', password=u'__test_user2') role2 = Role(name=u'__test_role2', description=u'__test_role2', functionalities=[pt1, pt2]) user2.role = role2 user2.email = u'Tarenpion' user3 = User(username=u'__test_user3', password=u'__test_user3') role3 = Role(name=u'__test_role3', description=u'__test_role3', functionalities=[pt1, pt2]) user3.role = role3 user3.email = u'Tarenpion' layer2 = Layer(u'testpoint_protected', 400, public=False) layer3 = Layer(u'testpoint_protected_query_with_collect', public=False) area = "POLYGON((-100 30, -100 50, 100 50, 100 30, -100 30))" area = WKTSpatialElement(area, srid=21781) restricted_area1 = RestrictionArea(u'__test_ra1', u'', [layer2, layer3], [role1], area) area = "POLYGON((-100 0, -100 20, 100 20, 100 0, -100 0))" area = WKTSpatialElement(area, srid=21781) restricted_area2 = RestrictionArea(u'__test_ra2', u'', [layer2, layer3], [role2, role3], area) area = "POLYGON((-95 43, -95 47, 95 47, 95 43, -95 43))" area = WKTSpatialElement(area, srid=21781) restricted_area3 = RestrictionArea(u'__test_ra3', u'', [layer3], [role3], area, readwrite=True) DBSession.add_all([ p1, p2, p3, p4, user1, user2, user3, restricted_area1, restricted_area2, restricted_area3 ]) DBSession.flush() self.id_lausanne = p1.id self.id_paris = p3.id transaction.commit()
def loginchange(self): new_password = self.request.params.get('newPassword', None) new_password_confirm = self.request.params.get('confirmNewPassword', None) if new_password is None or new_password_confirm is None: raise HTTPBadRequest( '"newPassword" and "confirmNewPassword" should be \ available in request params') # check if loggedin if not self.request.user: raise HTTPUnauthorized('bad credentials') if new_password != new_password_confirm: raise HTTPBadRequest("the new password and the new password \ confirmation don't match") u = self.request.user u._set_password(new_password) u.is_password_changed = True DBSession.flush() log.info("password changed for user: %s" % self.request.user.username) # handle replication if 'auth_replication_enabled' in self.request.registry.settings and \ self.request.registry.settings['auth_replication_enabled'] == \ 'true': # pragma: no cover try: log.debug( "trying to find if engine set for replication exists") engine = sqlahelper.get_engine('replication') except RuntimeError: log.debug("engine for replication doesn't exist yet, trying \ to create") engine = engine_from_config(self.request.registry.settings, 'sqlalchemy_replication.') sqlahelper.add_engine(engine, 'replication') DBSession2 = scoped_session(sessionmaker(bind=engine)) dbuser_r = DBSession2.query(User).filter( User.id == self.request.user.id) result = dbuser_r.all() if len(result) == 0: msg = 'user not found in replication target database: %s' \ % self.request.user.username log.exception(msg) return HTTPBadRequest(msg) # pragma nocover else: u_r = dbuser_r.all()[0] u_r._set_password(new_password) u_r.is_password_changed = True DBSession2.commit() log.info("password changed in replication target database \ for user: %s" % self.request.user.username) return Response('true', cache_control="no-cache")
def loginchange(self): new_password = self.request.params.get('newPassword', None) new_password_confirm = self.request.params.get('confirmNewPassword', None) if new_password is None or new_password_confirm is None: raise HTTPBadRequest('"newPassword" and "confirmNewPassword" should be \ available in request params') # check if loggedin if not self.request.user: raise HTTPUnauthorized('bad credentials') if new_password != new_password_confirm: raise HTTPBadRequest("the new password and the new password \ confirmation don't match") u = self.request.user u._set_password(new_password) u.is_password_changed = True DBSession.flush() log.info("password changed for user: %s" % self.request.user.username) # handle replication if 'auth_replication_enabled' in self.request.registry.settings and \ self.request.registry.settings['auth_replication_enabled'] == \ 'true': # pragma: no cover try: log.debug("trying to find if engine set for replication exists") engine = sqlahelper.get_engine('replication') except RuntimeError: log.debug("engine for replication doesn't exist yet, trying \ to create") engine = engine_from_config( self.request.registry.settings, 'sqlalchemy_replication.') sqlahelper.add_engine(engine, 'replication') DBSession2 = scoped_session(sessionmaker(bind=engine)) dbuser_r = DBSession2.query(User).filter(User.id == self.request.user.id) result = dbuser_r.all() if len(result) == 0: msg = 'user not found in replication target database: %s' \ % self.request.user.username log.exception(msg) return HTTPBadRequest(msg) # pragma nocover else: u_r = dbuser_r.all()[0] u_r._set_password(new_password) u_r.is_password_changed = True DBSession2.commit() log.info("password changed in replication target database \ for user: %s" % self.request.user.username) return Response('true', cache_control="no-cache")
def setup_method(self, _): self.maxDiff = None from c2cgeoportal.models import User, DBSession user = User(username="******", password="******") DBSession.add(user) DBSession.flush() self.old_remember = pyramid.security.remember self.user = None def remember(request, user=None): self.user = user pyramid.security.remember = remember
def setUp(self): # noqa from c2cgeoportal.models import User, Role, LayerV1, RestrictionArea, \ Interface, DBSession user1 = User(username=u"__test_user1", password=u"__test_user1") role1 = Role(name=u"__test_role1", description=u"__test_role1") user1.role_name = role1.name user1.email = u"Tarenpion" user2 = User(username=u"__test_user2", password=u"__test_user2") role2 = Role(name=u"__test_role2", description=u"__test_role2") user2.role_name = role2.name user2.email = u"Tarenpion" main = Interface(name=u"main") layer1 = LayerV1(u"layer_1", public=False) layer1.interfaces = [main] layer2 = LayerV1(u"layer_2", public=False) layer2.interfaces = [main] layer3 = LayerV1(u"layer_3", public=False) layer3.interfaces = [main] area = "POLYGON((-100 30, -100 50, 100 50, 100 30, -100 30))" area = WKTElement(area, srid=21781) restricted_area1 = RestrictionArea(u"__test_ra1", u"", [layer1, layer2], [role1], area, readwrite=True) area = "POLYGON((-100 0, -100 20, 100 20, 100 0, -100 0))" area = WKTElement(area, srid=21781) restricted_area2 = RestrictionArea(u"__test_ra2", u"", [layer1, layer2, layer3], [role2], area) DBSession.add_all( [user1, user2, role1, role2, restricted_area1, restricted_area2]) DBSession.flush() transaction.commit()
def loginchange(self): self.request.response.cache_control.no_cache = True new_password = self.request.params.get('newPassword', None) new_password_confirm = self.request.params.get('confirmNewPassword', None) if new_password is None or new_password_confirm is None: raise HTTPBadRequest('"newPassword" and "confirmNewPassword" should be \ available in request params') # check if loggedin if not self.request.user: raise HTTPUnauthorized('bad credentials') if new_password != new_password_confirm: raise HTTPBadRequest("the new password and the new password \ confirmation don't match") u = self.request.user u._set_password(new_password) u.is_password_changed = True DBSession.flush() log.info("password changed for user: %s" % self.request.user.username) return { "success": "true" }
def setUp(self): # noqa self.maxDiff = None from c2cgeoportal.models import User, Role, LayerV1, RestrictionArea, \ Functionality, Interface, DBSession, management, OGCServer, \ OGCSERVER_TYPE_GEOSERVER, OGCSERVER_AUTH_GEOSERVER if management: TestPoint.__table__.c.the_geom.type.management = True create_default_ogcserver() ogcserver_geoserver = OGCServer(name="__test_ogc_server_geoserver") ogcserver_geoserver.url = mapserv_url ogcserver_geoserver.type = OGCSERVER_TYPE_GEOSERVER ogcserver_geoserver.auth = OGCSERVER_AUTH_GEOSERVER TestPoint.__table__.create(bind=DBSession.bind, checkfirst=True) geom = WKTElement("MULTIPOINT((-90 -45))", srid=21781) p1 = TestPoint(the_geom=geom, name=u"foo", city=u"Lausanne", country=u"Swiss") geom = WKTElement("MULTIPOINT((-90 45))", srid=21781) p2 = TestPoint(the_geom=geom, name=u"bar", city=u"Chambéry", country=u"France") geom = WKTElement("MULTIPOINT((90 45))", srid=21781) p3 = TestPoint(the_geom=geom, name=u"éàè", city="Paris", country=u"France") geom = WKTElement("MULTIPOINT((90 -45))", srid=21781) p4 = TestPoint(the_geom=geom, name=u"123", city="Londre", country=u"UK") pt1 = Functionality(name=u"print_template", value=u"1 Wohlen A4 portrait") pt2 = Functionality(name=u"print_template", value=u"2 Wohlen A3 landscape") user1 = User(username=u"__test_user1", password=u"__test_user1") role1 = Role(name=u"__test_role1", description=u"__test_role1", functionalities=[pt1, pt2]) user1.role_name = role1.name user1.email = u"Tarenpion" user2 = User(username=u"__test_user2", password=u"__test_user2") role2 = Role(name=u"__test_role2", description=u"__test_role2", functionalities=[pt1, pt2]) user2.role_name = role2.name user2.email = u"Tarenpion" user3 = User(username=u"__test_user3", password=u"__test_user3") role3 = Role(name=u"__test_role3", description=u"__test_role3", functionalities=[pt1, pt2]) user3.role_name = role3.name user3.email = u"Tarenpion" main = Interface(name=u"main") layer2 = LayerV1(u"testpoint_protected", public=False) layer2.interfaces = [main] layer3 = LayerV1(u"testpoint_protected_query_with_collect", public=False) layer3.interfaces = [main] area = "POLYGON((-100 30, -100 50, 100 50, 100 30, -100 30))" area = WKTElement(area, srid=21781) restricted_area1 = RestrictionArea(u"__test_ra1", u"", [layer2, layer3], [role1], area) area = "POLYGON((-100 0, -100 20, 100 20, 100 0, -100 0))" area = WKTElement(area, srid=21781) restricted_area2 = RestrictionArea(u"__test_ra2", u"", [layer2, layer3], [role2, role3], area) area = "POLYGON((-95 43, -95 47, 95 47, 95 43, -95 43))" area = WKTElement(area, srid=21781) restricted_area3 = RestrictionArea(u"__test_ra3", u"", [layer3], [role3], area, readwrite=True) DBSession.add_all([ p1, p2, p3, p4, user1, user2, user3, role1, role2, role3, restricted_area1, restricted_area2, restricted_area3, ogcserver_geoserver ]) DBSession.flush() self.id_lausanne = p1.id self.id_paris = p3.id transaction.commit()
def setUp(self): # noqa self.maxDiff = None from c2cgeoportal.models import User, Role, LayerV1, RestrictionArea, \ Functionality, Interface, DBSession, management, OGCServer, \ OGCSERVER_TYPE_GEOSERVER, OGCSERVER_AUTH_GEOSERVER if management: TestPoint.__table__.c.the_geom.type.management = True create_default_ogcserver() ogcserver_geoserver = OGCServer(name="__test_ogc_server_geoserver") ogcserver_geoserver.url = mapserv ogcserver_geoserver.type = OGCSERVER_TYPE_GEOSERVER ogcserver_geoserver.auth = OGCSERVER_AUTH_GEOSERVER TestPoint.__table__.create(bind=DBSession.bind, checkfirst=True) geom = WKTElement("MULTIPOINT((-90 -45))", srid=21781) p1 = TestPoint(the_geom=geom, name=u"foo", city=u"Lausanne", country=u"Swiss") geom = WKTElement("MULTIPOINT((-90 45))", srid=21781) p2 = TestPoint(the_geom=geom, name=u"bar", city=u"Chambéry", country=u"France") geom = WKTElement("MULTIPOINT((90 45))", srid=21781) p3 = TestPoint(the_geom=geom, name=u"éàè", city="Paris", country=u"France") geom = WKTElement("MULTIPOINT((90 -45))", srid=21781) p4 = TestPoint(the_geom=geom, name=u"123", city="Londre", country=u"UK") pt1 = Functionality(name=u"print_template", value=u"1 Wohlen A4 portrait") pt2 = Functionality(name=u"print_template", value=u"2 Wohlen A3 landscape") user1 = User(username=u"__test_user1", password=u"__test_user1") role1 = Role(name=u"__test_role1", description=u"__test_role1", functionalities=[pt1, pt2]) user1.role_name = role1.name user1.email = u"Tarenpion" user2 = User(username=u"__test_user2", password=u"__test_user2") role2 = Role(name=u"__test_role2", description=u"__test_role2", functionalities=[pt1, pt2]) user2.role_name = role2.name user2.email = u"Tarenpion" user3 = User(username=u"__test_user3", password=u"__test_user3") role3 = Role(name=u"__test_role3", description=u"__test_role3", functionalities=[pt1, pt2]) user3.role_name = role3.name user3.email = u"Tarenpion" main = Interface(name=u"main") layer2 = LayerV1(u"testpoint_protected", public=False) layer2.interfaces = [main] layer3 = LayerV1(u"testpoint_protected_query_with_collect", public=False) layer3.interfaces = [main] area = "POLYGON((-100 30, -100 50, 100 50, 100 30, -100 30))" area = WKTElement(area, srid=21781) restricted_area1 = RestrictionArea(u"__test_ra1", u"", [layer2, layer3], [role1], area) area = "POLYGON((-100 0, -100 20, 100 20, 100 0, -100 0))" area = WKTElement(area, srid=21781) restricted_area2 = RestrictionArea(u"__test_ra2", u"", [layer2, layer3], [role2, role3], area) area = "POLYGON((-95 43, -95 47, 95 47, 95 43, -95 43))" area = WKTElement(area, srid=21781) restricted_area3 = RestrictionArea(u"__test_ra3", u"", [layer3], [role3], area, readwrite=True) DBSession.add_all([ p1, p2, p3, p4, user1, user2, user3, role1, role2, role3, restricted_area1, restricted_area2, restricted_area3, ogcserver_geoserver ]) DBSession.flush() self.id_lausanne = p1.id self.id_paris = p3.id transaction.commit()
def setup_method(self, _): # Always see the diff # https://docs.python.org/2/library/unittest.html#unittest.TestCase.maxDiff self.maxDiff = None from c2cgeoportal.models import User, Role, LayerWMS, RestrictionArea, \ Functionality, Interface, DBSession, OGCServer, \ OGCSERVER_TYPE_GEOSERVER, OGCSERVER_AUTH_GEOSERVER cleanup_db() ogc_server_internal, _ = create_default_ogcserver() ogcserver_geoserver = OGCServer(name="__test_ogc_server_geoserver") ogcserver_geoserver.url = mapserv_url ogcserver_geoserver.type = OGCSERVER_TYPE_GEOSERVER ogcserver_geoserver.auth = OGCSERVER_AUTH_GEOSERVER PointTest.__table__.create(bind=DBSession.bind, checkfirst=True) geom = WKTElement("POINT(599910 199955)", srid=21781) p1 = PointTest(geom=geom, name="foo", city="Lausanne", country="Swiss") geom = WKTElement("POINT(599910 200045)", srid=21781) p2 = PointTest(geom=geom, name="bar", city="Chambéry", country="France") geom = WKTElement("POINT(600090 200045)", srid=21781) p3 = PointTest(geom=geom, name="éàè", city="Paris", country="France") geom = WKTElement("POINT(600090 199955)", srid=21781) p4 = PointTest(geom=geom, name="123", city="Londre", country="UK") pt1 = Functionality(name="print_template", value="1 Wohlen A4 portrait") pt2 = Functionality(name="print_template", value="2 Wohlen A3 landscape") user1 = User(username="******", password="******") role1 = Role(name="__test_role1", description="__test_role1", functionalities=[pt1, pt2]) user1.role_name = role1.name user1.email = "Tarenpion" user2 = User(username="******", password="******") role2 = Role(name="__test_role2", description="__test_role2", functionalities=[pt1, pt2]) user2.role_name = role2.name user2.email = "Tarenpion" user3 = User(username="******", password="******") role3 = Role(name="__test_role3", description="__test_role3", functionalities=[pt1, pt2]) user3.role_name = role3.name main = Interface(name="main") layer2 = LayerWMS("testpoint_protected", public=False) layer2.layer = "testpoint_protected" layer2.ogc_server = ogc_server_internal layer2.interfaces = [main] layer3 = LayerWMS("testpoint_protected_query_with_collect", public=False) layer3.layer = "testpoint_protected_query_with_collect" layer3.ogc_server = ogc_server_internal layer3.interfaces = [main] area = "POLYGON((599900 200030, 599900 200050, 600100 200050, 600100 200030, 599900 200030))" area = WKTElement(area, srid=21781) restricted_area1 = RestrictionArea("__test_ra1", "", [layer2, layer3], [role1], area) area = "POLYGON((599900 200000, 599900 200020, 600100 200020, 600100 200000, 599900 200000))" area = WKTElement(area, srid=21781) restricted_area2 = RestrictionArea("__test_ra2", "", [layer2, layer3], [role2, role3], area) area = "POLYGON((599905 200043, 599905 200047, 600095 200047, 600095 200043, 599905 200043))" area = WKTElement(area, srid=21781) restricted_area3 = RestrictionArea("__test_ra3", "", [layer3], [role3], area, readwrite=True) DBSession.add_all([ p1, p2, p3, p4, user1, user2, user3, role1, role2, role3, restricted_area1, restricted_area2, restricted_area3, ogcserver_geoserver ]) DBSession.flush() self.id_lausanne = p1.id self.id_paris = p3.id self.ogc_server_id = ogc_server_internal.id self.role1_id = role1.id self.role2_id = role2.id self.role3_id = role3.id transaction.commit()