summaryrefslogtreecommitdiffstats
path: root/testing/mozbase/mozhttpd/tests/requestlog.py
diff options
context:
space:
mode:
Diffstat (limited to 'testing/mozbase/mozhttpd/tests/requestlog.py')
-rw-r--r--testing/mozbase/mozhttpd/tests/requestlog.py41
1 files changed, 41 insertions, 0 deletions
diff --git a/testing/mozbase/mozhttpd/tests/requestlog.py b/testing/mozbase/mozhttpd/tests/requestlog.py
new file mode 100644
index 000000000..bf2c59ec3
--- /dev/null
+++ b/testing/mozbase/mozhttpd/tests/requestlog.py
@@ -0,0 +1,41 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this file,
+# You can obtain one at http://mozilla.org/MPL/2.0/.
+
+import mozhttpd
+import urllib2
+import os
+import unittest
+
+here = os.path.dirname(os.path.abspath(__file__))
+
+
+class RequestLogTest(unittest.TestCase):
+
+ def check_logging(self, log_requests=False):
+
+ httpd = mozhttpd.MozHttpd(port=0, docroot=here, log_requests=log_requests)
+ httpd.start(block=False)
+ url = "http://%s:%s/" % ('127.0.0.1', httpd.httpd.server_port)
+ f = urllib2.urlopen(url)
+ f.read()
+
+ return httpd.request_log
+
+ def test_logging_enabled(self):
+ request_log = self.check_logging(log_requests=True)
+
+ self.assertEqual(len(request_log), 1)
+
+ log_entry = request_log[0]
+ self.assertEqual(log_entry['method'], 'GET')
+ self.assertEqual(log_entry['path'], '/')
+ self.assertEqual(type(log_entry['time']), float)
+
+ def test_logging_disabled(self):
+ request_log = self.check_logging(log_requests=False)
+
+ self.assertEqual(len(request_log), 0)
+
+if __name__ == '__main__':
+ unittest.main()