diff options
Diffstat (limited to 'addons/website/tests/test_requests.py')
| -rw-r--r-- | addons/website/tests/test_requests.py | 38 |
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 |
