Пример #1
0
def test_match_uri_requires_absolute_uri(site_root):
    with pytest.raises(Exception):
        app = get_mock_app()
        app.config.set('site/root', site_root.rstrip('/') + '/')
        config = {'url': '/%path:slug%', 'source': 'blah'}
        route = Route(app, config)
        route.matchUri('notabsuri')
Пример #2
0
def test_matches_metadata(config, metadata, expected):
    app = get_mock_app()
    app.config.set('site/root', '/')
    config.setdefault('source', 'blah')
    route = Route(app, config)
    m = route.matchesMetadata(metadata)
    assert m == expected
Пример #3
0
def test_matches_metadata(config, metadata, expected):
    app = get_mock_app()
    app.config.set('site/root', '/')
    config.setdefault('source', 'blah')
    route = Route(app, config)
    m = route.matchesMetadata(metadata)
    assert m == expected
Пример #4
0
def test_match_uri_requires_absolute_uri(site_root):
    with pytest.raises(Exception):
        app = get_mock_app()
        app.config.set('site/root', site_root.rstrip('/') + '/')
        config = {'url': '/%path:slug%', 'source': 'blah'}
        route = Route(app, config)
        route.matchUri('notabsuri')
Пример #5
0
def test_matches_parameters(config, params, uri_params, expected):
    app = get_mock_app()
    app.config.set('site/root', '/')
    app.sources = [_getMockSource('blah', params)]

    config.setdefault('source', 'blah')
    route = Route(app, config)
    m = route.matchesParameters(uri_params)
    assert m == expected
Пример #6
0
def test_match_uri(site_root, config, uri, expected_match):
    site_root = site_root.rstrip('/') + '/'
    app = get_mock_app()
    app.config.set('site/root', site_root)
    config.setdefault('source', 'blah')
    route = Route(app, config)
    assert route.uri_pattern == config['url'].lstrip('/')
    m = route.matchUri(site_root + uri)
    assert m == expected_match
Пример #7
0
def test_match_uri(site_root, config, uri, expected_match):
    site_root = site_root.rstrip('/') + '/'
    app = get_mock_app()
    app.config.set('site/root', site_root)
    config.setdefault('source', 'blah')
    route = Route(app, config)
    assert route.uri_pattern == config['url'].lstrip('/')
    m = route.matchUri(site_root + uri)
    assert m == expected_match
Пример #8
0
def test_matches_parameters(config, params, uri_params, expected):
    app = get_mock_app()
    app.config.set('site/root', '/')
    app.sources = [_getMockSource('blah', params)]

    config.setdefault('source', 'blah')
    route = Route(app, config)
    m = route.matchesParameters(uri_params)
    assert m == expected
Пример #9
0
def test_get_uri(slug, page_num, pretty, expected):
    app = get_mock_app()
    app.config.set('site/root', '/blah/')
    app.config.set('site/pretty_urls', pretty)
    app.config.set('site/trailing_slash', False)
    app.config.set('__cache/pagination_suffix_format', '/%(num)d')

    config = {'url': '/%path:slug%', 'source': 'blah'}
    route = Route(app, config)
    uri = route.getUri({'slug': slug}, sub_num=page_num)
    assert uri == ('/blah/' + expected)
Пример #10
0
def test_match_uri(site_root, config, params, uri, expected_match):
    site_root = site_root.rstrip('/') + '/'
    app = get_mock_app()
    app.config.set('site/root', urllib.parse.quote(site_root))
    app.sources = [_getMockSource('blah', params)]

    config.setdefault('source', 'blah')
    route = Route(app, config)
    assert route.uri_pattern == config['url'].lstrip('/')
    m = route.matchUri(urllib.parse.quote(site_root) + uri)
    assert m == expected_match
Пример #11
0
def test_get_uri(slug, page_num, pretty, expected):
    app = get_mock_app()
    app.config.set('site/root', '/blah/')
    app.config.set('site/pretty_urls', pretty)
    app.config.set('site/trailing_slash', False)
    app.config.set('__cache/pagination_suffix_format', '/%(num)d')

    config = {'url': '/%path:slug%', 'source': 'blah'}
    route = Route(app, config)
    uri = route.getUri({'slug': slug}, sub_num=page_num)
    assert uri == ('/blah/' + expected)
Пример #12
0
def test_match_uri(site_root, config, params, uri, expected_match):
    site_root = site_root.rstrip('/') + '/'
    app = get_mock_app()
    app.config.set('site/root', urllib.parse.quote(site_root))
    app.sources = [_getMockSource('blah', params)]

    config.setdefault('source', 'blah')
    route = Route(app, config)
    assert route.uri_pattern == config['url'].lstrip('/')
    m = route.matchUri(urllib.parse.quote(site_root) + uri)
    assert m == expected_match
Пример #13
0
def test_get_uri(slug, page_num, pretty, expected):
    for root in ['/', '/blah/', '/~johndoe/']:
        app = get_mock_app()
        app.config.set('site/root', urllib.parse.quote(root))
        app.config.set('site/pretty_urls', pretty)
        app.config.set('site/trailing_slash', False)
        app.config.set('__cache/pagination_suffix_format', '/%(num)d')
        app.sources = [_getMockSource('blah', [('slug', 'path')])]

        config = {'url': '/%slug%', 'source': 'blah'}
        route = Route(app, config)
        uri = route.getUri({'slug': slug}, sub_num=page_num)
        assert uri == (urllib.parse.quote(root) + expected)
Пример #14
0
def test_get_uri(slug, page_num, pretty, expected):
    for root in ['/', '/blah/', '/~johndoe/']:
        app = get_mock_app()
        app.config.set('site/root', urllib.parse.quote(root))
        app.config.set('site/pretty_urls', pretty)
        app.config.set('site/trailing_slash', False)
        app.config.set('__cache/pagination_suffix_format', '/%(num)d')
        app.sources = [_getMockSource('blah', [('slug', 'path')])]

        config = {'url': '/%slug%', 'source': 'blah'}
        route = Route(app, config)
        uri = route.getUri({'slug': slug}, sub_num=page_num)
        assert uri == (urllib.parse.quote(root) + expected)
Пример #15
0
 def routes(self):
     routes = []
     for r in self.config.get('site/routes'):
         rte = Route(self, r)
         routes.append(rte)
     routes = sorted(routes, key=lambda r: r.pass_num)
     return routes
Пример #16
0
def test_required_metadata(site_root, route_pattern,
                           expected_required_metadata):
    app = get_mock_app()
    app.config.set('site/root', site_root.rstrip('/') + '/')
    config = {'url': route_pattern, 'source': 'blah'}
    route = Route(app, config)
    assert route.required_route_metadata == expected_required_metadata
Пример #17
0
def test_required_metadata(site_root, route_pattern, params,
                           expected_func_parameters):
    app = get_mock_app()
    app.config.set('site/root', site_root.rstrip('/') + '/')
    app.sources = [_getMockSource('blah', params)]

    config = {'url': route_pattern, 'source': 'blah'}
    route = Route(app, config)
    assert route.uri_params == expected_func_parameters
Пример #18
0
 def routes(self):
     routes = []
     for r in self.config.get('site/routes'):
         rte = Route(self, r)
         routes.append(rte)
     return routes