mirror of https://github.com/interlegis/sapl.git
				
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							42 lines
						
					
					
						
							1.4 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							42 lines
						
					
					
						
							1.4 KiB
						
					
					
				| 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)
 | |
| 
 |