예제 #1
0
파일: tests.py 프로젝트: BGforgeNet/weblate
    def test_project_specific(self):
        """Project specificity test.

        Project-level actions should only be affected by Group ACLs that
        are specific to the project, and don't have other criteria.
        E.g., if a GroupACL lists project+language, this should not give
        you project-level permissions.
        """
        permission = Permission.objects.get(codename='author_translation',
                                            content_type__app_label='trans')
        self.group.permissions.add(permission)

        acl_project_lang = GroupACL.objects.create(language=self.language,
                                                   project=self.project)
        acl_project_lang.groups.add(self.group)

        self.assertFalse(
            has_group_perm(self.privileged,
                           'trans.author_translation',
                           project=self.project))

        acl_project_only = GroupACL.objects.get(
            language=None,
            project=self.project,
        )
        acl_project_only.groups.add(self.group)
        self.clear_permission_cache()

        self.assertTrue(
            has_group_perm(self.privileged,
                           'trans.author_translation',
                           project=self.project))
예제 #2
0
파일: tests.py 프로젝트: saily/weblate
    def test_project_specific(self):
        """Project specificity test.

        Project-level actions should only be affected by Group ACLs that
        are specific to the project, and don't have other criteria.
        E.g., if a GroupACL lists project+language, this should not give
        you project-level permissions.
        """
        permission = Permission.objects.get(
            codename='author_translation', content_type__app_label='trans'
        )
        self.group.permissions.add(permission)

        acl_project_lang = GroupACL.objects.create(
            language=self.language,
            project=self.project
        )
        acl_project_lang.groups.add(self.group)

        self.assertFalse(has_group_perm(
            self.privileged, 'trans.author_translation', project=self.project
        ))

        acl_project_only = GroupACL.objects.get(
            language=None,
            project=self.project,
        )
        acl_project_only.groups.add(self.group)
        self.clear_permission_cache()

        self.assertTrue(has_group_perm(
            self.privileged, 'trans.author_translation', project=self.project
        ))
예제 #3
0
파일: tests.py 프로젝트: BGforgeNet/weblate
 def test_check_user(self):
     self.assertFalse(
         has_group_perm(self.user,
                        'trans.author_translation',
                        project=self.project))
예제 #4
0
파일: tests.py 프로젝트: BGforgeNet/weblate
 def test_check_owner(self):
     self.assertTrue(
         has_group_perm(self.owner,
                        'trans.author_translation',
                        project=self.project))
예제 #5
0
파일: tests.py 프로젝트: BGforgeNet/weblate
 def test_owner_no_perm(self):
     self.assertFalse(
         has_group_perm(self.owner,
                        'trans.delete_project',
                        project=self.project))
예제 #6
0
파일: tests.py 프로젝트: saily/weblate
 def test_check_user(self):
     self.assertFalse(
         has_group_perm(
             self.user, 'trans.author_translation', project=self.project
         )
     )
예제 #7
0
파일: tests.py 프로젝트: saily/weblate
 def test_check_owner(self):
     self.assertTrue(
         has_group_perm(
             self.owner, 'trans.author_translation', project=self.project
         )
     )
예제 #8
0
파일: tests.py 프로젝트: saily/weblate
 def test_owner_no_perm(self):
     self.assertFalse(
         has_group_perm(
             self.owner, 'trans.delete_project', project=self.project
         )
     )