コード例 #1
0
ファイル: test_gauntlet.py プロジェクト: rayleyva/aspen
def test_aspen_favicon_doesnt_get_clobbered_by_virtual_path():
    mk('%value')
    request = StubRequest.from_fs('/favicon.ico')
    gauntlet.run_through(request, gauntlet.not_found)
    expected = {}
    actual = request.line.uri.path
    assert actual == expected, actual
コード例 #2
0
def test_get_response_406_gives_list_of_acceptable_types(mk):
    mk(("index.spt", NEGOTIATED_RESOURCE))
    request = StubRequest.from_fs("index.spt")
    request.headers["Accept"] = "cheese/head"
    actual = raises(Response, get_response, request, Response()).value.body
    expected = "The following media types are available: text/plain, text/html."
    assert actual == expected
コード例 #3
0
def test_get_response_doesnt_reset_content_type_when_not_negotiating(mk):
    mk(('index.spt', NEGOTIATED_RESOURCE))
    request = StubRequest.from_fs('index.spt')
    response = Response()
    response.headers['Content-Type'] = 'never/mind'
    actual = get_response(request, response).headers['Content-Type']
    assert actual == "never/mind"
コード例 #4
0
def test_can_override_default_renderer_entirely(mk):
    mk(('.aspen/configure-aspen.py', OVERRIDE_SIMPLATE),
       ('index.spt', NEGOTIATED_RESOURCE))
    request = StubRequest.from_fs('index.spt')
    request.headers['Accept'] = 'text/plain'
    actual = get_response(request, Response()).body
    assert actual == "glubber"
コード例 #5
0
def test_get_response_406_gives_list_of_acceptable_types(mk):
    mk(('index.spt', NEGOTIATED_RESOURCE))
    request = StubRequest.from_fs('index.spt')
    request.headers['Accept'] = 'cheese/head'
    actual = raises(Response, get_response, request, Response()).value.body
    expected = "The following media types are available: text/plain, text/html."
    assert actual == expected
コード例 #6
0
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
コード例 #7
0
def test_handles_busted_accept(mk):
    mk(("index.spt", NEGOTIATED_RESOURCE))
    request = StubRequest.from_fs("index.spt")
    # Set an invalid Accept header so it will return default (text/plain)
    request.headers["Accept"] = "text/html;"
    actual = get_response(request, Response()).body
    assert actual == "Greetings, program!\n"
コード例 #8
0
def test_robots_txt_also_shouldnt_be_redirected():
    mk('%value')
    request = StubRequest.from_fs('/robots.txt')
    err = assert_raises(Response, gauntlet.run_through, request,
                        gauntlet.not_found)
    actual = err.code
    assert actual == 404, actual
コード例 #9
0
def test_get_response_doesnt_reset_content_type_when_not_negotiating(mk):
    mk(("index.spt", NEGOTIATED_RESOURCE))
    request = StubRequest.from_fs("index.spt")
    response = Response()
    response.headers["Content-Type"] = "never/mind"
    actual = get_response(request, response).headers["Content-Type"]
    assert actual == "never/mind"
コード例 #10
0
def test_can_override_default_renderer_entirely():
    mk(('.aspen/configure-aspen.py', OVERRIDE_SIMPLATE),
       ('index.spt', NEGOTIATED_RESOURCE))
    request = StubRequest.from_fs('index.spt')
    request.headers['Accept'] = 'text/plain'
    actual = get_response(request, Response()).body
    assert actual == "glubber", actual
コード例 #11
0
def test_aspen_favicon_doesnt_get_clobbered_by_virtual_path():
    mk('%value')
    request = StubRequest.from_fs('/favicon.ico')
    gauntlet.run_through(request, gauntlet.not_found)
    expected = {}
    actual = request.line.uri.path
    assert actual == expected, actual
