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
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
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)
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
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.'
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
def set_fs_etc(self, request): dispatcher.dispatch(request) # mutates request
def check_trailing_slash(path): request = StubRequest.from_fs(path) dispatcher.dispatch(request) return request
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
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
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
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
def dispatch_request_to_filesystem(request): dispatcher.dispatch(request)
def set_fs_etc(self, request): dispatcher.dispatch(request) # mutates request