aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/middleware/testing.py
diff options
context:
space:
mode:
authorElrond <elrond+mediagoblin.org@samba-tng.org>2011-10-30 20:51:55 +0100
committerElrond <elrond+mediagoblin.org@samba-tng.org>2011-11-12 13:10:48 +0100
commit34b0874d9ad305f4c8d5e892a679bad2f33ed277 (patch)
treed3d06256fba33cdab8aaafcecb3f663a941819ae /mediagoblin/middleware/testing.py
parent91b89bde4742178534aa2a3fea6308fa463a2550 (diff)
downloadmediagoblin-34b0874d9ad305f4c8d5e892a679bad2f33ed277.tar.lz
mediagoblin-34b0874d9ad305f4c8d5e892a679bad2f33ed277.tar.xz
mediagoblin-34b0874d9ad305f4c8d5e892a679bad2f33ed277.zip
Some docs for the TestingMiddleware
To make the TestingMiddleware actually more useful in the future, start to document it.
Diffstat (limited to 'mediagoblin/middleware/testing.py')
-rw-r--r--mediagoblin/middleware/testing.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/mediagoblin/middleware/testing.py b/mediagoblin/middleware/testing.py
index 06714769..99322661 100644
--- a/mediagoblin/middleware/testing.py
+++ b/mediagoblin/middleware/testing.py
@@ -15,6 +15,23 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
class TestingMiddleware(object):
+ """
+ Middleware for the Unit tests
+
+ It might make sense to perform some tests on all
+ requests/responses. Or prepare them in a special
+ manner. For example all html responses could be tested
+ for being valid html *after* being rendered.
+
+ This module is getting inserted at the front of the
+ middleware list, which means: requests are handed here
+ first, responses last. So this wraps up the "normal"
+ app.
+
+ If you need to add a test, either add it directly to
+ the appropiate process_request or process_response, or
+ create a new method and call it from process_*.
+ """
def __init__(self, mg_app):
self.app = mg_app
@@ -23,12 +40,20 @@ class TestingMiddleware(object):
pass
def process_response(self, request, response):
+ # All following tests should be for html only!
if response.content_type != "text/html":
# Get out early
return
+
+ # If the template contains a reference to
+ # /mgoblin_static/ instead of using
+ # /request.staticdirect(), error out here.
+ # This could probably be implemented as a grep on
+ # the shipped templates easier...
if response.text.find("/mgoblin_static/") >= 0:
raise AssertionError(
"Response HTML contains reference to /mgoblin_static/ "
"instead of staticdirect. Request was for: "
+ request.full_path)
+
return