All pastes #168408 Raw Edit

Miscellany

public python v1 · immutable
·published 2006-09-12 23:14 UTC
rendered paste body
class HTTP(twisted.web2.dav.test.util.TestCase):    """    HTTP Utilities    """    def test_statusForFailure(self):        def check(exception, result):            try:                raise exception            except Exception, e:                failure = Failure()                status = statusForFailure(failure)                self.failUnless(                    status == result,                    "Failure %r (%s) generated incorrect status code: %s != %s"                    % (failure, failure.value, status, result)                )            else:                self.fail("We shouldn't be here.")        # Handle known errno cases in either IOError or OSError exceptions        for ex_class in (IOError, OSError):            for exception, result in (                (ex_class(errno.EACCES, "Permission denied" ), responsecode.FORBIDDEN),                (ex_class(errno.EPERM , "Permission denied" ), responsecode.FORBIDDEN),                (ex_class(errno.ENOSPC, "No space available"), responsecode.INSUFFICIENT_STORAGE_SPACE),                (ex_class(errno.ENOENT, "No such file"      ), responsecode.NOT_FOUND),            ):                check(exception, result)        # Handle HTTP errors        for code in responsecode.RESPONSES:            check(HTTPError(code), code)            check(HTTPError(ErrorResponse(code, ("http://twistedmatrix.com/", "bar"))), code)        # Handle known exception classes        for exception, result in (            (NotImplementedError("Duh..."), responsecode.NOT_IMPLEMENTED),        ):            check(exception, result)