コード例 #12
0
def test_get_response_doesnt_reset_content_type_when_not_negotiating():
    mk(('index', NEGOTIATED_RESOURCE))
    request = StubRequest.from_fs('index')
    response = Response()
    response.headers['Content-Type'] = 'never/mind'
    actual = get_response(request, response).headers['Content-Type']
    assert actual == "never/mind", actual
コード例 #13
0
def test_get_response_406_gives_list_of_acceptable_types():
    mk(('index', NEGOTIATED_RESOURCE))
    request = StubRequest.from_fs('index')
    request.headers['Accept'] = 'cheese/head'
    actual = assert_raises(Response, get_response, request, Response()).body
    expected ="The following media types are available: text/plain, text/html."
    assert actual == expected, actual
コード例 #14
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
コード例 #15
0
def test_handles_busted_accept(mk):
    mk(('index.spt', NEGOTIATED_RESOURCE))
    request = StubRequest.from_fs('index.spt')
    # Set an invalid Accept header so it will return default (text/plain)
    request.headers['Accept'] = 'text/html;'
    actual = get_response(request, Response()).body
    assert actual == "Greetings, program!\n"
コード例 #16
0
def test_can_override_default_renderer_entirely():
    mk(('.aspen/configure-aspen.py', """\
from aspen.renderers import Renderer, Factory

class Glubber(Renderer):
    def render_content(self, context):
        return "glubber"

class GlubberFactory(Factory):
    Renderer = Glubber

website.renderer_factories['glubber'] = GlubberFactory(website)
website.default_renderers_by_media_type.default = 'glubber'

"""), ('index', NEGOTIATED_RESOURCE))
    request = StubRequest.from_fs('index')
    request.headers['Accept'] = 'text/plain'
    actual = get_response(request, Response()).body
    assert actual == "glubber", actual
コード例 #17
0
def test_can_override_default_renderer_entirely():
    mk(('.aspen/configure-aspen.py', """\
from aspen.renderers import Renderer, Factory

class Glubber(Renderer):
    def render_content(self, context):
        return "glubber"

class GlubberFactory(Factory):
    Renderer = Glubber

website.renderer_factories['glubber'] = GlubberFactory(website)
website.default_renderers_by_media_type.default = 'glubber'

"""), ('index', NEGOTIATED_RESOURCE))
    request = StubRequest.from_fs('index')
    request.headers['Accept'] = 'text/plain'
    actual = get_response(request, Response()).body
    assert actual == "glubber", actual
コード例 #18
0
def check_virtual_paths(path):
    """Given an urlpath, return a filesystem path per gauntlet.virtual_paths.
    """
    request = StubRequest.from_fs(path)
    gauntlet.run_through(request, gauntlet.virtual_paths)
    return request
コード例 #19
0
ファイル: test_gauntlet.py プロジェクト: rayleyva/aspen
def test_robots_txt_also_shouldnt_be_redirected():
    mk('%value')
    request = StubRequest.from_fs('/robots.txt')
    err = assert_raises(Response, gauntlet.run_through, request, gauntlet.not_found)
    actual = err.code
    assert actual == 404, actual
コード例 #20
0
def check_trailing_slash(path):
    """Given an urlpath, return a filesystem path per gauntlet.trailing_slash.
    """
    request = StubRequest.from_fs(path)
    gauntlet.run_through(request, gauntlet.trailing_slash)
    return request
コード例 #21
0
def test_get_response_sets_content_type_when_it_negotiates():
    mk(('index', NEGOTIATED_RESOURCE))
    request = StubRequest.from_fs('index')
    request.headers['Accept'] = 'text/html'
    actual = get_response(request, Response()).headers['Content-Type']
    assert actual == "text/html; charset=UTF-8", actual
コード例 #22
0
def test_get_response_sets_content_type_when_it_doesnt_negotiate():
    mk(('index.spt', NEGOTIATED_RESOURCE))
    request = StubRequest.from_fs('index.spt')
    actual = get_response(request, Response()).headers['Content-Type']
    assert actual == "text/plain; charset=UTF-8", actual
