Example #1
0
 def test_group_logo_is_present_on_list_view(self):
     """Verify that a group's logo is rendered on list view."""
     with self.settings(API_LOCKDOWN=False):
         test_profile = GroupProfile(title="test",
                                     slug="test",
                                     description="test",
                                     access="public",
                                     logo=SimpleUploadedFile(
                                         "dummy-file.jpg",
                                         "dummy contents".encode("UTF-8")))
         test_profile.save()
         response = self.client.get(
             reverse("api_dispatch_list",
                     kwargs={
                         "api_name": "api",
                         "resource_name": "groups"
                     }))
     content = response.content
     if isinstance(content, bytes):
         content = content.decode('UTF-8')
         response_payload = json.loads(content)
         returned = response_payload["objects"]
         group_profile = [
             g["group_profile"] for g in returned
             if g["group_profile"]["title"] == test_profile.title
         ][0]
         self.assertEqual(200, response.status_code)
         self.assertEqual(group_profile["logo"], test_profile.logo.url)
Example #2
0
    def test_group_logo_is_not_present_on_list_view(self):
        """
        Verify that no logo exists in list view when a group doesn't have one.
        """

        test_group = Group(name="tester")
        test_profile = GroupProfile(group=test_group,
                                    title="test",
                                    slug="test",
                                    description="test",
                                    access="public")
        test_group.save()
        test_profile.save()

        response = self.client.get(
            reverse("api_dispatch_list",
                    kwargs={
                        "api_name": "api",
                        "resource_name": "groups"
                    }))
        response_payload = json.loads(response.content)
        returned = response_payload["objects"]
        group = [g for g in returned if g["title"] == test_profile.title][0]
        self.assertEqual(200, response.status_code)
        self.assertIsNone(group["logo"])
Example #3
0
    def test_group_logo_is_not_present_on_list_view(self):
        """
        Verify that no logo exists in list view when a group doesn't have one.
        """

        with self.settings(API_LOCKDOWN=False):
            test_profile = GroupProfile(title="test",
                                        slug="test",
                                        description="test",
                                        access="public")
            test_profile.save()

            response = self.client.get(
                reverse("api_dispatch_list",
                        kwargs={
                            "api_name": "api",
                            "resource_name": "groups"
                        }))
        content = response.content
        if isinstance(content, bytes):
            content = content.decode('UTF-8')
            response_payload = json.loads(content)
            returned = response_payload["objects"]
            group_profile = [
                g["group_profile"] for g in returned
                if g["group_profile"]["title"] == test_profile.title
            ][0]
            self.assertEqual(200, response.status_code)
            self.assertIsNone(group_profile["logo"])
Example #4
0
    def test_group_logo_is_not_present_on_list_view(self):
        """
        Verify that no logo exists in list view when a group doesn't have one.
        """

        test_group = Group(name="tester")
        test_profile = GroupProfile(
            group=test_group,
            title="test",
            slug="test",
            description="test",
            access="public"
        )
        test_group.save()
        test_profile.save()

        response = self.client.get(
            reverse("api_dispatch_list",
                    kwargs={"api_name": "api", "resource_name": "groups"})
        )
        response_payload = json.loads(response.content)
        returned = response_payload["objects"]
        group = [g for g in returned if g["title"] == test_profile.title][0]
        self.assertEqual(200, response.status_code)
        self.assertIsNone(group["logo"])
Example #5
0
    def crea_group_with_manager(name_user, name_group):
        # Recuperation de la surcharge de user
        User = get_user_model()

        # Test si nom user est deja prit
        lUser = list(User.objects.all())
        for u in lUser:
            if u.name_long == name_user:
                raise Exception('That user name already exists')

        lGroup = list(GroupProfile.objects.all())
        for g in lGroup:
            if g.title == name_group or g.slug == slugify(name_group):
                raise('That group name already exists')

        user = User.objects.create_user(name_user, None, name_user)
        user.save()

        group = GroupProfile()
        group.title = name_group
        group.slug = slugify(name_group)
        group.description = name_group

        group.save()

        group.join(user, role="manager")
        group.save()

        return True
Example #6
0
 def test_group_logo_is_present_on_list_view(self):
     """Verify that a group's logo is rendered on list view."""
     test_group = Group(name="tester")
     test_profile = GroupProfile(
         group=test_group,
         title="test",
         slug="test",
         description="test",
         access="public",
         logo=SimpleUploadedFile("dummy-file.jpg", b"dummy contents")
     )
     test_group.save()
     test_profile.save()
     response = self.client.get(
         reverse("api_dispatch_list",
                 kwargs={"api_name": "api", "resource_name": "groups"})
     )
     response_payload = json.loads(response.content)
     returned = response_payload["objects"]
     group = [g for g in returned if g["title"] == test_profile.title][0]
     self.assertEqual(200, response.status_code)
     self.assertEqual(group["logo"], test_profile.logo.url)
