0001-tests-import-TestResponse.__getitem__-from-django-we.patch
tests/utilities.py | ||
---|---|---|
13 | 13 | |
14 | 14 |
from wcs import sql, sessions |
15 | 15 | |
16 |
from webtest import TestApp |
|
16 |
from webtest import TestApp, TestResponse
|
|
17 | 17 |
from quixote import cleanup, get_publisher |
18 | 18 |
from django.conf import settings |
19 | 19 | |
... | ... | |
204 | 204 |
pass |
205 | 205 | |
206 | 206 | |
207 |
class WcsTestResponse(TestResponse): |
|
208 |
def __getitem__(self, item): |
|
209 |
for key, value in self.headerlist: |
|
210 |
if key.lower() == item.lower(): |
|
211 |
return value |
|
212 |
raise KeyError(item) |
|
213 | ||
214 | ||
215 |
class WcsTestApp(TestApp): |
|
216 |
response_class = WcsTestResponse |
|
217 | ||
218 |
def do_request(self, *args, **kwargs): |
|
219 |
response = super(WcsTestApp, self).do_request(*args, **kwargs) |
|
220 |
response.__class__ = self.response_class |
|
221 |
return response |
|
222 | ||
223 | ||
207 | 224 |
def get_app(pub, https=False): |
208 | 225 |
extra_environ = {'HTTP_HOST': 'example.net', 'REMOTE_ADDR': '127.0.0.1'} |
209 | 226 |
if https: |
... | ... | |
211 | 228 |
extra_environ['HTTPS'] = 'on' |
212 | 229 |
else: |
213 | 230 |
extra_environ['HTTPS'] = 'off' |
214 |
return TestApp(wcs.wsgi.application, extra_environ=extra_environ) |
|
231 |
return WcsTestApp(wcs.wsgi.application, extra_environ=extra_environ) |
|
232 | ||
215 | 233 | |
216 | 234 |
def login(app, username='admin', password='admin'): |
217 | 235 |
login_page = app.get('/login/') |
218 |
- |