mirror of https://github.com/interlegis/sapl.git
Marcio Mazza
10 years ago
4 changed files with 104 additions and 3 deletions
@ -0,0 +1,43 @@ |
|||||
|
import pytest |
||||
|
from django_webtest import DjangoTestApp, WebTestMixin |
||||
|
|
||||
|
|
||||
|
DEFAULT_MARK = object() |
||||
|
|
||||
|
|
||||
|
class SaplTestApp(DjangoTestApp): |
||||
|
|
||||
|
def __init__(self, extra_environ=None, relative_to=None, |
||||
|
default_user=None): |
||||
|
super(SaplTestApp, self).__init__(extra_environ, relative_to) |
||||
|
self.default_user = default_user |
||||
|
|
||||
|
def get(self, url, params=None, headers=None, extra_environ=None, |
||||
|
status=None, expect_errors=False, user=DEFAULT_MARK, |
||||
|
auto_follow=True, content_type=None, **kwargs): |
||||
|
# note we altered the default values for user and auto_follow |
||||
|
|
||||
|
if user is DEFAULT_MARK: # a trick to allow explicit user=None |
||||
|
user = self.default_user |
||||
|
|
||||
|
return super(SaplTestApp, self).get( |
||||
|
url, params, headers, extra_environ, status, expect_errors, user, |
||||
|
auto_follow, content_type, **kwargs) |
||||
|
|
||||
|
|
||||
|
@pytest.fixture(scope='function') |
||||
|
def app(request, admin_user): |
||||
|
"""WebTest's TestApp. |
||||
|
|
||||
|
Patch and unpatch settings before and after each test. |
||||
|
|
||||
|
WebTestMixin, when used in a unittest.TestCase, automatically calls |
||||
|
_patch_settings() and _unpatchsettings. |
||||
|
|
||||
|
source: https://gist.github.com/magopian/6673250 |
||||
|
""" |
||||
|
wtm = WebTestMixin() |
||||
|
wtm._patch_settings() |
||||
|
request.addfinalizer(wtm._unpatch_settings) |
||||
|
# XXX change this admin user to "saploper" |
||||
|
return SaplTestApp(default_user=admin_user.username) |
Loading…
Reference in new issue