def create_dummy_request(additional_settings=None, authentication=True, user=None, *args, **kargs): if additional_settings is None: additional_settings = {} from c2cgeoportal_geoportal import default_user_validator from c2cgeoportal_geoportal import create_get_user_from_request from c2cgeoportal_geoportal.lib.authentication import create_authentication request = tests.create_dummy_request( { "host_forward_host": [], "functionalities": { "available_in_templates": [] }, "layers": { "geometry_validation": True }, "admin_interface": { "available_functionalities": [{ "name": "mapserver_substitution", "single": False }] }, }, *args, **kargs, ) request.accept_language = webob.acceptparse.create_accept_language_header( "fr-CH,fr;q=0.8,en;q=0.5,en-US;q=0.3") request.registry.settings.update(additional_settings) request.referer = "http://example.com/app" request.path_info_peek = lambda: "main" request.interface_name = "main" request.get_user = _get_user request.registry.validate_user = default_user_validator request.c2c_request_id = "test" if authentication and user is None: authentication_settings = { "authtkt_cookie_name": "__test", "authtkt_secret": "long enough secret!! 00000000000000000000000000000000000000000000000", } authentication_settings.update(additional_settings) request._get_authentication_policy = lambda: create_authentication( authentication_settings) elif user is not None: config.testing_securitypolicy(user) request.set_property(create_get_user_from_request( {"authorized_referers": [request.referer]}), name="user", reify=True) return request
def _get_user(self, to, ref, method="GET"): class MockRequest: def __init__(self, to, ref, method): self.path_qs = to self.referer = ref self.user_ = TestReferer.USER self.method = method get_user = create_get_user_from_request(self.SETTINGS) return get_user(MockRequest(to=to, ref=ref, method=method))
def _get_user(self, to, ref, method="GET"): class MockRequest: def __init__(self, to, ref, method): self.path_qs = to self.referer = ref self.user_ = TestReferer.USER self.method = method get_user = create_get_user_from_request(self.SETTINGS) return get_user(MockRequest(to=to, ref=ref, method=method))
def test_wrong_key(self): token = create_token("foobar1234567890", "__test_user1", "__test_user1", 1) request = create_dummy_request({ "urllogin": { "aes_key": "foobar1234567891" } }, params={"auth": token}) get_user_from_request = create_get_user_from_request(request.registry.settings) get_user_from_request(request) self.assertIsNone(self.user)
def get_user(self, aeskey, user, password, valid): token = create_token(aeskey, user, password, valid) request = create_dummy_request({ "urllogin": { "aes_key": aeskey } }, params={"auth": token}) get_user_from_request = create_get_user_from_request(request.registry.settings) get_user_from_request(request) return self.user
def get_user(self, aeskey, user, password, valid): token = create_token(aeskey, user, password, valid) request = create_dummy_request({"urllogin": { "aes_key": aeskey }}, params={"auth": token}) get_user_from_request = create_get_user_from_request( request.registry.settings) get_user_from_request(request) return self.user
def _get_user(self, to, ref, method="GET"): class MockRequest: def __init__(self, to, ref, method): self.path_qs = to self.referer = ref self.user_ = TestReferer.USER self.method = method config._config = {"schema": "main", "schema_static": "main_static", "srid": 21781} get_user = create_get_user_from_request(self.SETTINGS) return get_user(MockRequest(to=to, ref=ref, method=method))
def test_wrong_key(self): token = create_token("foobar1234567890", "__test_user1", "__test_user1", 1) request = create_dummy_request( {"urllogin": { "aes_key": "foobar1234567891" }}, params={"auth": token}) get_user_from_request = create_get_user_from_request( request.registry.settings) get_user_from_request(request) self.assertIsNone(self.user)
def create_dummy_request(additional_settings=None, authentication=True, user=None, *args, **kargs): if additional_settings is None: additional_settings = {} from c2cgeoportal_geoportal import default_user_validator from c2cgeoportal_geoportal import create_get_user_from_request from c2cgeoportal_geoportal.lib.authentication import create_authentication request = tests.create_dummy_request( { "host_forward_host": [], "mapserverproxy": { "default_ogc_server": "__test_ogc_server", "external_ogc_server": "__test_external_ogc_server", }, "functionalities": { "registered": {}, "anonymous": {}, "available_in_templates": [] }, "layers": { "geometry_validation": True } }, *args, **kargs) request.accept_language = Accept("fr-CH,fr;q=0.8,en;q=0.5,en-US;q=0.3") request.registry.settings.update(additional_settings) request.referer = "http://example.com/app" request.path_info_peek = lambda: "main" request.interface_name = "main" request.get_user = _get_user request.registry.validate_user = default_user_validator request.client_addr = None request.c2c_request_id = 'test' if authentication and user is None: request._get_authentication_policy = lambda: create_authentication( { "authtkt_cookie_name": "__test", "authtkt_secret": "123", }) elif user is not None: config.testing_securitypolicy(user) request.set_property(create_get_user_from_request( {"authorized_referers": [request.referer]}), name="user", reify=True) return request
def create_dummy_request(additional_settings=None, authentication=True, user=None, *args, **kargs): from pyramid.interfaces import IAuthenticationPolicy from c2cgeoportal_geoportal import create_get_user_from_request from c2cgeoportal_geoportal.lib.authentication import create_authentication if additional_settings is None: additional_settings = {} pyramid.testing.tearDown() request = tests.create_dummy_request( { "functionalities": {"available_in_templates": []}, "layers": {"geometry_validation": True}, "admin_interface": { "available_functionalities": [{"name": "mapserver_substitution", "single": False}], "available_metadata": [{"name": "lastUpdateDateColumn"}, {"name": "lastUpdateUserColumn"}], }, }, *args, **kargs, ) global config config = pyramid.testing.setUp( request=request, registry=request.registry, settings=get_settings(), ) request.accept_language = webob.acceptparse.create_accept_language_header( "fr-CH,fr;q=0.8,en;q=0.5,en-US;q=0.3" ) request.registry.settings.update(additional_settings) request.referer = "http://example.com/app" request.path_info_peek = lambda: "main" request.interface_name = "main" request.get_user = _get_user request.c2c_request_id = "test" request.matched_route = DummyRoute() init_registry(request.registry) if authentication and user is None: authentication_settings = { "authtkt_cookie_name": "__test", "authtkt_secret": "long enough secret!! 00000000000000000000000000000000000000000000000", "authentication": {}, } authentication_settings.update(additional_settings) testing_legacySecurityPolicy(config) config.registry.registerUtility(create_authentication(authentication_settings), IAuthenticationPolicy) elif user is not None: config.testing_securitypolicy(user) request.set_property( create_get_user_from_request({"authorized_referers": [request.referer]}), name="user", reify=True ) return request
def _get_user(method): request = create_dummy_request( params={"auth": "this is a form field value"}, method=method) get_user_from_request = create_get_user_from_request( request.registry.settings) get_user_from_request(request)