Пример #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']
Пример #2
0
 def setUp(self):
     self.res = Response(start_res)