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 _request(query={}): query_ = {"interface": "test"} query_.update(query) request = DummyRequest(query_) request.route_url = ( lambda url, _query=None: f"/dummy/route/url/{url}" if _query is None else f"/dummy/route/url/{url}?{pyramid.url.urlencode(_query)}" ) request.static_url = ( lambda url, _query=None: f"/dummy/static/url/{url}" if _query is None else f"/dummy/static/url/{url}?{pyramid.url.urlencode(_query)}" ) request.get_organization_interface = lambda interface: interface return request