def test_create_group(self): user1 = hydroshare.create_account( '*****@*****.**', username='******', first_name='Jefferson', last_name='Heard', superuser=False, groups=[] ) user2 = hydroshare.create_account( '*****@*****.**', username='******', first_name='Jefferson', last_name='Heard', superuser=False, groups=[] ) a_group = hydroshare.create_group( 'A Group', members=[user1, user2], owners=[user1]) # test attempt to add a duplicate user self.assertRaises( IntegrityError, lambda: hydroshare.create_group('A Group') ) # test that the group is the same in the database self.assertEqual( a_group, Group.objects.get(name='A Group') ) self.assertIn( user1, [a for a in hydroshare.list_group_members(a_group)], msg='user1 not listed in the group membership list' ) self.assertIn( user2, [a for a in hydroshare.list_group_members(a_group)], msg='user2 not listed in the group membership list' ) self.assertIn( user1, [a for a in GroupOwnership.objects.filter(group=a_group)], msg='user1 not listed in the group ownership list' ) self.assertNotIn( user1, [a for a in GroupOwnership.objects.filter(group=a_group)], msg='user2 listed in the group ownership list' )
def test_create_group(self): user1 = hydroshare.create_account( '*****@*****.**', username='******', first_name='Jefferson', last_name='Heard', superuser=False, groups=[] ) user2 = hydroshare.create_account( '*****@*****.**', username='******', first_name='Jefferson', last_name='Heard', superuser=False, groups=[] ) a_group = hydroshare.create_group( 'A Group', members=[user1, user2], owners=[user1]) # test that the group is the same in the database self.assertEqual( a_group, Group.objects.get(name='A Group') ) self.assertIn( user1, [a for a in hydroshare.list_group_members(a_group)], msg='user1 not listed in the group membership list' ) self.assertIn( user2, [a for a in hydroshare.list_group_members(a_group)], msg='user2 not listed in the group membership list' ) self.assertIn( user1, [a.owner for a in GroupOwnership.objects.filter(group=a_group)], msg='user1 not listed in the group ownership list' ) self.assertNotIn( user2, [a.owner for a in GroupOwnership.objects.filter(group=a_group)], msg='user2 listed in the group ownership list' ) user1.delete() user2.delete() a_group.delete()
def test_list_group_members(self): # assign group instance to get the member list print list(hydroshare.list_group_members(self.group)) self.assertListEqual( list(hydroshare.list_group_members(self.group)), [self.user2], msg='pass group instance can not return group member list') # assign group name to get the member list self.assertListEqual( list(hydroshare.list_group_members(self.group.name)), [self.user2], msg='pass group name can not return group member list') # assign group pk to get the member list self.assertListEqual( list(hydroshare.list_group_members(self.group.pk)), [self.user2], msg='pass group pk can not return group member list')
def list_group_members(self, pk): res = UserResource() bundles = [] for u in hydroshare.list_group_members(pk): bundle = res.build_bundle(obj=u, request=self.request) bundles.append(res.full_dehydrate(bundle, for_list=True)) list_json = res.serialize(None, bundles, "application/json") return json_or_jsonp(self.request, list_json)
def test_create_account(self): a_group = hydroshare.create_group('A Group') # create a user with everything put in fully_specified_user = hydroshare.create_account( '*****@*****.**', username='******', first_name='Jefferson', last_name='Heard', superuser=False, groups=[a_group] ) user_without_username = hydroshare.create_account( '*****@*****.**', first_name='Jefferson', last_name='Heard', superuser=False, groups=[a_group] ) self.assertEqual( fully_specified_user.username, 'jeff', msg='Username got overwritten' ) self.assertEqual( User.objects.get(username='******'), fully_specified_user ) self.assertEqual( User.objects.get(username='******'), user_without_username ) # test attempt to add a duplicate user self.assertRaises( IntegrityError, lambda: hydroshare.create_account( '*****@*****.**', username='******', first_name='Jefferson', last_name='Heard', superuser=False, groups=[a_group] ) ) self.assertIn( fully_specified_user, [a for a in hydroshare.list_group_members(a_group)], msg='user not listed in the group membership list' )
def test_create_account(self): a_group = hydroshare.create_group('A Group') # create a user with everything put in fully_specified_user = hydroshare.create_account( '*****@*****.**', username='******', first_name='Jefferson', last_name='Heard', superuser=False, groups=[a_group] ) user_without_username = hydroshare.create_account( '*****@*****.**', first_name='Jefferson', last_name='Heard', superuser=False, groups=[a_group] ) self.assertEqual( fully_specified_user.username, 'jeff', msg='Username got overwritten' ) self.assertEqual( User.objects.get(username='******'), fully_specified_user ) self.assertEqual( User.objects.get(username='******'), user_without_username ) self.assertIn( fully_specified_user, [a for a in hydroshare.list_group_members(a_group)], msg='user not listed in the group membership list' ) user_without_username.delete() fully_specified_user.delete() a_group.delete()