コード例 #23
0
def test_get_response_gets_response():
    mk(('index', NEGOTIATED_RESOURCE))
    response = Response()
    request = StubRequest.from_fs('index')
    actual = get_response(request, response)
    assert actual is response, actual
コード例 #24
0
ファイル: test_gauntlet.py プロジェクト: jarpineh/aspen
def check_virtual_paths(path):
    """Given an urlpath, return a filesystem path per gauntlet.virtual_paths.
    """
    request = StubRequest.from_fs(path)
    gauntlet.run_through(request, gauntlet.virtual_paths)
    return request
コード例 #25
0
def test_get_response_negotiates(mk):
    mk(("index.spt", NEGOTIATED_RESOURCE))
    request = StubRequest.from_fs("index.spt")
    request.headers["Accept"] = "text/html"
    actual = get_response(request, Response()).body
    assert actual == "<h1>Greetings, program!</h1>\n"
コード例 #26
0
def test_can_override_default_renderer_entirely(mk):
    mk((".aspen/configure-aspen.py", OVERRIDE_SIMPLATE), ("index.spt", NEGOTIATED_RESOURCE))
    request = StubRequest.from_fs("index.spt")
    request.headers["Accept"] = "text/plain"
    actual = get_response(request, Response()).body
    assert actual == "glubber"
コード例 #27
0
ファイル: test_gauntlet.py プロジェクト: jarpineh/aspen
def check_indirect_negotiation(path):
    """Given an urlpath, return a filesystem path per gauntlet.virtual_paths.
    """
    request = StubRequest.from_fs(path)
    gauntlet.run_through(request, gauntlet.indirect_negotiation)
    return request
コード例 #28
0
def test_get_response_is_happy_not_to_negotiate(mk):
    mk(('index.spt', NEGOTIATED_RESOURCE))
    request = StubRequest.from_fs('index.spt')
    actual = get_response(request, Response()).body
    assert actual == "Greetings, program!\n"
コード例 #29
0
def test_get_response_gets_response(mk):
    mk(('index.spt', NEGOTIATED_RESOURCE))
    response = Response()
    request = StubRequest.from_fs('index.spt')
    actual = get_response(request, response)
    assert actual is response
コード例 #30
0
def test_robots_txt_also_shouldnt_be_redirected(mk):
    mk('%value.spt')
    request = StubRequest.from_fs('/robots.txt')
    err = raises(Response, dispatcher.dispatch, request).value
    actual = err.code
    assert actual == 404
コード例 #31
0
ファイル: test_dispatcher.py プロジェクト: alexcouper/aspen
def check_trailing_slash(path):
    request = StubRequest.from_fs(path)
    dispatcher.dispatch(request)
    return request
コード例 #32
0
def check_indirect_negotiation(path):
    """Given an urlpath, return a filesystem path per gauntlet.indirect_negotiation.
    """
    request = StubRequest.from_fs(path)
    gauntlet.run_through(request, gauntlet.indirect_negotiation)
    return request
コード例 #33
0
def check(path, *a):
    """Given a URI path, return a dispatched request object.
    """
    request = StubRequest.from_fs(path, *a)
    dispatcher.dispatch(request)
    return request
コード例 #34
0
def test_get_response_raises_406_if_need_be(mk):
    mk(('index.spt', NEGOTIATED_RESOURCE))
    request = StubRequest.from_fs('index.spt')
    request.headers['Accept'] = 'cheese/head'
    actual = raises(Response, get_response, request, Response()).value.code
    assert actual == 406
コード例 #35
0
def test_robots_txt_also_shouldnt_be_redirected():
    mk('%value.spt')
    request = StubRequest.from_fs('/robots.txt')
    err = assert_raises(Response, dispatcher.dispatch, request)
    actual = err.code
    assert actual == 404, actual
