from decorators import * from dummy import * def setup_module(mod): pass def return1(r): return 1 def test_preparesite(): r = FakeRequest('/foo') assert preparesite()(return1)(r) == 1 assert r.headers_out['X-Application'] == 'mod_deco v0.1 unreleased' assert r.form == {} # see dummy.py def test_OPTIONS(): r = FakeRequest('/foo', method='OPTIONS') o = ['GET', 'HEAD', 'POST', 'PUT'] assert OPTIONS(o)(return1)(r) == apache.OK assert r.headers_out['Allow'] == ','.join(o) assert r.content_length == 0 r = FakeRequest('/foo', method='FOO') assert OPTIONS(o)(return1)(r) == apache.HTTP_NOT_IMPLEMENTED assert r.headers_out['Allow'] == ','.join(o) r = FakeRequest('/foo', method='GET') assert OPTIONS(o)(return1)(r) == 1 def test_responsewriter(): r = FakeRequest('/foo') assert responsewriter()(return1)(r) == 1 r = FakeRequest('/foo') assert responsewriter()(lambda r: 'foo')(r) == apache.OK assert r.written() == 'foo' r = FakeRequest('/foo') assert responsewriter()(lambda r: None)(r) == apache.OK assert r.written() == 'None' r = FakeRequest('/foo') assert responsewriter()(lambda r: doesntexist())(r) == apache.OK assert r.written().startswith('An exception occurred') def test_PUTsupport(): pass # XXX def test_treetostring(): r = FakeRequest('/foo') assert treetostring()(return1)(r) == 1 r = FakeRequest('/foo') from templess.templess import elnode, textnode foo = elnode('foo', {}, None, None) textnode('bar', foo) assert treetostring()(lambda r: foo)(r) == 'bar' def test_auth(): pass # XXX