@@ -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 )
0 commit comments