Add test for --forward

This commit is contained in:
Emil Mikulic 2013-04-29 00:31:54 +10:00
parent e6e17fa0f3
commit ccf0dbd809
2 changed files with 38 additions and 1 deletions

View File

@ -21,12 +21,23 @@ mkdir $DIR || exit 1
rm -f darkhttpd.gcda darkhttpd.log rm -f darkhttpd.gcda darkhttpd.log
# display usage statement # display usage statement
./a.out >/dev/null ./a.out >/dev/null
# run all tests against this instance (generates darkhttpd.gcda)
# run tests against a basic instance (generates darkhttpd.gcda)
./a.out $DIR --port $PORT --log darkhttpd.log & ./a.out $DIR --port $PORT --log darkhttpd.log &
PID=$! PID=$!
kill -0 $PID || exit 1 kill -0 $PID || exit 1
python test.py python test.py
kill $PID kill $PID
# run forward tests
./a.out $DIR --port $PORT \
--forward example.com http://www.example.com \
--forward secure.example.com https://www.example.com/secure &
PID=$!
kill -0 $PID || exit 1
python test_forward.py
kill $PID
echo generating darkhttpd.c.gcov report echo generating darkhttpd.c.gcov report
gcov darkhttpd gcov darkhttpd
rm -rf $DIR rm -rf $DIR

26
devel/test_forward.py Executable file
View File

@ -0,0 +1,26 @@
#!/usr/bin/env python
import unittest
from test import TestHelper, Conn, parse
class TestForward(TestHelper):
def test_forward_root(self):
resp = Conn().get("/", req_hdrs = { "Host": "example.com" })
status, hdrs, body = parse(resp)
self.assertContains(status, "301 Moved Permanently")
expect = "http://www.example.com/"
self.assertEquals(hdrs["Location"], expect)
self.assertContains(body, expect)
def test_forward_relative(self):
resp = Conn().get("/foo/bar",
req_hdrs = { "Host": "secure.example.com" })
status, hdrs, body = parse(resp)
self.assertContains(status, "301 Moved Permanently")
expect = "https://www.example.com/secure/foo/bar"
self.assertEquals(hdrs["Location"], expect)
self.assertContains(body, expect)
if __name__ == '__main__':
unittest.main()
# vim:set ts=4 sw=4 et: