From ccf0dbd809697699715e8e6897febd22382b8afa Mon Sep 17 00:00:00 2001 From: Emil Mikulic Date: Mon, 29 Apr 2013 00:31:54 +1000 Subject: [PATCH] Add test for --forward --- devel/cover | 13 ++++++++++++- devel/test_forward.py | 26 ++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100755 devel/test_forward.py diff --git a/devel/cover b/devel/cover index f9f89da..99d7a7c 100755 --- a/devel/cover +++ b/devel/cover @@ -21,12 +21,23 @@ mkdir $DIR || exit 1 rm -f darkhttpd.gcda darkhttpd.log # display usage statement ./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 & PID=$! kill -0 $PID || exit 1 python test.py 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 gcov darkhttpd rm -rf $DIR diff --git a/devel/test_forward.py b/devel/test_forward.py new file mode 100755 index 0000000..103feef --- /dev/null +++ b/devel/test_forward.py @@ -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: