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'
Beispiel #2
0
    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"
Beispiel #3
0
    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"
Beispiel #4
0
    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"]
Beispiel #5
0
    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?"}
Beispiel #6
0
    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"
Beispiel #7
0
    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"
Beispiel #8
0
    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"
Beispiel #9
0
    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"
Beispiel #10
0
    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'
Beispiel #12
0
    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']
Beispiel #14
0
    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"
Beispiel #15
0
    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'
        }
Beispiel #19
0
    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?',
        }
Beispiel #21
0
    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'