changeset 2532:84655f721f39

Add a test for getting raw files via the web UI.
author Eric Hopper <hopper@omnifarious.org>
date Thu, 29 Jun 2006 16:44:23 -0700
parents 419c42223bee
children 589474a1dc36
files tests/get-with-headers.py tests/test-webraw tests/test-webraw.out
diffstat 3 files changed, 46 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/get-with-headers.py	Thu Jun 29 16:44:23 2006 -0700
@@ -0,0 +1,16 @@
+#!/usr/bin/env python
+
+__doc__ = """This does HTTP get requests given a host:port and path and returns
+a subset of the headers plus the body of the result."""
+
+import httplib, sys
+headers = [h.lower() for h in sys.argv[3:]]
+conn = httplib.HTTPConnection(sys.argv[1])
+conn.request("GET", sys.argv[2])
+response = conn.getresponse()
+print response.status, response.reason
+for h in headers:
+    if response.getheader(h, None) is not None:
+        print "%s: %s" % (h, response.getheader(h))
+print
+sys.stdout.write(response.read())
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-webraw	Thu Jun 29 16:44:23 2006 -0700
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+hg init test
+cd test
+cat >sometext.txt <<ENDSOME
+This is just some random text
+that will go inside the file and take a few lines.
+It is very boring to read, but computers don't
+care about things like that.
+ENDSOME
+hg add sometext.txt
+hg commit -m "Just some text"
+hg serve -p 20059 -A access.log -E error.log -d --pid-file=hg.pid
+("$TESTDIR/get-with-headers.py" localhost:20059 '/?f=f165dc289438;file=sometext.txt;style=raw' content-type content-length content-disposition) >getoutput.txt &
+
+sleep 5
+kill `cat hg.pid`
+sleep 1 # wait for server to scream and die
+cat getoutput.txt
+cat access.log error.log | sed 's/^\([^[]*\[\)[^]]*\(\].*\)$/\1date\2/g'
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-webraw.out	Thu Jun 29 16:44:23 2006 -0700
@@ -0,0 +1,10 @@
+200 Script output follows
+content-type: text/plain
+content-length: 157
+content-disposition: filename=sometext.txt
+
+This is just some random text
+that will go inside the file and take a few lines.
+It is very boring to read, but computers don't
+care about things like that.
+localhost - - [date] "GET /?f=f165dc289438;file=sometext.txt;style=raw HTTP/1.1" 200 -