]> gitweb.fperrin.net Git - djsite.git/blob - quotes/conftest.py
9e88dc0a43b2797e6618f1ea49d214defc4d454c
[djsite.git] / quotes / conftest.py
1 import pytest
2
3 import lxml.etree
4
5 class ValidatingClient(object):
6     def __init__(self, client):
7         self.client = client
8     
9     def request(self, url, method, exp_status=200, params={}):
10         if method == 'get':
11             response = self.client.get('/quotes/' + url)
12         elif method == 'post':
13             response = self.client.post('/quotes/' + url, params)
14         else:
15             raise RuntimeError('Unknown method %s for %s' % (method, url))
16         assert response.status_code == exp_status
17         assert response.charset == 'utf-8'
18         document = response.content.decode(response.charset)
19         lxml.etree.fromstring(document)
20         assert '<script>' not in document
21         return document
22
23     def getPage(self, url):
24         return self.request(url, 'get')
25
26     def postPage(self, url, params):
27         return self.request(url, 'post', params=params)
28
29 @pytest.fixture
30 def c(client):
31     return ValidatingClient(client)