For use with the django test client, parse test urls into a base-url / query-args-dict pair.

- Legacy-Id: 323
This commit is contained in:
Henrik Levkowetz 2007-06-11 21:12:50 +00:00
parent 0d69f63829
commit 24b3eeb3d3

View file

@ -50,6 +50,14 @@ def get_patterns(module):
all.append(item.regex.pattern + ".*" + sub) all.append(item.regex.pattern + ".*" + sub)
return all return all
def split_url(url):
if "?" in url:
url, args = url.split("?", 1)
args = dict([ arg.split("=", 1) for arg in args.split("&") ])
else:
args = {}
return url, args
def read_testurls(filename): def read_testurls(filename):
tuples = [] tuples = []
file = open(filename) file = open(filename)
@ -139,9 +147,10 @@ class UrlTestCase(TestCase):
if "skip" in codes or "Skip" in codes: if "skip" in codes or "Skip" in codes:
print "Skipping %s" % (url) print "Skipping %s" % (url)
elif url: elif url:
url, args = split_url(url)
#print "Trying codes, url: (%s, '%s')" % (codes, url) #print "Trying codes, url: (%s, '%s')" % (codes, url)
try: try:
response = self.client.get(url) response = self.client.get(url, args)
code = str(response.status_code) code = str(response.status_code)
if code in codes: if code in codes:
print "OK %s %s" % (code, url) print "OK %s %s" % (code, url)