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']
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('中文') == '测试'
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"]