def add_viewers(self, create, extracted, **kwargs): if not create: return if extracted: from geokey.datagroupings.tests.model_factories import GroupingFactory GroupingFactory(add_viewers=extracted, **{'project': self})
def setUp(self): self.factory = APIRequestFactory() self.admin = UserF.create() self.contributor = UserF.create() self.non_member = UserF.create() self.project = ProjectF.create(add_admins=[self.admin]) self.contributors = UserGroupF(add_users=[self.contributor], **{'project': self.project}) self.view = GroupingFactory(**{'project': self.project})
def test_get_public_project_with_anonymous(self): user = AnonymousUser() project = ProjectF.create(**{ 'isprivate': False }) GroupingFactory(**{'project': project, 'isprivate': False}) request = self.factory.get('/api/projects/%s/' % project.id) force_authenticate(request, user=user) view = SingleProject.as_view() response = view(request, project_id=project.id).render() self.assertEqual(response.status_code, 200) self.assertContains(response, project.name) self.assertContains(response, '"can_contribute":false')
def setUp(self): self.factory = APIRequestFactory() self.admin = UserF.create() self.contributor = UserF.create() self.non_member = UserF.create() self.view_member = UserF.create() self.public_project = ProjectF.create( add_admins=[self.admin], add_contributors=[self.contributor], **{ 'isprivate': False } ) GroupingFactory( add_viewers=[self.view_member], **{'project': self.public_project, 'isprivate': False} ) self.private_project = ProjectF.create( add_admins=[self.admin], add_contributors=[self.contributor], add_viewers=[self.view_member] ) self.inactive_project = ProjectF.create( add_admins=[self.admin], add_contributors=[self.contributor], add_viewers=[self.view_member], **{ 'status': 'inactive' } ) self.deleted_project = ProjectF.create( add_admins=[self.admin], add_contributors=[self.contributor], add_viewers=[self.view_member], **{'isprivate': False} ) self.deleted_project.delete()
def setUp(self): self.moderator_view = UserF.create() self.moderator = UserF.create() self.contributor_view = UserF.create() self.contributor = UserF.create() self.viewer_view = UserF.create() self.viewer = UserF.create() self.some_dude = UserF.create() self.project = ProjectF.create(**{ 'isprivate': False, 'everyone_contributes': 'false' }) self.view = GroupingFactory(**{ 'project': self.project, 'isprivate': False }) self.moderators_view = UserGroupF(add_users=[self.moderator_view], **{ 'project': self.project, 'can_moderate': True }) self.contributors_view = UserGroupF(add_users=[self.contributor_view], **{ 'project': self.project, 'can_contribute': True }) self.viewers_view = UserGroupF(add_users=[self.viewer_view], **{ 'project': self.project, 'can_contribute': False, 'can_moderate': False }) GroupingUserGroupFactory.create(**{ 'grouping': self.view, 'usergroup': self.moderators_view }) GroupingUserGroupFactory.create(**{ 'grouping': self.view, 'usergroup': self.contributors_view }) GroupingUserGroupFactory.create(**{ 'grouping': self.view, 'usergroup': self.viewers_view }) self.moderators = UserGroupF(add_users=[self.moderator], **{ 'project': self.project, 'can_moderate': True }) self.contributors = UserGroupF(add_users=[self.contributor], **{ 'project': self.project, 'can_contribute': True }) self.viewers = UserGroupF(add_users=[self.viewer], **{ 'project': self.project, 'can_contribute': False, 'can_moderate': False })
def setUp(self): self.admin = UserF.create() self.moderator_view = UserF.create() self.moderator = UserF.create() self.contributor_view = UserF.create() self.contributor = UserF.create() self.viewer_view = UserF.create() self.viewer = UserF.create() self.some_dude = UserF.create() self.private_project = ProjectF.create(add_admins=[self.admin], **{ 'name': 'Private', 'isprivate': True, 'everyone_contributes': 'false' }) self.private_view = GroupingFactory(**{ 'project': self.private_project, 'isprivate': True }) self.private_moderators_view = UserGroupF( add_users=[self.moderator_view], **{ 'project': self.private_project, 'can_moderate': True }) self.private_contributors_view = UserGroupF( add_users=[self.contributor_view], **{ 'project': self.private_project, 'can_contribute': True }) self.private_viewers_view = UserGroupF(add_users=[self.viewer_view], **{ 'project': self.private_project, 'can_contribute': False, 'can_moderate': False }) GroupingUserGroupFactory.create( **{ 'grouping': self.private_view, 'usergroup': self.private_moderators_view }) GroupingUserGroupFactory.create( **{ 'grouping': self.private_view, 'usergroup': self.private_contributors_view }) GroupingUserGroupFactory.create(**{ 'grouping': self.private_view, 'usergroup': self.private_viewers_view }) self.private_moderators = UserGroupF(add_users=[self.moderator], **{ 'project': self.private_project, 'can_moderate': True }) self.private_contributors = UserGroupF(add_users=[self.contributor], **{ 'project': self.private_project, 'can_contribute': True }) self.private_viewers = UserGroupF(add_users=[self.viewer], **{ 'project': self.private_project, 'can_contribute': False, 'can_moderate': False }) self.private_publicview_project = ProjectF.create( add_admins=[self.admin], **{ 'name': 'Private with public view', 'isprivate': True, 'everyone_contributes': 'false' }) self.private_publicview_view = GroupingFactory(**{ 'project': self.private_publicview_project, 'isprivate': False }) self.private_publicview_moderators_view = UserGroupF( add_users=[self.moderator_view], **{ 'project': self.private_publicview_project, 'can_moderate': True }) self.private_publicview_contributors_view = UserGroupF( add_users=[self.contributor_view], **{ 'project': self.private_publicview_project, 'can_contribute': True }) self.private_publicview_viewers_view = UserGroupF( add_users=[self.viewer_view], **{ 'project': self.private_publicview_project, 'can_contribute': False, 'can_moderate': False }) GroupingUserGroupFactory.create( **{ 'grouping': self.private_publicview_view, 'usergroup': self.private_publicview_moderators_view }) GroupingUserGroupFactory.create( **{ 'grouping': self.private_publicview_view, 'usergroup': self.private_publicview_contributors_view }) GroupingUserGroupFactory.create( **{ 'grouping': self.private_publicview_view, 'usergroup': self.private_publicview_viewers_view }) self.private_publicview_moderators = UserGroupF( add_users=[self.moderator], **{ 'project': self.private_publicview_project, 'can_moderate': True }) self.private_publicview_contributors = UserGroupF( add_users=[self.contributor], **{ 'project': self.private_publicview_project, 'can_contribute': True }) self.private_publicview_viewers = UserGroupF( add_users=[self.viewer], **{ 'project': self.private_publicview_project, 'can_contribute': False, 'can_moderate': False }) self.private_publicviews_project = ProjectF.create( add_admins=[self.admin], **{ 'name': 'Private with public views', 'isprivate': True, 'everyone_contributes': 'false' }) self.private_publicviews_view = GroupingFactory(**{ 'project': self.private_publicviews_project, 'isprivate': False }) self.private_publicviews_moderators_view = UserGroupF( add_users=[self.moderator_view], **{ 'project': self.private_publicviews_project, 'can_moderate': True }) self.private_publicviews_contributors_view = UserGroupF( add_users=[self.contributor_view], **{ 'project': self.private_publicviews_project, 'can_contribute': True }) self.private_publicviews_viewers_view = UserGroupF( add_users=[self.viewer_view], **{ 'project': self.private_publicviews_project, 'can_contribute': False, 'can_moderate': False }) GroupingUserGroupFactory.create( **{ 'grouping': self.private_publicviews_view, 'usergroup': self.private_publicviews_moderators_view }) GroupingUserGroupFactory.create( **{ 'grouping': self.private_publicviews_view, 'usergroup': self.private_publicviews_contributors_view }) GroupingUserGroupFactory.create( **{ 'grouping': self.private_publicviews_view, 'usergroup': self.private_publicviews_viewers_view }) self.private_publicviews_moderators = UserGroupF( add_users=[self.moderator], **{ 'project': self.private_publicviews_project, 'can_moderate': True }) self.private_publicviews_contributors = UserGroupF( add_users=[self.contributor], **{ 'project': self.private_publicviews_project, 'can_contribute': True }) self.private_publicviews_viewers = UserGroupF( add_users=[self.viewer], **{ 'project': self.private_publicviews_project, 'can_contribute': False, 'can_moderate': False }) self.public_project = ProjectF.create(add_admins=[self.admin], **{ 'name': 'Public', 'isprivate': False, 'everyone_contributes': 'false' }) self.public_view = GroupingFactory(**{ 'project': self.public_project, 'isprivate': True }) self.public_moderators_view = UserGroupF( add_users=[self.moderator_view], **{ 'project': self.public_project, 'can_moderate': True }) self.public_contributors_view = UserGroupF( add_users=[self.contributor_view], **{ 'project': self.public_project, 'can_contribute': True }) self.public_viewers_view = UserGroupF(add_users=[self.viewer_view], **{ 'project': self.public_project, 'can_contribute': False, 'can_moderate': False }) GroupingUserGroupFactory.create( **{ 'grouping': self.public_view, 'usergroup': self.public_moderators_view }) GroupingUserGroupFactory.create( **{ 'grouping': self.public_view, 'usergroup': self.public_contributors_view }) GroupingUserGroupFactory.create(**{ 'grouping': self.public_view, 'usergroup': self.public_viewers_view }) self.public_moderators = UserGroupF(add_users=[self.moderator], **{ 'project': self.public_project, 'can_moderate': True }) self.public_contributors = UserGroupF(add_users=[self.contributor], **{ 'project': self.public_project, 'can_contribute': True }) self.public_viewers = UserGroupF(add_users=[self.viewer], **{ 'project': self.public_project, 'can_contribute': False, 'can_moderate': False }) self.public_publicview_project = ProjectF.create( add_admins=[self.admin], **{ 'name': 'Public with public view', 'isprivate': False, 'everyone_contributes': 'false' }) self.public_publicview_view = GroupingFactory(**{ 'project': self.public_publicview_project, 'isprivate': False }) self.public_publicview_moderators_view = UserGroupF( add_users=[self.moderator_view], **{ 'project': self.public_publicview_project, 'can_moderate': True }) self.public_publicview_contributors_view = UserGroupF( add_users=[self.contributor_view], **{ 'project': self.public_publicview_project, 'can_contribute': True }) self.public_publicview_viewers_view = UserGroupF( add_users=[self.viewer_view], **{ 'project': self.public_publicview_project, 'can_contribute': False, 'can_moderate': False }) GroupingUserGroupFactory.create( **{ 'grouping': self.public_publicview_view, 'usergroup': self.public_publicview_moderators_view }) GroupingUserGroupFactory.create( **{ 'grouping': self.public_publicview_view, 'usergroup': self.public_publicview_contributors_view }) GroupingUserGroupFactory.create( **{ 'grouping': self.public_publicview_view, 'usergroup': self.public_publicview_viewers_view }) self.public_publicview_moderators = UserGroupF( add_users=[self.moderator], **{ 'project': self.public_publicview_project, 'can_moderate': True }) self.public_publicview_contributors = UserGroupF( add_users=[self.contributor], **{ 'project': self.public_publicview_project, 'can_contribute': True }) self.public_publicview_viewers = UserGroupF( add_users=[self.viewer], **{ 'project': self.public_publicview_project, 'can_contribute': False, 'can_moderate': False }) self.public_publicviews_project = ProjectF.create( add_admins=[self.admin], **{ 'name': 'public with all public views', 'isprivate': False, 'everyone_contributes': 'false' }) self.public_publicviews_view = GroupingFactory(**{ 'project': self.public_publicviews_project, 'isprivate': False }) self.public_publicviews_moderators_view = UserGroupF( add_users=[self.moderator_view], **{ 'project': self.public_publicviews_project, 'can_moderate': True }) self.public_publicviews_contributors_view = UserGroupF( add_users=[self.contributor_view], **{ 'project': self.public_publicviews_project, 'can_contribute': True }) self.public_publicviews_viewers_view = UserGroupF( add_users=[self.viewer_view], **{ 'project': self.public_publicviews_project, 'can_contribute': False, 'can_moderate': False }) GroupingUserGroupFactory.create( **{ 'grouping': self.public_publicviews_view, 'usergroup': self.public_publicviews_moderators_view }) GroupingUserGroupFactory.create( **{ 'grouping': self.public_publicviews_view, 'usergroup': self.public_publicviews_contributors_view }) GroupingUserGroupFactory.create( **{ 'grouping': self.public_publicviews_view, 'usergroup': self.public_publicviews_viewers_view }) self.public_publicviews_moderators = UserGroupF( add_users=[self.moderator], **{ 'project': self.public_publicviews_project, 'can_moderate': True }) self.public_publicviews_contributors = UserGroupF( add_users=[self.contributor], **{ 'project': self.public_publicviews_project, 'can_contribute': True }) self.public_publicviews_viewers = UserGroupF( add_users=[self.viewer], **{ 'project': self.public_publicviews_project, 'can_contribute': False, 'can_moderate': False })