summaryrefslogtreecommitdiff
path: root/service/test/unit/resources/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'service/test/unit/resources/__init__.py')
-rw-r--r--service/test/unit/resources/__init__.py23
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))
+