]> gitweb.fperrin.net Git - djsite.git/blobdiff - quotes/conftest.py
Use Django's linebreaks method
[djsite.git] / quotes / conftest.py
index 9e88dc0a43b2797e6618f1ea49d214defc4d454c..9210e6aeb60a2049e2837372fda0ff9fffe8bd05 100644 (file)
@@ -7,25 +7,35 @@ class ValidatingClient(object):
         self.client = client
     
     def request(self, url, method, exp_status=200, params={}):
+        if not url.startswith('/quotes/'):
+            url = '/quotes/' + url
+
         if method == 'get':
-            response = self.client.get('/quotes/' + url)
+            response = self.client.get(url)
         elif method == 'post':
-            response = self.client.post('/quotes/' + url, params)
+            response = self.client.post(url, params)
         else:
             raise RuntimeError('Unknown method %s for %s' % (method, url))
         assert response.status_code == exp_status
+        if response.status_code != 200:
+            return None
         assert response.charset == 'utf-8'
         document = response.content.decode(response.charset)
-        lxml.etree.fromstring(document)
+        print 'For url %s got page:\n%s' % (url, document)
+        lxml.etree.fromstring(document.replace('<br>', '<br/>'))
         assert '<script>' not in document
         return document
 
-    def getPage(self, url):
-        return self.request(url, 'get')
+    def getPage(self, url, exp_status=200):
+        return self.request(url, 'get', exp_status=exp_status)
 
-    def postPage(self, url, params):
-        return self.request(url, 'post', params=params)
+    def postPage(self, url, params, exp_status=200):
+        return self.request(url, 'post', params=params, exp_status=exp_status)
 
 @pytest.fixture
 def c(client):
     return ValidatingClient(client)
+
+@pytest.fixture
+def c_adm(admin_client):
+    return ValidatingClient(admin_client)