Exemple #1
0
    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')
Exemple #4
0
    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)
Exemple #5
0
    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)
Exemple #6
0
    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()