def test_aspen_favicon_doesnt_get_clobbered_by_virtual_path():
    mk('%value.spt')
    request = StubRequest.from_fs('/favicon.ico')
    dispatcher.dispatch(request)
    expected = {}
    actual = request.line.uri.path
    assert actual == expected, actual
Example #2
0
def test_aspen_favicon_doesnt_get_clobbered_by_virtual_path(mk):
    mk('%value.spt')
    request = StubRequest.from_fs('/favicon.ico')
    dispatcher.dispatch(request)
    expected = {}
    actual = request.line.uri.path
    assert actual == expected
Example #3
0
 def run_inbound(self, request):
     """Factored out to support testing.
     """
     self.hooks.inbound_early.run(request)
     self.check_auth(request)
     dispatcher.dispatch(request)  # sets request.fs
     request.socket = sockets.get(request)
     self.hooks.inbound_late.run(request)
Example #4
0
def load_request(path):
    """Given an URL path, return request.
    """
    request = StubRequest(path)
    request.website = test_website

    # XXX HACK - aspen.website should be refactored
    from aspen import dispatcher, sockets
    test_website.hooks.run('inbound_early', request)
    dispatcher.dispatch(request)  # sets request.fs
    request.socket = sockets.get(request)
    test_website.hooks.run('inbound_late', request)

    return request
Example #5
0
def load_simplate(path):
    """Given an URL path, return resource.
    """
    request = StubRequest(path)
    request.website = test_website

    # XXX HACK - aspen.website should be refactored
    from aspen import dispatcher, sockets
    test_website.hooks.run('inbound_early', request)
    dispatcher.dispatch(request)  # sets request.fs
    request.socket = sockets.get(request)
    test_website.hooks.run('inbound_late', request)

    return resources.get(request)
def test_dispatcher_returns_a_result_for_favicon(harness):
    tracer = object()
    result = dispatcher.dispatch( indices               = []
                                , media_type_default    = ''
                                , pathparts             = ['favicon.ico']
                                , uripath               = '/favicon.ico'
                                , querystring           = ''
                                , startdir              = harness.fs.www.root
                                , directory_default     = ''
                                , favicon_default       = tracer
                                 )
    assert result.match is tracer
def test_dispatcher_returns_a_result_for_autoindex(harness):
    harness.client.website.list_directories = True
    tracer = object()
    result = dispatcher.dispatch( indices               = []
                                , media_type_default    = ''
                                , pathparts             = ['']
                                , uripath               = '/'
                                , querystring           = ''
                                , startdir              = harness.fs.www.root
                                , directory_default     = tracer
                                , favicon_default       = ''
                                 )
    assert result.match is tracer
def test_dispatcher_returns_a_result(harness):
    harness.fs.www.mk(('index.html', 'Greetings, program!'),)
    result = dispatcher.dispatch( indices               = ['index.html']
                                , media_type_default    = ''
                                , pathparts             = ['']
                                , uripath               = '/'
                                , querystring           = ''
                                , startdir              = harness.fs.www.root
                                , directory_default     = ''
                                , favicon_default       = ''
                                 )
    assert result.status == dispatcher.DispatchStatus.okay
    assert result.match == os.path.join(harness.fs.www.root, 'index.html')
    assert result.wildcards == {}
    assert result.detail == 'Found.'
Example #9
0
def dispatch_request_to_filesystem(website, request):

    if website.list_directories:
        directory_default = website.ours_or_theirs('autoindex.html.spt')
        assert directory_default is not None  # sanity check
    else:
        directory_default = None

    result = dispatcher.dispatch( indices               = website.indices
                                , media_type_default    = website.media_type_default
                                , pathparts             = request.line.uri.path.parts
                                , uripath               = request.line.uri.path.raw
                                , querystring           = request.line.uri.querystring.raw
                                , startdir              = website.www_root
                                , directory_default     = directory_default
                                , favicon_default       = website.find_ours('favicon.ico')
                                 )

    for k, v in result.wildcards.iteritems():
        request.line.uri.path[k] = v
    return {'dispatch_result': result}
def check(path, *a):
    """Given a URI path, return a dispatched request object.
    """
    request = StubRequest.from_fs(path, *a)
    dispatcher.dispatch(request)
    return request
Example #11
0
 def set_fs_etc(self, request):
     dispatcher.dispatch(request)  # mutates request
Example #12
0
def check_trailing_slash(path):
    request = StubRequest.from_fs(path)
    dispatcher.dispatch(request)
    return request
Example #13
0
def check_virtual_paths(path):
    """Given an urlpath, return a filesystem path per dispatcher.dispatch
    """
    request = StubRequest.from_fs(path)
    dispatcher.dispatch(request)
    return request
Example #14
0
def check_index(path, *a):
    """Given a uripath, return a filesystem path per dispatcher
    """
    request = StubRequest.from_fs(path, *a)
    dispatcher.dispatch(request)
    return request
Example #15
0
def check_indirect_negotiation(path):
    """Given an urlpath, return a filesystem path per dispatcher.dispatch
    """
    request = StubRequest.from_fs(path)
    dispatcher.dispatch(request)
    return request
Example #16
0
def check(path, *a):
    """Given a URI path, return a dispatched request object.
    """
    request = StubRequest.from_fs(path.encode('ascii'), *a)
    dispatcher.dispatch(request)
    return request
Example #17
0
def dispatch_request_to_filesystem(request):
    dispatcher.dispatch(request)
Example #18
0
 def set_fs_etc(self, request):
     dispatcher.dispatch(request)  # mutates request