diff options
Diffstat (limited to 'service/test/unit/resources/__init__.py')
-rw-r--r-- | service/test/unit/resources/__init__.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/service/test/unit/resources/__init__.py b/service/test/unit/resources/__init__.py index e69de29b..b8214a8c 100644 --- a/service/test/unit/resources/__init__.py +++ b/service/test/unit/resources/__init__.py @@ -0,0 +1,23 @@ +from twisted.internet.defer import succeed +from twisted.web import server +from twisted.web.server import Site + + +def resolve_result(request, result): + if isinstance(result, str): + request.write(result) + request.finish() + return succeed(request) + elif result is server.NOT_DONE_YET: + if request.finished: + return succeed(request) + else: + return request.notifyFinish().addCallback(lambda _: request) + else: + raise ValueError("Unexpected return value: %r" % (result,)) + + +class DummySite(Site): + def get(self, request): + return resolve_result(request, self.getResourceFor(request).render(request)) + |