Beispiel #1
0
    def test_handler(self):
        req, res = Request(env), Response(start_res)
        assert req.next.pop(0) == '/'
        result = u('/').all()(
            lambda this, req, res: res.push("Test.").ok())._Microwave__handler(
                req, res)

        assert isinstance(result, Result)
        assert result.ok()

        env['PATH_INFO'] = '/posts/1'
        req, res = Request(env), Response(start_res)
        assert req.next.pop(0) == '/'
        result = u('/').append(u('posts/'),
                               u(':id'))(lambda this, req, res: res.push(
                                   req.rest('id')).ok())._Microwave__handler(
                                       req, res)
        assert result.ok() == [b'1']

        env['PATH_INFO'] = '/file/img/test.png'
        req, res = Request(env), Response(start_res)
        assert req.next.pop(0) == '/'
        result = u('/').append(u('file/'), u('img/'),
                               u(':!png'))(lambda this, req, res: res.push(
                                   req.rest('png')).ok())._Microwave__handler(
                                       req, res)
        assert result.ok() == [b'test.png']

        env['PATH_INFO'] = '/error'
        req, res = Request(env), Response(start_res)
        assert req.next.pop(0) == '/'
        result = u('/').err(500)(lambda this, req, res, err: res.push(err).ok(
        )).all()(lambda this, req, res: res.status(500).err("Test")
                 )._Microwave__handler(req, res)
        assert result.ok() == [b'Test']
Beispiel #2
0
    def test_rest(self):
        req = Request(env)
        assert req.rest('foo') is None

        req._rest['foo'] = 'oof'
        assert req.rest('foo') == 'oof'

        req._rest['中文'] = r'%E6%B5%8B%E8%AF%95'
        assert req.rest('中文') == '测试'
Beispiel #3
0
    def test_rest(self):
        req = Request(env)
        assert req.rest('foo') is None

        req._rest['foo'] = 'oof'
        assert req.rest('foo') == 'oof'

        req._rest['中文'] = r'%E6%B5%8B%E8%AF%95'
        assert req.rest('中文') == '测试'
Beispiel #4
0
    def test_handler(self):
        req, res = Request(env), Response(start_res)
        assert req.next.pop(0) == "/"
        result = u("/").all()(lambda this, req, res: res.push("Test.").ok())._Microwave__handler(req, res)

        assert isinstance(result, Result)
        assert result.ok()

        env["PATH_INFO"] = "/posts/1"
        req, res = Request(env), Response(start_res)
        assert req.next.pop(0) == "/"
        result = (
            u("/")
            .append(u("posts/"), u(":id"))(lambda this, req, res: res.push(req.rest("id")).ok())
            ._Microwave__handler(req, res)
        )
        assert result.ok() == [b"1"]

        env["PATH_INFO"] = "/file/img/test.png"
        req, res = Request(env), Response(start_res)
        assert req.next.pop(0) == "/"
        result = (
            u("/")
            .append(u("file/"), u("img/"), u(":!png"))(lambda this, req, res: res.push(req.rest("png")).ok())
            ._Microwave__handler(req, res)
        )
        assert result.ok() == [b"test.png"]

        env["PATH_INFO"] = "/error"
        req, res = Request(env), Response(start_res)
        assert req.next.pop(0) == "/"
        result = (
            u("/")
            .err(500)(lambda this, req, res, err: res.push(err).ok())
            .all()(lambda this, req, res: res.status(500).err("Test"))
            ._Microwave__handler(req, res)
        )
        assert result.ok() == [b"Test"]