test_SimpleHTTPServer.py 1.3 KB
Newer Older
Christian Heimes's avatar
Christian Heimes committed
1 2 3 4 5 6
"""
These tests only check url parsing for now.
We don't want to require the 'network' resource.
"""

import os, unittest
7
from http.server import SimpleHTTPRequestHandler
8
from test import support
Christian Heimes's avatar
Christian Heimes committed
9 10


11
class SocketlessRequestHandler(SimpleHTTPRequestHandler):
Christian Heimes's avatar
Christian Heimes committed
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
    def __init__(self):
        pass

class SimpleHTTPRequestHandlerTestCase(unittest.TestCase):
    """ Test url parsing """
    def setUp (self):
        self.translated = os.getcwd()
        self.translated = os.path.join(self.translated, 'filename')
        self.handler = SocketlessRequestHandler ()

    def test_queryArguments (self):
        path = self.handler.translate_path ('/filename')
        self.assertEquals (path, self.translated)
        path = self.handler.translate_path ('/filename?foo=bar')
        self.assertEquals (path, self.translated)
        path = self.handler.translate_path ('/filename?a=b&spam=eggs#zot')
        self.assertEquals (path, self.translated)

    def test_startWithDoubleSlash (self):
        path = self.handler.translate_path ('//filename')
        self.assertEquals (path, self.translated)
        path = self.handler.translate_path ('//filename?foo=bar')
        self.assertEquals (path, self.translated)


def test_main():
38
    support.run_unittest(SimpleHTTPRequestHandlerTestCase)
Christian Heimes's avatar
Christian Heimes committed
39 40 41

if __name__ == "__main__":
    test_main()