summaryrefslogtreecommitdiff
path: root/addons/website/tests/test_requests.py
diff options
context:
space:
mode:
Diffstat (limited to 'addons/website/tests/test_requests.py')
-rw-r--r--addons/website/tests/test_requests.py38
1 files changed, 34 insertions, 4 deletions
diff --git a/addons/website/tests/test_requests.py b/addons/website/tests/test_requests.py
index ecdb8d99d7d..391eee57d0a 100644
--- a/addons/website/tests/test_requests.py
+++ b/addons/website/tests/test_requests.py
@@ -9,10 +9,41 @@ import lxml.html
from openerp import tools
-from . import cases
-
__all__ = ['load_tests', 'CrawlSuite']
+class URLCase(unittest2.TestCase):
+ """
+ URLCase moved out of test_requests, otherwise discovery attempts to
+ instantiate and run it
+ """
+ def __init__(self, user, url, source, result):
+ super(URLCase, self).__init__()
+ self.user = user
+ self.url = url
+ self.source = source
+ self.result = result
+
+ @property
+ def username(self):
+ return self.user or "Anonymous Coward"
+
+ def __str__(self):
+ if self.source:
+ return "%s (from %s, as %s)" % (self.url, self.source, self.username)
+ return "%s (as %s)" % (self.url, self.username)
+
+ __repr__ = __str__
+
+ def shortDescription(self):
+ return ""
+
+ def runTest(self):
+ code = self.result.getcode()
+ self.assertIn(
+ code, xrange(200, 300),
+ "Fetching %s as %s returned an error response (%d)" % (
+ self.url, self.username, code))
+
class RedirectHandler(urllib2.HTTPRedirectHandler):
"""
HTTPRedirectHandler is predicated upon HTTPErrorProcessor being used and
@@ -118,11 +149,10 @@ class URL(object):
self.source = source
def to_case(self, user, result):
- return cases.URLCase(user, self.url, self.source, result)
+ return URLCase(user, self.url, self.source, result)
def load_tests(loader, base, _):
base.addTest(CrawlSuite())
- # blog duplicate (&al?) are on links
base.addTest(CrawlSuite('admin', tools.config['admin_passwd']))
base.addTest(CrawlSuite('demo', 'demo'))
return base