Skip to content

Commit 73bd413

Browse files
committed
A bit of refactoring in ietf/tests.py
- Legacy-Id: 256
1 parent e851dba commit 73bd413

2 files changed

Lines changed: 38 additions & 34 deletions

File tree

ietf/tests.py

Lines changed: 35 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -92,48 +92,49 @@ def testCoverage(self):
9292
#print "Not all the application URLs has test cases. The missing are: \n %s" % ("\n ".join(list(set(patterns) - set(covered))))
9393
print "Not all the application URLs has test cases."
9494

95-
def testUrls(self):
96-
for codes, testurl, goodurl in self.testtuples:
97-
if codes[0] in ["skip", "Skip"]:
98-
print "Skipping %s" % (testurl)
99-
else:
95+
def doUrlsTest(self, lst):
96+
response_count = {"Exc": 0, 200: 0, }
97+
for code, url in lst:
98+
if code in ["Skip", "skip"]:
99+
print "Skipping %s" % (url)
100+
elif url:
101+
print "Trying code, url: (<%s>, '%s')" % (code, url)
100102
try:
101-
response = self.client.get(testurl)
102-
code = str(response.status_code)
103-
print "Got code %s for %s" % (code, testurl)
104-
if not code in codes:
105-
self.fail("Unexpected response code (%s) for URL '%s'" % (code, testurl))
106-
# TODO: Add comparison with goodurl
103+
response = self.client.get(url)
104+
res = response.status_code
105+
if not res in response_count:
106+
response_count[res] = 0
107+
response_count[res] += 1
108+
if str(res) in code.split(","):
109+
print "OK %s %s" % (res, url)
110+
else:
111+
print "Fail %s %s" % (res, url)
107112
except:
108-
print "Exception for URL '%s'" % testurl
113+
if not "Exc" in response_count:
114+
response_count["Exc"] = 0
115+
response_count["Exc"] += 1
116+
print "Exception for URL '%s'" % url
109117
traceback.print_exc()
118+
else:
119+
pass
120+
for code in response_count:
121+
print " %s: %s " % (res, response_count[code])
122+
for code in response_count:
123+
if str(code) != "200":
124+
self.assertEqual(response_count[code], 0)
125+
126+
def testUrlsList(self):
127+
lst = [(tuple[0], tuple[1]) for tuple in self.testtuples]
128+
self.doUrlsTest(lst)
110129

111130
def testUrlsFallback(self):
112131
patterns = get_patterns(ietf.urls)
113-
response_count = {}
132+
response_count = {"Exc": 0, "200": 0, }
133+
lst = []
114134
for pattern in patterns:
115135
if pattern.startswith("^") and pattern.endswith("$"):
116136
url = "/"+pattern[1:-1]
117137
# if there is no variable parts in the url, test it
118138
if re.search("^[-a-z0-9./_]*$", url) and not url in self.testurls and not url.startswith("/admin/"):
119-
try:
120-
response = self.client.get(url)
121-
if not response.status_code in response_count:
122-
response_count[response.status_code] = 0
123-
response_count[response.status_code] += 1
124-
if response.status_code != 200:
125-
print "Bad code %s for %s" % (response.status_code, url)
126-
except:
127-
if not "Exc" in response_count:
128-
response_count["Exc"] = 0
129-
response_count["Exc"] += 1
130-
print "Exception for URL '%s'" % url
131-
traceback.print_exc()
132-
else:
133-
print "Skipping %s" % (url)
134-
print "testUrlsFallback() response count:\n code count"
135-
for code in response_count:
136-
print " %s: %s " % (code, response_count[code])
137-
for code in response_count:
138-
if str(code) != "200":
139-
self.assertEqual(response_count[code], 0)
139+
lst.append(("200", url))
140+
self.doUrlsTest(lst)

ietf/testurl.list

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66
200,404 /idtracker/status/
77
200,404 /idtracker/last_call/
88
skip /my/
9+
skip /idindex/
10+
skip /idindex/showdocs/all/date/
11+
skip /idindex/showdocs/all/name/
912
200,404 /liaisons/
1013
200,404 /liaisons/managers/
1114
200,404 /mailinglists/area_lists/

0 commit comments

Comments
 (0)