Mercurial > hg > FileServer
view tests/doctest.txt @ 11:1aaf2ba89b30
introduce failing tests
author | Jeff Hammel <jhammel@mozilla.com> |
---|---|
date | Wed, 29 Feb 2012 15:22:51 -0800 |
parents | 1a11c096284b |
children | 8127dde8da22 |
line wrap: on
line source
Test FileServer ================ The obligatory imports:: >>> import fileserver >>> import os >>> from paste.fixture import TestApp Make a single file server:: >>> filename = os.path.join(here, 'example', 'helloworld.txt') >>> os.path.exists(filename) True >>> app = fileserver.FileApp(filename) >>> testapp = TestApp(app) >>> response = testapp.get('/') >>> response.status 200 >>> response.body == file(filename).read() True Make a directory server:: >>> directory = os.path.join(here, 'example') >>> os.path.exists(directory) and os.path.isdir(directory) True >>> app = fileserver.DirectoryServer(directory) >>> testapp = TestApp(app) Ensure you can serve directory listings:: >>> response = testapp.get('/') >>> response.status 200 >>> 'helloworld.txt' in response.body True Ensure you can serve file contents:: >>> response = testapp.get('/helloworld.txt') >>> response.status 200 >>> response.body == file(filename).read() True Ensure you get a 404 for nonexistent resources:: >>> response = testapp.get('/notfound.bin', status=404) >>> response.status 404 Ensure you can get resources from subdirectories:: >>> response = testapp.get('/foo') >>> response.status Ensure you can't get to non-allowed resources:: >>> response = testapp.get('/../exampleBADBADBAD')