def test_guest_cannot_view(self): """ Guest users cannot view when SPACES_AUTH_GUEST_CAN_VIEW is False. """ with self.settings(SPACES_AUTH_GUEST_CAN_VIEW=False): merge_settings() response = self.client.get(self.view_url) self.assert_auth_redirect(response)
def test_view_users_access(self): """ User's with view permissions can view when SPACES_AUTH_GUEST_CAN_VIEW is False. """ with self.settings(SPACES_AUTH_GUEST_CAN_VIEW=False): merge_settings() self.client.login(username="******", password="******") response = self.client.get(self.view_url) self.assertEqual(response.status_code, 200)
def test_any_user_can_edit(self): """ Any authenticated user can edit when SPACES_AUTH_ANY_USER_CAN_EDIT is False. """ with self.settings(SPACES_AUTH_ANY_USER_CAN_EDIT=True): merge_settings() # Anon user not allowed self.failing_edit_tests() # After auth, should be able to create/edit self.client.login(username="******", password="******") self.passing_edit_tests()
def test_only_edit_users_can_edit(self): """ Only user's with edit permissions can edit documents when SPACES_AUTH_ANY_USER_CAN_EDIT is False. """ with self.settings(SPACES_AUTH_ANY_USER_CAN_EDIT=False): merge_settings() # Basic user not allowed self.client.login(username="******", password="******") self.failing_edit_tests() # Editor user allowed self.client.login(username="******", password="******") self.passing_edit_tests()
def setUp(self): merge_settings() self.factory = RequestFactory() self.space = Space.objects.create(name='My Space!', path='mine') # Users self.author = get_user_model().objects.create_user( username='******', email='*****@*****.**', password='******') self.other_user = get_user_model().objects.create_user( username='******', email='*****@*****.**', password='******') # Document and two revisions self.doc = Document.objects.create( title='Foo', path='foo', space=self.space) Revision.objects.create( content='First version', author=self.author, doc=self.doc) rev = Revision.objects.create( content='Second version', author=self.author, doc=self.doc) self.other_doc = Document.objects.create( title='Other', path='other', space=self.space) self.test_data = { 'title': 'hello', 'path': 'foo', 'revision_set-TOTAL_FORMS': 1, 'revision_set-INITIAL_FORMS': 1, 'revision_set-MIN_NUM_FORMS': 1, 'revision_set-MAX_NUM_FORMS': 1, 'revision_set-0-content': 'hello world', 'revision_set-0-id': rev.id, 'revision_set-0-doc': self.doc.id }