Changeset d2bcebe in trunk


Ignore:
Timestamp:
2020-08-19T19:21:28Z (5 years ago)
Author:
Sajith Sasidharan <sajith@…>
Branches:
master
Children:
d87ffb5
Parents:
320830c
git-author:
Sajith Sasidharan <sajith@…> (2020-08-19 18:52:20)
git-committer:
Sajith Sasidharan <sajith@…> (2020-08-19 19:21:28)
Message:

Render resource in a simpler manner

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified src/allmydata/test/web/test_web.py

    r320830c rd2bcebe  
    692692            rendered.  A mapping from ``bytes`` to ``list`` of ``bytes``.
    693693
    694         :return: The rendered response body as ``bytes``.
     694        :return: The rendered response body as ``str``.
    695695        """
    696         ctx = WebContext(tag=resource)
    697         req = FakeRequest(args=query_args)
    698         ctx.remember(DefaultExceptionHandler(), ICanHandleException)
    699         ctx.remember(req, IRequest)
    700         ctx.remember(None, IData)
    701 
    702         d = maybeDeferred(resource.render, ctx)
    703         d.addErrback(processingFailed, req, ctx)
    704         res = self.successResultOf(d)
    705         if isinstance(res, bytes):
    706             return req.v + res
    707         return req.v
     696
     697        # TODO: probably should: (1) refactor this out of here to a
     698        # common module (test.common_web maybe?), and (2) replace
     699        # nevow.inevow.IRequest with twisted.web.iweb.IRequest.  For
     700        # (2) to happen, we will have to update web.common.get_arg()
     701        # etc first.
     702        from zope.interface import implementer
     703        from nevow.inevow import IRequest
     704        from twisted.web.server import Request
     705        from twisted.web.test.requesthelper import DummyChannel
     706
     707        @implementer(IRequest)
     708        class FakeRequest(Request):
     709            def __init__(self, args):
     710                Request.__init__(self, DummyChannel())
     711                self.args = args
     712                self.fields = dict()
     713
     714        return resource.render(FakeRequest(args=query_args))
    708715
    709716
Note: See TracChangeset for help on using the changeset viewer.