コード例 #36
0
def test_get_response_raises_406_if_need_be(mk):
    mk(("index.spt", NEGOTIATED_RESOURCE))
    request = StubRequest.from_fs("index.spt")
    request.headers["Accept"] = "cheese/head"
    actual = raises(Response, get_response, request, Response()).value.code
    assert actual == 406
コード例 #37
0
def test_get_response_sets_content_type_when_it_doesnt_negotiate():
    mk(('index', NEGOTIATED_RESOURCE))
    request = StubRequest.from_fs('index')
    actual = get_response(request, Response()).headers['Content-Type']
    assert actual == "text/plain; charset=UTF-8", actual
コード例 #38
0
def test_get_response_sets_content_type_when_it_negotiates(mk):
    mk(("index.spt", NEGOTIATED_RESOURCE))
    request = StubRequest.from_fs("index.spt")
    request.headers["Accept"] = "text/html"
    actual = get_response(request, Response()).headers["Content-Type"]
    assert actual == "text/html; charset=UTF-8"
コード例 #39
0
def test_get_response_is_happy_not_to_negotiate():
    mk(('index', NEGOTIATED_RESOURCE))
    request = StubRequest.from_fs('index')
    actual = get_response(request, Response()).body
    assert actual == "Greetings, program!\n", actual
コード例 #40
0
ファイル: test_dispatcher.py プロジェクト: alexcouper/aspen
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
コード例 #41
0
def test_get_response_negotiates():
    mk(('index', NEGOTIATED_RESOURCE))
    request = StubRequest.from_fs('index')
    request.headers['Accept'] = 'text/html'
    actual = get_response(request, Response()).body
    assert actual == "<h1>Greetings, program!</h1>\n", actual
コード例 #42
0
ファイル: test_dispatcher.py プロジェクト: alexcouper/aspen
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
コード例 #43
0
def test_get_response_raises_406_if_need_be():
    mk(('index', NEGOTIATED_RESOURCE))
    request = StubRequest.from_fs('index')
    request.headers['Accept'] = 'cheese/head'
    actual = assert_raises(Response, get_response, request, Response()).code
    assert actual == 406, actual
コード例 #44
0
ファイル: test_dispatcher.py プロジェクト: alexcouper/aspen
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
コード例 #45
0
def test_get_response_negotiates(mk):
    mk(('index.spt', NEGOTIATED_RESOURCE))
    request = StubRequest.from_fs('index.spt')
    request.headers['Accept'] = 'text/html'
    actual = get_response(request, Response()).body
    assert actual == "<h1>Greetings, program!</h1>\n"
コード例 #46
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
コード例 #47
0
ファイル: test_gauntlet.py プロジェクト: jarpineh/aspen
def check_index(path, *a):
    """Given a uripath, return a filesystem path per gauntlet.index.
    """
    request = StubRequest.from_fs(path, *a)
    gauntlet.run_through(request, gauntlet.index)
    return request
コード例 #48
0
def test_get_response_sets_content_type_when_it_negotiates(mk):
    mk(('index.spt', NEGOTIATED_RESOURCE))
    request = StubRequest.from_fs('index.spt')
    request.headers['Accept'] = 'text/html'
    actual = get_response(request, Response()).headers['Content-Type']
    assert actual == "text/html; charset=UTF-8"
コード例 #49
0
ファイル: test_gauntlet.py プロジェクト: jarpineh/aspen
def check_trailing_slash(path):
    """Given an urlpath, return a filesystem path per gauntlet.trailing_slash.
    """
    request = StubRequest.from_fs(path)
    gauntlet.run_through(request, gauntlet.trailing_slash)
    return request
コード例 #50
0
def check_index(path, *a):
    """Given a uripath, return a filesystem path per gauntlet.index.
    """
    request = StubRequest.from_fs(path, *a)
    gauntlet.run_through(request, gauntlet.index)
    return request