Example #7
0
 def test_group_logo_is_present_on_list_view(self):
     """Verify that a group's logo is rendered on list view."""
     test_group = Group(name="tester")
     test_profile = GroupProfile(group=test_group,
                                 title="test",
                                 slug="test",
                                 description="test",
                                 access="public",
                                 logo=SimpleUploadedFile(
                                     "dummy-file.jpg", b"dummy contents"))
     test_group.save()
     test_profile.save()
     response = self.client.get(
         reverse("api_dispatch_list",
                 kwargs={
                     "api_name": "api",
                     "resource_name": "groups"
                 }))
     response_payload = json.loads(response.content)
     returned = response_payload["objects"]
     group = [g for g in returned if g["title"] == test_profile.title][0]
     self.assertEqual(200, response.status_code)
     self.assertEqual(group["logo"], test_profile.logo.url)
Example #8
0
    def crea_group_with_manager_and_user(name_user, name_group):
        '''
        Methode de creation de groupe pour commune,
        Deux utilisateur y seront ajouter, un en user RO
        et un en manager RW
        '''
        # Recuperation de la surcharge de user
        User = get_user_model()

        u_ro = name_group + '-' + name_user
        u_rw = name_group

        g_user = name_group + '-ro'
        g_admin = name_group + '-rw'

        # Vérification de la disponibiliter des noms
        if Profile.objects.filter(username=u_ro).exists():
            raise Exception('Le nom d\'utilisateur généré est déjà utilisé')
        if Profile.objects.filter(username=u_rw).exists():
            raise Exception('Le nom d\'utilisateur généré est déjà utilisé')
        if GroupProfile.objects.filter(title=g_user).exists():
            raise Exception('Le nom de groupe généré est déjà utilisé')
        if GroupProfile.objects.filter(title=g_admin).exists():
            raise Exception('Le nom de groupe généré est déjà utilisé')

        # RW
        user_rw = User.objects.create_user(u_rw, None, u_rw)
        user_rw.save()

        group_admin = GroupProfile()
        group_admin.title = g_admin
        group_admin.slug = slugify(g_admin)
        group_admin.description = g_admin

        group_admin.save()

        group_admin.join(user_rw, role="manager")

        # RO
        user_ro = User.objects.create_user(u_ro, None, u_ro)
        user_ro.save()

        group_user = GroupProfile()
        group_user.title = g_user
        group_user.slug = slugify(g_user)
        group_user.description = g_user

        group_user.save()

        group_user.join(user_rw, role="manager")
        group_user.join(user_ro)

        user_rw.save()
        group_admin.save()

        user_ro.save()
        group_user.save()

        return True
Example #9
0
    def crea_group_with_manager(name_user, name_group):
        # Recuperation de la surcharge de user
        User = get_user_model()

        # Test si nom user est deja prit
        lUser = list(User.objects.all())
        for u in lUser:
            if u.name_long == name_user:
                raise Exception('That user name already exists')

        lGroup = list(GroupProfile.objects.all())
        for g in lGroup:
            if g.title == name_group or g.slug == slugify(name_group):
                raise ('That group name already exists')

        user = User.objects.create_user(name_user, None, name_user)
        user.save()

        group = GroupProfile()
        group.title = name_group
        group.slug = slugify(name_group)
        group.description = name_group

        group.save()

        group.join(user, role="manager")
        group.save()

        return True
Example #10
0
    def crea_group_with_manager_and_user(name_user, name_group):
        '''
        Methode de creation de groupe pour commune,
        Deux utilisateur y seront ajouter, un en user RO
        et un en manager RW
        '''
        # Recuperation de la surcharge de user
        User = get_user_model()


        u_ro = name_group+'-'+name_user
        u_rw = name_group

        g_user = name_group+'-ro'
        g_admin = name_group+'-rw'

        # Vérification de la disponibiliter des noms
        if Profile.objects.filter(username=u_ro).exists():
            raise Exception('Le nom d\'utilisateur généré est déjà utilisé')
        if Profile.objects.filter(username=u_rw).exists():
            raise Exception('Le nom d\'utilisateur généré est déjà utilisé')
        if GroupProfile.objects.filter(title=g_user).exists():
            raise Exception('Le nom de groupe généré est déjà utilisé')
        if GroupProfile.objects.filter(title=g_admin).exists():
            raise Exception('Le nom de groupe généré est déjà utilisé')


        # RW
        user_rw = User.objects.create_user(u_rw, None, u_rw)
        user_rw.save()

        group_admin = GroupProfile()
        group_admin.title = g_admin
        group_admin.slug = slugify(g_admin)
        group_admin.description = g_admin

        group_admin.save()

        group_admin.join(user_rw, role="manager")


        # RO
        user_ro = User.objects.create_user(u_ro, None, u_ro)
        user_ro.save()

        group_user = GroupProfile()
        group_user.title = g_user
        group_user.slug = slugify(g_user)
        group_user.description = g_user

        group_user.save()

        group_user.join(user_rw, role="manager")
        group_user.join(user_ro)


        user_rw.save()
        group_admin.save()

        user_ro.save()
        group_user.save()

        return True
Example #11
0
 def test_group_maps(self):
     gp = GroupProfile()
     self.assertEqual(get_group_maps(gp).count(), 0)