def test_route_with_all(self): from c2cgeoportal_geoportal.views.dynamic import DynamicView with testConfig(settings=self._get_settings({ 'test': { 'routes': { 'XTest': { 'name': 'route_with_all', 'kw': { 'key1': 'v1', 'key2': 'v2', }, 'elements': ['s1', 's2'], 'params': { 'test': 'value' } } } } })) as config: config.add_static_view(name='static', path='/etc/geomapfish/static') config.add_route('test', '/test') config.add_route('route_with_all', '/test/{key1}/{key2}') request = DummyRequest({'interface': 'test'}) dynamic = DynamicView(request).dynamic() assert 'XTest' in dynamic['constants'], dynamic assert dynamic['constants'][ 'XTest'] == 'http://example.com/test/v1/v2/s1/s2?test=value'
def test_route_with_all(self): from c2cgeoportal_geoportal.views.dynamic import DynamicView with testConfig( settings=self._get_settings( { "test": { "routes": { "XTest": { "name": "route_with_all", "kw": {"key1": "v1", "key2": "v2"}, "elements": ["s1", "s2"], "params": {"test": "value"}, } } } } ) ) as config: config.add_static_view(name="static", path="/etc/geomapfish/static") config.add_route("base", "/", static=True) config.add_route("test", "/test") config.add_route("route_with_all", "/test/{key1}/{key2}") request = DummyRequest({"interface": "test"}) request.get_organization_interface = lambda interface: interface dynamic = DynamicView(request).dynamic() assert "XTest" in dynamic["constants"], dynamic assert dynamic["constants"]["XTest"] == "http://example.com/test/v1/v2/s1/s2?test=value"
def test_route_with_keywords(self): from c2cgeoportal_geoportal.views.dynamic import DynamicView with testConfig(settings=self._get_settings({ "test": { "routes": { "XTest": { "name": "route_with_keywords", "kw": { "key1": "v1", "key2": "v2" } } } } })) as config: config.add_static_view(name="static", path="/etc/geomapfish/static") config.add_route("test", "/test") config.add_route("route_with_keywords", "/test/{key1}/{key2}") request = DummyRequest({"interface": "test"}) dynamic = DynamicView(request).dynamic() assert "XTest" in dynamic["constants"], dynamic assert dynamic["constants"]["XTest"] == "http://example.com/test/v1/v2"
def test_constant_json(self): from c2cgeoportal_geoportal.views.dynamic import DynamicView request = self._request() request.registry.settings = self._get_settings({"test": {"constants": {"XTest": ["TOTO"]}}}) dynamic = DynamicView(request).dynamic() assert "XTest" in dynamic["constants"], dynamic assert dynamic["constants"]["XTest"] == ["TOTO"]
def test_currentInterface(self): from c2cgeoportal_geoportal.views.dynamic import DynamicView request = self._request() request.registry.settings = self._get_settings( {"test": {"routes": {"test_ci": {"currentInterface": True}}}} ) dynamic = DynamicView(request).dynamic() assert dynamic["constants"] == {"test_ci": "/dummy/route/url/test?"}
def test_constant_default(self): from c2cgeoportal_geoportal.views.dynamic import DynamicView request = self._request() request.registry.settings = self._get_settings( {"default": {"constants": {"XTest": "TOTO"}}, "test": {"extends": "default"}} ) dynamic = DynamicView(request).dynamic() assert "XTest" in dynamic["constants"], dynamic assert dynamic["constants"]["XTest"] == "TOTO"
def test_route_dynamic(self): from c2cgeoportal_geoportal.views.dynamic import DynamicView request = self._request() request.registry.settings = self._get_settings( {"test": {"routes": {"XTest": {"name": "test", "dynamic_params": {"test": "interface"}}}}} ) dynamic = DynamicView(request).dynamic() assert "XTest" in dynamic["constants"], dynamic assert dynamic["constants"]["XTest"] == "/dummy/route/url/test?test=test"
def test_static(self): from c2cgeoportal_geoportal.views.dynamic import DynamicView request = self._request() request.registry.settings = self._get_settings( {"test": {"static": {"XTest": {"name": "test", "append": "/{{name}}.yaml"}}}} ) dynamic = DynamicView(request).dynamic() assert "XTest" in dynamic["constants"], dynamic assert dynamic["constants"]["XTest"] == "/dummy/static/url/test/{{name}}.yaml"
def test_constant_dynamic_interface(self): from c2cgeoportal_geoportal.views.dynamic import DynamicView request = self._request() request.registry.settings = self._get_settings( {"test": {"dynamic_constants": {"XTest": "interface"}}} ) dynamic = DynamicView(request).dynamic() assert "XTest" in dynamic["constants"], dynamic assert dynamic["constants"]["XTest"] == "test"
def test_redirect(self): from c2cgeoportal_geoportal.views.dynamic import DynamicView request = self._request() request.registry.settings = self._get_settings({"test": {"redirect_interface": "test_redirect"}}) dynamic = DynamicView(request).dynamic() assert dynamic == { "constants": {"redirectUrl": "/dummy/route/url/test_redirect?no_redirect=t"}, "doRedirect": False, "redirectUrl": "/dummy/route/url/test_redirect?", }
def test_constant_dynamic_interface(self): from c2cgeoportal_geoportal.views.dynamic import DynamicView request = self._request() request.registry.settings = self._get_settings( {'test': { 'dynamic_constants': { 'XTest': 'interface' } }}) dynamic = DynamicView(request).dynamic() assert 'XTest' in dynamic['constants'], dynamic assert dynamic['constants']['XTest'] == 'test'
def test_constant_dynamic_cache_version(self): from c2cgeoportal_geoportal.views.dynamic import DynamicView request = self._request() request.registry.settings = self._get_settings( {"test": {"dynamic_constants": {"XTest": "cache_version"}}} ) dynamic = DynamicView(request).dynamic() assert "XTest" in dynamic["constants"], dynamic from c2cgeoportal_geoportal.lib.cacheversion import get_cache_version assert dynamic["constants"]["XTest"] == get_cache_version()
def test_constant_json(self): from c2cgeoportal_geoportal.views.dynamic import DynamicView request = self._request() request.registry.settings = self._get_settings( {'test': { 'constants': { 'XTest': ['TOTO'] } }}) dynamic = DynamicView(request).dynamic() assert 'XTest' in dynamic['constants'], dynamic assert dynamic['constants']['XTest'] == ['TOTO']
def test_cross_overrid_2(self): from c2cgeoportal_geoportal.views.dynamic import DynamicView request = self._request() request.registry.settings = self._get_settings( { "default": {"dynamic_constants": {"XTest": "interface"}}, "test": {"constants": {"XTest": "TOTO"}}, } ) dynamic = DynamicView(request).dynamic() assert "XTest" in dynamic["constants"], dynamic assert dynamic["constants"]["XTest"] == "TOTO"
def test_redirect_space(self): from c2cgeoportal_geoportal.views.dynamic import DynamicView request = self._request({"query": "?test=_%20_"}) request.registry.settings = self._get_settings( {"test": {"redirect_interface": "test_redirect", "do_redirect": True}} ) dynamic = DynamicView(request).dynamic() assert dynamic == { "constants": {}, "doRedirect": True, "redirectUrl": "/dummy/route/url/test_redirect?test=_%20_", }
def test_constant_dynamic_cache_version(self): from c2cgeoportal_geoportal.views.dynamic import DynamicView request = self._request() request.registry.settings = self._get_settings( {'test': { 'dynamic_constants': { 'XTest': 'cache_version' } }}) dynamic = DynamicView(request).dynamic() assert 'XTest' in dynamic['constants'], dynamic from c2cgeoportal_geoportal.lib.cacheversion import get_cache_version assert dynamic['constants']['XTest'] == get_cache_version()
def test_constant_dynamic_fulltextsearch_groups(self): from c2cgeoportal_geoportal.views.dynamic import DynamicView request = self._request() request.static_url = lambda url: "/dummy/route/url/" + url request.registry.settings = self._get_settings({ 'test': { 'dynamic_constants': { 'XTest': 'fulltextsearch_groups' } } }) dynamic = DynamicView(request).dynamic() assert 'XTest' in dynamic['constants'], dynamic assert set(dynamic['constants']['XTest']) == {'layer1', 'layer2'}
def test_constant_dynamic_lang_urls(self): from c2cgeoportal_geoportal.views.dynamic import DynamicView request = self._request() request.static_url = lambda url: "/dummy/route/url/" + url request.registry.settings = self._get_settings( {'test': { 'dynamic_constants': { 'XTest': 'lang_urls' } }}) dynamic = DynamicView(request).dynamic() assert 'XTest' in dynamic['constants'], dynamic assert dynamic['constants']['XTest'] == { 'fr': '/dummy/route/url//etc/geomapfish/static/fr.json' }
def test_constant_dynamic_fulltextsearch_groups(self): from c2cgeoportal_geoportal.views.dynamic import DynamicView request = self._request() request.static_url = ( lambda url, _query=None: f"/dummy/static/url/{url}" if _query is None else "/dummy/static/url/{}?{}".format(url, "&".join(["=".join(e) for e in _query.items()])) ) request.registry.settings = self._get_settings( {"test": {"dynamic_constants": {"XTest": "fulltextsearch_groups"}}} ) dynamic = DynamicView(request).dynamic() assert "XTest" in dynamic["constants"], dynamic assert set(dynamic["constants"]["XTest"]) == {"layer1", "layer2"}
def test_redirect(self): from c2cgeoportal_geoportal.views.dynamic import DynamicView request = self._request() request.registry.settings = self._get_settings( {'test': { 'redirect_interface': 'test_redirect' }}) dynamic = DynamicView(request).dynamic() assert dynamic == { 'constants': { 'currentInterfaceUrl': '/dummy/route/url/test?', 'redirectUrl': '/dummy/route/url/test_redirect?no_redirect=t', }, 'doRedirect': False, 'redirectUrl': '/dummy/route/url/test_redirect?', }
def test_constant_dynamic_lang_urls(self): from c2cgeoportal_geoportal.views.dynamic import DynamicView request = self._request() request.static_url = ( lambda url, _query=None: f"/dummy/static/url/{url}" if _query is None else "/dummy/static/url/{}?{}".format(url, "&".join(["=".join(e) for e in _query.items()])) ) request.registry.settings = self._get_settings( {"test": {"dynamic_constants": {"XTest": "lang_urls"}}} ) dynamic = DynamicView(request).dynamic() assert "XTest" in dynamic["constants"], dynamic assert "fr" in dynamic["constants"]["XTest"], dynamic assert dynamic["constants"]["XTest"]["fr"] == "/dummy/static/url//etc/geomapfish/static/fr.json"
def test_static(self): from c2cgeoportal_geoportal.views.dynamic import DynamicView request = self._request() request.registry.settings = self._get_settings({ 'test': { 'static': { 'XTest': { 'name': 'test', 'append': '/{{name}}.yaml' } } } }) dynamic = DynamicView(request).dynamic() assert 'XTest' in dynamic['constants'], dynamic assert dynamic['constants'][ 'XTest'] == '/dummy/static/url/test/{{name}}.yaml'
def test_route_dynamic(self): from c2cgeoportal_geoportal.views.dynamic import DynamicView request = self._request() request.registry.settings = self._get_settings({ 'test': { 'routes': { 'XTest': { 'name': 'test', 'dynamic_params': { 'test': 'interface' } } } } }) dynamic = DynamicView(request).dynamic() assert 'XTest' in dynamic['constants'], dynamic assert dynamic['constants'][ 'XTest'] == '/dummy/route/url/test?test=test'