Exemple #1
0
    def test_add_and(self):
        @predicates.predicate_context_only
        def allow_all(project_id=None):
            return project_id == 8

        self.permissions.add("books.edit", predicates.has_roles(["manager"]))
        pd = predicates.has_roles(["manager"])
        self.permissions.add_and("books.edit", allow_all)
        self.assertTrue(self.permissions.has("books.edit", self.superuser))
        self.assertFalse(self.permissions.has("books.edit", self.manager))
        self.assertFalse(self.permissions.has("books.edit", self.staff))
        self.assertTrue(
            self.permissions.has("books.edit", self.manager, project_id=8))
        self.assertFalse(
            self.permissions.has("books.edit", self.staff, project_id=8))
Exemple #2
0
 def test_has_roles(self):
     self.permissions.add(
         "books.edit",
         predicates.has_roles(["manager", "developer", "other", "r"]))
     self.assertTrue(self.permissions.has("books.edit", self.superuser))
     self.assertTrue(self.permissions.has("books.edit", self.manager))
     self.assertFalse(self.permissions.has("books.edit", self.staff))
Exemple #3
0
 def test_adding_multiple(self):
     user = User()
     user_two = User()
     book = Book(user)
     self.permissions.add("books.edit", predicates.has_roles(["manager"]))
     self.permissions.add("books.edit", is_author)
     self.assertTrue(
         self.permissions.has("books.edit", self.superuser, book))
     self.assertTrue(self.permissions.has("books.edit", self.manager, book))
     self.assertFalse(self.permissions.has("books.edit", self.staff))
     self.assertTrue(self.permissions.has("books.edit", user, book))
     self.assertFalse(self.permissions.has("books.edit", user_two, book))
     self.assertFalse(self.permissions.has("books.edit", user))
Exemple #4
0
    def test_with_kwargs(self):
        user = User()
        user_two = User()
        book = Book(user)

        @predicates.predicate_context_only
        def allow_all(project_id=None):
            return project_id == 8

        self.permissions.add("books.edit", predicates.has_roles(["manager"]))
        self.permissions.add("books.edit", is_author)
        self.permissions.add("books.edit", allow_all)
        self.assertTrue(
            self.permissions.has("books.edit", self.superuser, book))
        self.assertTrue(self.permissions.has("books.edit", self.manager, book))
        self.assertFalse(self.permissions.has("books.edit", self.staff))
        self.assertTrue(self.permissions.has("books.edit", user, book))
        self.assertFalse(self.permissions.has("books.edit", user_two, book))
        self.assertFalse(self.permissions.has("books.edit", user))
        self.assertTrue(self.permissions.has("books.edit", user, project_id=8))
        self.assertTrue(
            self.permissions.has("books.edit", user_two, book, project_id=8))