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']
class TestRes: def setUp(self): self.res = Response(start_res) def test_status(self): assert self.res.status_code == 200 assert self.res.status(500) is self.res assert self.res.status_code == 500 assert self.res.status_text is None assert self.res.status(418, "I\"m a teapot") is self.res assert self.res.status_text == "I\"m a teapot" def test_header(self): assert not self.res.headers assert self.res.header('X-Test', 'test too') is self.res assert self.res.headers['X-Test'] == 'test too' def test_push(self): assert not self.res.body assert self.res.push('push') is self.res assert self.res.body[-1] == b'push' def test_ok(self): result = self.res.header('X-Test', 'test too').ok() assert isinstance(result, Result) assert self.res.ok(True).ok() def test_err(self): assert self.res.err(True).err() try: raise self.res.err(True) except Err as err: assert err.err() def test_redirect(self): assert self.res.redirect(True).err() assert self.res.status_code == 302
def setUp(self): self.res = Response(start_res)